---
title: 202307 のの会@関数Talk 47th | Talks around @Functions in Notes and Domino
tags:  #domino #notes #dominoforever #lotus notes #のの会 #ずっとノーツ #@for #@while #@dowhile  
author: [あう゛](https://www.docswell.com/user/abesat)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/4EQ6QYN2EP.jpg?width=480
description: Notes Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。  第47回は @For、@While、@DoWhile について
published: July 23, 25
canonical: https://www.docswell.com/s/abesat/5MVGQG-202307-function-talk-47th
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/4EQ6QYN2EP.jpg)

@
-notes knows community- 2023/07/13
@関数Talk
第47回
公開版
@
Talks around @Functions in Notes and Domino
✔ @For ✔ @While
47th
✔ @DoWhile
What?
阿部 覚
(tw:) @abesat


# Page. 2

![Page Image](https://bcdn.docswell.com/page/KJ44NWGPJ1.jpg)

@
ひきつづき…
@


# Page. 3

![Page Image](https://bcdn.docswell.com/page/LE145YDXEG.jpg)

@
@For@
で放談


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GEWX5GYK72.jpg)

@
前回お話したように
この関数で案内されている標準的な使い方は
引数ごとにこんな指定をするものでした
1つ目
初期値
initialize
2つ目
実行条件
condition
3つ目
変数変える
ふつうは増やす
increment
@For(n := 1; n &lt;= 10 ; n := n + 1;
や り た い こ と ; W h a t you w a n t t o d o );
@
4つ目以降に 繰り返し実行したいこと
statements


# Page. 5

![Page Image](https://bcdn.docswell.com/page/47Z6NLXN73.jpg)

@そして純粋に機能ベースで見た場合は
こういうことらしい、と見ています
● 常に👇この順序で動作する
1番目の引数
2番目の引数
4番目以降の引数
3番目の引数
2番目の引数
4番目以降の引数
3番目の引数
2番目の引数
4番目以降の引数
3番目の引数
：
@For( initialize ;
condition ; increment ;
@
statement ; ...
)
● 2番目の引数(条件/condition)がFalseになったら動作終了


# Page. 6

![Page Image](https://bcdn.docswell.com/page/YJ628W497V.jpg)

だったら、標準的でない使い方の例 って作れないかな？
@
無い知恵しぼって💦とりあえずこんな式はどうでしょう
右の実行順序を踏まえて
どんな値になるか
ご考察ください♥
@


# Page. 7

![Page Image](https://bcdn.docswell.com/page/GJ529MQDJ4.jpg)

こたえ：
@
@
stringの値に関わらず、間に&quot;♥&quot;を挟んでくり返し、
20文字を超えたら終了です


# Page. 8

![Page Image](https://bcdn.docswell.com/page/LE3KYWZQE5.jpg)

@
この式って、最初に string をセットした後は
@
&quot;♥&quot; + string を繰り返し加えているだけですね
だったら、まとめてよくない？


# Page. 9

![Page Image](https://bcdn.docswell.com/page/8ED35KRW7G.jpg)

すなわち、こう👇です
@
3つ目の引数にまとめちゃいましたが、
これで同じ結果になります
@
ということは、ヘルプには書いてないようだけど
@For は4つ目以降の引数、省略可能 なようです！


# Page. 10

![Page Image](https://bcdn.docswell.com/page/V7P4GKWXE8.jpg)

もうひとつ、標準パターンでない、こんな例を
@
こちらの @For も4番目以降の引数は略しちゃいました
…どころか、まともに使ってるのは2番目(condition)だけです
@
ボタンの式ですが、
実業務のアプリではあまりマネしないでくださいね


# Page. 11

![Page Image](https://bcdn.docswell.com/page/2JVX6V837Q.jpg)

このボタンをクリックすると
@
こんなプロンプトが現れ
@
「はい」を選択しないと、くり返し現れつづけます♪


# Page. 12

![Page Image](https://bcdn.docswell.com/page/5EGVNL5YEL.jpg)

@
と、ここでほかのループ型関数の話も
したいと思います
@


# Page. 13

![Page Image](https://bcdn.docswell.com/page/4JQ6QYZ6JP.jpg)

@
@While
@
で放談


# Page. 14

![Page Image](https://bcdn.docswell.com/page/K744NW3M71.jpg)

@
@While
ヘルプによれば
「条件が True の間、ステートメントを繰り返し実行しま
す。ステートメントを実行する前に条件を調べます。」
@


# Page. 15

![Page Image](https://bcdn.docswell.com/page/LJ145Y1YJG.jpg)

@この関数も同様に骨組み化してみると
こうかな
● 常に👇この順序で動作する
1番目の引数
2番目以降の引数
1番目の引数
2番目以降の引数
1番目の引数
2番目以降の引数
：
@While( condition ;
statement ; ...
)
● 1番目の引数(条件/condition)がFalseになったら動作終了
1回も動かないこともありうる
@


# Page. 16

![Page Image](https://bcdn.docswell.com/page/GJWX5G81E2.jpg)

@
@DoWhile
@
で放談


# Page. 17

![Page Image](https://bcdn.docswell.com/page/4EZ6NL8XE3.jpg)

@
@Dowhile
ヘルプによれば
「条件が True の間、ステートメントを繰り返し実行しま
す。ステートメントを実行した後で条件を調べます。」
@


# Page. 18

![Page Image](https://bcdn.docswell.com/page/Y7628WPPEV.jpg)

@やはり同様に骨組み化してみると
● 常に👇この順序で動作する
最後を除く各引数
最後の引数
最後を除く各引数
最後の引数
最後を除く各引数
最後の引数
：
@DoWhile( statement ; ...
;
condition )
● 最後の引数(条件/condition)がFalseになったら動作終了
最低1回は動く
@


# Page. 19

![Page Image](https://bcdn.docswell.com/page/G7529MKP74.jpg)

も @DoWhile も、
@実のところ、@While
引数がただ順番に処理されて先頭に戻るだけで
条件OK
なら
次の引数
先頭へ
条件OK
なら
先頭へ
次の引数
むしろ引数順でない @For が例外的ですね～
@


# Page. 20

![Page Image](https://bcdn.docswell.com/page/9J2429WZ7R.jpg)

@また、@While にも @DoWhile にも、
@
@For での 初期値/initialize や 増分/increment にあたる
引数はない…というより明確でなくて
関数の手前や statement 内 で自分で設定する感じです


# Page. 21

![Page Image](https://bcdn.docswell.com/page/DEYMY4LNEM.jpg)

@
単純な例：@While編
戻り値、わかりますか?
@


# Page. 22

![Page Image](https://bcdn.docswell.com/page/VJNWPY4VJ8.jpg)

@
単純な例：@While編
@


# Page. 23

![Page Image](https://bcdn.docswell.com/page/YE9X3PQV73.jpg)

@
単純な例：@DoWhile編
戻り値、わかりますか?
@


# Page. 24

![Page Image](https://bcdn.docswell.com/page/GE82MDG4ED.jpg)

@
単純な例：@DoWhile編
ん、@While も @DoWhile も同じ戻り値？
@


# Page. 25

![Page Image](https://bcdn.docswell.com/page/LEL23MGV7R.jpg)

@
今回はこのへんまで
もうすこし、これら関数のお話を続けたいと思います
@


# Page. 26

![Page Image](https://bcdn.docswell.com/page/4JM8DYQNJW.jpg)

@
今回もお付き合い
ありがとうございました 😀
@
What?


