>100 Views
July 23, 25
スライド概要
Notes Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第47回は @For、@While、@DoWhile について
@ -notes knows community- 2023/07/13 @関数Talk 第47回 公開版 @ Talks around @Functions in Notes and Domino ✔ @For ✔ @While 47th ✔ @DoWhile What? 阿部 覚 (tw:) @abesat
@ ひきつづき… @
@ @For@ で放談
@ 前回お話したように この関数で案内されている標準的な使い方は 引数ごとにこんな指定をするものでした 1つ目 初期値 initialize 2つ目 実行条件 condition 3つ目 変数変える ふつうは増やす increment @For(n := 1; n <= 10 ; n := n + 1; や り た い こ と ; W h a t you w a n t t o d o ); @ 4つ目以降に 繰り返し実行したいこと statements
@そして純粋に機能ベースで見た場合は こういうことらしい、と見ています ● 常に👇この順序で動作する 1番目の引数 2番目の引数 4番目以降の引数 3番目の引数 2番目の引数 4番目以降の引数 3番目の引数 2番目の引数 4番目以降の引数 3番目の引数 : @For( initialize ; condition ; increment ; @ statement ; ... ) ● 2番目の引数(条件/condition)がFalseになったら動作終了
だったら、標準的でない使い方の例 って作れないかな? @ 無い知恵しぼって💦とりあえずこんな式はどうでしょう 右の実行順序を踏まえて どんな値になるか ご考察ください♥ @
こたえ: @ @ stringの値に関わらず、間に"♥"を挟んでくり返し、 20文字を超えたら終了です
@ この式って、最初に string をセットした後は @ "♥" + string を繰り返し加えているだけですね だったら、まとめてよくない?
すなわち、こう👇です @ 3つ目の引数にまとめちゃいましたが、 これで同じ結果になります @ ということは、ヘルプには書いてないようだけど @For は4つ目以降の引数、省略可能 なようです!
もうひとつ、標準パターンでない、こんな例を @ こちらの @For も4番目以降の引数は略しちゃいました …どころか、まともに使ってるのは2番目(condition)だけです @ ボタンの式ですが、 実業務のアプリではあまりマネしないでくださいね
このボタンをクリックすると @ こんなプロンプトが現れ @ 「はい」を選択しないと、くり返し現れつづけます♪
@ と、ここでほかのループ型関数の話も したいと思います @
@ @While @ で放談
@ @While ヘルプによれば 「条件が True の間、ステートメントを繰り返し実行しま す。ステートメントを実行する前に条件を調べます。」 @
@この関数も同様に骨組み化してみると こうかな ● 常に👇この順序で動作する 1番目の引数 2番目以降の引数 1番目の引数 2番目以降の引数 1番目の引数 2番目以降の引数 : @While( condition ; statement ; ... ) ● 1番目の引数(条件/condition)がFalseになったら動作終了 1回も動かないこともありうる @
@ @DoWhile @ で放談
@ @Dowhile ヘルプによれば 「条件が True の間、ステートメントを繰り返し実行しま す。ステートメントを実行した後で条件を調べます。」 @
@やはり同様に骨組み化してみると ● 常に👇この順序で動作する 最後を除く各引数 最後の引数 最後を除く各引数 最後の引数 最後を除く各引数 最後の引数 : @DoWhile( statement ; ... ; condition ) ● 最後の引数(条件/condition)がFalseになったら動作終了 最低1回は動く @
も @DoWhile も、 @実のところ、@While 引数がただ順番に処理されて先頭に戻るだけで 条件OK なら 次の引数 先頭へ 条件OK なら 先頭へ 次の引数 むしろ引数順でない @For が例外的ですね~ @
@また、@While にも @DoWhile にも、 @ @For での 初期値/initialize や 増分/increment にあたる 引数はない…というより明確でなくて 関数の手前や statement 内 で自分で設定する感じです
@ 単純な例:@While編 戻り値、わかりますか? @
@ 単純な例:@While編 @
@ 単純な例:@DoWhile編 戻り値、わかりますか? @
@ 単純な例:@DoWhile編 ん、@While も @DoWhile も同じ戻り値? @
@ 今回はこのへんまで もうすこし、これら関数のお話を続けたいと思います @
@ 今回もお付き合い ありがとうございました 😀 @ What?