複雑になった条件式を短縮する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*複雑になった条件式を短縮する [#k863e355]
**countを使った例 [#cead83bf]
曜日などで分岐する条件を作ろうとすると、大抵以下のように...
>営業【タブ】(現在曜日)==月||(現在曜日)==火||(現在...
>タイムサービス【タブ】(現在時)==9||(現在時)==13...
-…条件が2~3個ならまだしも、数が増えるにつれて読みにくく...
-そこで、関数を活用して、単純な条件式を短縮してみましょう...
>営業【タブ】(count,月火木金,(現在曜日))
>タイムサービス【タブ】(count,x9x13x17x,x(現在時...
-[[count>外部関数/ssu#xa6f939f]]を使った例。
-「条件式は1以上なら真」なので、どれかがヒットすれば成立...
-タイムサービスは現在時が一桁のときに誤爆してしまうのを防...
~
**split/nswitchを使った例 [#b64f7c35]
-こちらはsplitやnswitchを使ったテクニック。
-あまり応用が利かないので使う機会は限られますが、覚えてお...
#例文
@季節
(
if,(現在月)>=3&&(現在月)<=5,春)(
if,(現在月)>=6&&(現在月)<=8,夏)(
if,(現在月)>=9&&(現在月)<=11,秋)(
if,(現在月)>=12||(現在月)<=2,冬)
-[[split>外部関数/ssu#k30d1e1d]]による短縮
--『時』『分』『秒』などの時間のように、0からスタートする...
--文字列の頭は分割文字にし、S1から定義していく。
--split関数は、動作する時に分割数を返すので、nopを使って...
@季節
(nop,(split,x冬x冬x春x春x春x夏x夏x夏x秋x秋x秋x冬,x))...
-[[nswitch>外部関数/ssu#m797af99]]による短縮
--季節や年月日のように1からスタートする値ならこれの方が短...
@季節
(nswitch,(現在月),冬,冬,春,春,春,夏,夏,夏,秋,秋,秋,冬)
-応用
--[数値]に予め+1することで、0からスタートする値でもnswitc...
@夜判定
(nswitch,(現在時)+1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0...
# (現在時)が19時~4時だった場合は1が、それ以外は0が返る
# [結果]の定義は 0時,1時,2時...と0からスタート
終了行:
*複雑になった条件式を短縮する [#k863e355]
**countを使った例 [#cead83bf]
曜日などで分岐する条件を作ろうとすると、大抵以下のように...
>営業【タブ】(現在曜日)==月||(現在曜日)==火||(現在...
>タイムサービス【タブ】(現在時)==9||(現在時)==13...
-…条件が2~3個ならまだしも、数が増えるにつれて読みにくく...
-そこで、関数を活用して、単純な条件式を短縮してみましょう...
>営業【タブ】(count,月火木金,(現在曜日))
>タイムサービス【タブ】(count,x9x13x17x,x(現在時...
-[[count>外部関数/ssu#xa6f939f]]を使った例。
-「条件式は1以上なら真」なので、どれかがヒットすれば成立...
-タイムサービスは現在時が一桁のときに誤爆してしまうのを防...
~
**split/nswitchを使った例 [#b64f7c35]
-こちらはsplitやnswitchを使ったテクニック。
-あまり応用が利かないので使う機会は限られますが、覚えてお...
#例文
@季節
(
if,(現在月)>=3&&(現在月)<=5,春)(
if,(現在月)>=6&&(現在月)<=8,夏)(
if,(現在月)>=9&&(現在月)<=11,秋)(
if,(現在月)>=12||(現在月)<=2,冬)
-[[split>外部関数/ssu#k30d1e1d]]による短縮
--『時』『分』『秒』などの時間のように、0からスタートする...
--文字列の頭は分割文字にし、S1から定義していく。
--split関数は、動作する時に分割数を返すので、nopを使って...
@季節
(nop,(split,x冬x冬x春x春x春x夏x夏x夏x秋x秋x秋x冬,x))...
-[[nswitch>外部関数/ssu#m797af99]]による短縮
--季節や年月日のように1からスタートする値ならこれの方が短...
@季節
(nswitch,(現在月),冬,冬,春,春,春,夏,夏,夏,秋,秋,秋,冬)
-応用
--[数値]に予め+1することで、0からスタートする値でもnswitc...
@夜判定
(nswitch,(現在時)+1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0...
# (現在時)が19時~4時だった場合は1が、それ以外は0が返る
# [結果]の定義は 0時,1時,2時...と0からスタート
ページ名: