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

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

@
-notes knows community- 2023/08/10
@関数Talk
第48回
公開版
@
Talks around @Functions in Notes and Domino
✔ @For ✔ @While
✔ @DoWhile
阿部 覚
48th
✔ @Do
(tw:) @abesat


# Page. 2

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

🍥
🍭
@
今回も
まずは
ぐるぐるします
@💈
やってるこっちもけっこうぐるぐるしちゃってますがとりあえずおつきあいください


# Page. 3

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

@
@For
@While
@DoWhile
@
で引き続き放談


# Page. 4

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

@まずはおさらい、
@Forはこんな順序での処理を実施
@While と @DoWhile は こんな順序でした
@
いずれもCondition（条件）がTrueでなくなると、
式を終了します


# Page. 5

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

前回は、@While と @DoWhile の例を挙げて
@
結果
@Whileの式
結果
@
@DoWhileの式
ん、@While も @DoWhile も同じ戻り値？
というところで終わりました


# Page. 6

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

@
状況によって、同じように使うこともできますが
結果
@Whileの式
結果
@
@DoWhileの式


# Page. 7

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

明確な違いは、＠While は 条件が×ならそれでおしまい
@
結果
@Whileの式
結果
@
@DoWhileの式
@DoWhile は条件に関わらず
最低1回はステートメントが実行されるという点のようです


# Page. 8

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

@
ということで、
＠DoWhile の
Doとは
@


# Page. 9

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

@
１回くらいは
の、Do だよ
@
と、おぼえておきましょう
※NISSANさんや某事務所さんの許諾は得ていませんので
公開版では絵を外しまーす


# Page. 10

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

@ところで、次に着目したいのは、この部分です
@For
@While
@DoWhile
@
ここって 、任意の数のステートメントを
記述できるわけですが、
それってあの関数に似ていない？と思いまして


# Page. 11

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

@
@Do
@
で放談


# Page. 12

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

@
@Do
骨組み化するとこんな感じ
@Do( statement ; ...
イメージとしては、
@
・ただ、引数内の式を順番に実施してくれる関数
)


# Page. 13

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

たとえば…
@
いやいや、それであれば @Do を使わなくても
コレだけで済むわけで
通常は ほかの@関数式の中など
ひとつのステートメントしか書けない箇所に使います
@


# Page. 14

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

@@For、@While、＠DoWhile は @Do の変形って言えない？
@For
@While
@DoWhile
@Do
@


# Page. 15

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

@1回しか回さない、こんな式なら @Do と同じじゃない？
やり;
たい;
こと
@
いえ、 @Do でしかできないことがありました


# Page. 16

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

@
@Do
ヘルプによれば
「表現式を左から右へ評価し、
リスト内の最後の表現式の値を返します。」
@


# Page. 17

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

@もっとわかりやすく申しますと、戻り値に違いがあります
ヘルプの記載によれば
@For、@While、@DoWhile の 戻り値（いずれも同じ記述です）
「実行中にエラーが発生しなければ True (1) が返されま
す。条件式の値が数値以外のときは、「予期しないデータ
型」エラーが発生します。」
@Do の 戻り値
@
「最後の表現式の値が返されます。」


# Page. 18

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

@
つまり @Do では、
最後の引数の結果を戻り値とすることができます
（少々出鱈目なサンプルですが💦）
もしこの式が計算結果フィールドのValue式だった場合には
a-d の結果がフィールド値になるわけです
@


# Page. 19

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

@そんな @Do は、
@For、@While、@DoWhile の中でも
使うことができるわけで
とくに @For では、
こんな使い方ができちゃうのではないかというお話を…
@For では、
処理の順序と引数の順序が
一緒でないところが
ちょっとわかりづいんですが
前回、stetement 部分を略しても
動くことがわかったので
@


# Page. 20

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

@
stetement 部分にあたる処理を、
@Do を使って condition（条件）部分に書いてしまいます
@Do は 最後の引数の結果が戻り値になりますので
本来の条件 i &lt;= 2 の結果が ちゃんと機能するわけです
@


# Page. 21

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

@
結果は異なってきますが
stetement 部分にあたる処理を、
@Do を使って increment（増分）部分に書いても動作します
@
ほかの工夫例として i, j 2つの変数を
initialize（初期値）と increment（増分）で記述し
2つの条件が満たされないと
ループが完了しないようにすることも可能かと


# Page. 22

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

@おまけ
おまけ
前回 @For で紹介した
「はい」を選択しないと終わらない、いじわるプロンプト
@While や @DoWhile でも行えました♥
ヘルプによれば
引数はひとつだけ
つまり@While や @DoWhile でも
statements が省略可能でした♪
@


# Page. 23

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

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


