Skip to content

Instantly share code, notes, and snippets.

@lost-nd-xxx
Created January 13, 2026 09:03
Show Gist options
  • Select an option

  • Save lost-nd-xxx/629db0c325ae7cacacf63c2bb4382a4b to your computer and use it in GitHub Desktop.

Select an option

Save lost-nd-xxx/629db0c325ae7cacacf63c2bb4382a4b to your computer and use it in GitHub Desktop.
#ベースウェアの名前が一致するか&ベースウェアのバージョン番号が引数以上であるかを判定し、1か0を返す
#この辞書のライセンスはCC0とします
#https://creativecommons.org/publicdomain/zero/1.0/deed.ja
#報告不要・著作表記不要・改変再配布可です
#使い方例:
#(call,ベースウェア判定,SSP,2.7.0)
#引数1:判定したいベースウェアの名前
#引数2:判定したいベースウェアの番号
#名前が一致、かつ実行中ベースウェアの番号が引数以上なら1
#名前が不一致か、番号が引数未満または数値以外なら0
#番号は3個まで判定、4個め以降は判定しない
#番号の個数が足りていないなら、足りない箇所を0として判定
#使用した変数は削除される。名前被りに注意
*動作テスト
$要求名前 SSP
$要求番号 2.7.0
$テスト結果 (call,ベースウェア判定,(要求名前),(要求番号))
:\_q関数テストをします。
要求バージョンφ:(要求名前)/(要求番号)
実行中    φ:(ベースウェア情報.本体名)/(ベースウェア情報.番号)
比較結果は「(when,(テスト結果),OK,NG)」
#ここから下が本体 --------------------------------
*ベースウェア判定.変数削除
$ベースウェア判定.結果
$__tmp
$__t1_0
$__t1_1
$__t1_2
$__t2_0
$__t2_1
$__t2_2
$S0
$S1
$S2
#ここにある変数は動作後に削除される。名前被りに注意
*basewareversion
$ベースウェア情報.番号 (R0)
$ベースウェア情報.本体名 (R1)
@ベースウェア判定
(nop,(ベースウェア判定.部品))φ
(ベースウェア判定.結果)φ
(nop,(ベースウェア判定.変数削除))
*ベースウェア判定.部品
>ベースウェア判定.NG (vncall,equal,ベースウェア情報.本体名,A0)!=1
$S0 0
$S1 0
$S2 0
$__tmp (vncall,split,A1,ベースウェア判定.番号.区切り字)
>ベースウェア判定.NG (vncall,is_digit,S0)==0
>ベースウェア判定.NG (vncall,is_digit,S1)==0
>ベースウェア判定.NG (vncall,is_digit,S2)==0
$__t1_0 (when,(vncall,is_digit,S0)==1,(S0),0)
$__t1_1 (when,(vncall,is_digit,S1)==1,(S1),0)
$__t1_2 (when,(vncall,is_digit,S2)==1,(S2),0)
$S0 0
$S1 0
$S2 0
$__tmp (vncall,split,ベースウェア情報.番号,ベースウェア判定.番号.区切り字)
>ベースウェア判定.NG (vncall,is_digit,S0)==0
>ベースウェア判定.NG (vncall,is_digit,S1)==0
>ベースウェア判定.NG (vncall,is_digit,S2)==0
$__t2_0 (when,(vncall,is_digit,S0)==1,(S0),0)
$__t2_1 (when,(vncall,is_digit,S1)==1,(S1),0)
$__t2_2 (when,(vncall,is_digit,S2)==1,(S2),0)
>ベースウェア判定.NG (__t1_0)>(__t2_0)
>ベースウェア判定.NG (__t1_1)>(__t2_1)
>ベースウェア判定.NG (__t1_2)>(__t2_2)
$ベースウェア判定.結果 1
*ベースウェア判定.NG
$ベースウェア判定.結果 0
@ベースウェア判定.番号.区切り字
.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment