287 Views
November 17, 20
スライド概要
Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。
第24回は @IsUnavailable と @IsAvailable と @IsNull について。
@ -notes knows community- 2020/09/10 @関数Talk 第24回 公開版 @ 阿部 覚 (tw:) @abesat
@ まず、前回の復習を短めに: @DeleteField と @Unavailable @
@ 前回の復習 @DeleteField と @Unavailable 使い方は FIELD FieldA := @DeleteField FIELD FieldA := @Unavailable @ ヘルプにはないけど、 @SetField("FieldA"; @DeleteField ) @SetField("FieldA"; @Unavailable ) という使い方もどうやら可能
@ 前回の復習 @DeleteField と @Unavailable FIELDキーワードにせよ、@SetField関数にせよ、 基本的機能は 「フィールドに指定した値をセットする」 なのですけど 指定した値が @DeleteField・@Unavailable の場合は @ 「フィールドに"フィールドが消えた状態"を セットする」 要するに、そのフィールドを消します
@ 以上、復習でした 今回は、ヘルプにこんなことが書かれている関数から 「@Unavailable と混同しないようにしてください。 」 「@Unavailable を誤って使用すると、フィールドが削除されて しまい、重大な損傷を招くおそれがあります。 」 @
@ @IsUnavailable で放談 @
@IsUnavailable @ @Unavailable Is なので、端的に言えば 「フィールドが 消えた状態だよね?」 という関数ですね @
@IsUnavailable @ ヘルプの表現としてはこんな感じ ● ● フィールド名が文書にない場合は 1 (True) が返されます。 フィールド名が文書にある場合は 0 (False) が返されます。 @
@IsUnavailable @ なお、前回からの流れで気になったのですが、 @IsUnavailableと同じ機能を持つ、 @IsDeleteField ってあるの? @ …無いようです
@ というわけで、 同じ機能のもう一つの関数っていうのはありませんけど @
@ @IsAvailable で放談 @
@IsAvailable @ 端的に言えば 「フィールドが 存在する状態だよね?」 という関数ですね @
@IsAvailable @ ヘルプの表現としてはこんな感じ ● ● 1 (True) はフィールドが文書にあることを意味します。 0 (False) はフィールドが文書にないことを意味します。 つまり、 @IsUnAvailable の真逆の関数のようです @
@ いずれの関数も書式は同じで @
@IsAvailable と @IsUnavailable @ 対象となるフィールドを指定します @IsAvailable(FieldA) @IsUnavailable(FieldA) FieldAあるよね? FieldAないよね? フィールド名は引用符「"」で囲みませんので注意 ということは変数として使用できないので少々不便 @
@IsUnavailable と @Unavailable @ ところで、先にご紹介したヘルプの記述 注意 @IsUnavailable を @Unavailable と混同しないようにしてく ださい。@IsUnavailable ではなく @Unavailable を誤って使用する と、フィールドが削除されてしまい、重大な損傷を招くおそれがあり ます。 …それ、杞憂じゃないの? と、最近気づきました だって、構文が違うんだから FIELD FieldA := @Unavailable @IsUnavailable(FieldA) @
@IsUnavailable と @Unavailable @ @IsUnavailable FIELD FieldA := @Unavailable @Unavailable @IsUnavailable(FieldA) たとえ取り違えて使ったとしても @ 構文のせいでエラーになるだけ、のはずです 😬
@ フィールドとしての有無と比較する意味で この関数にも触れようと思います @
@ @IsNull で放談 @
@IsNull @ 端的に言えば 「ヌルだよね?」 という関数ですね Nullとは要するに値がない状態 なお、フィールドだけではなく 他の変数や定数にも使用できます @
@IsNull @ でも、それだったら別にこの関数、要らなくない? @IsNull(FieldC) ってやらなくても (FieldC = "") これでいいじゃん? @
@IsNull @ 実はヘルプにはこんなことも書かれています Null 値かどうかを調べます。1 つの文字列値で値が Null の場 合にのみ True を返し、そうでない場合は False を返します。 値がエラーのときも False を返します。 @
@IsNull @ たとえばある文書で、FieldCがこんなだったとして こちらのビュー 見出しと同じ列式が 設定されています @ @IsNullなら FieldCのエラーを 引きずらないわけです
@IsAvailable と @IsUnavailable と @IsNull @ こんなビューで補足のひとことふたこと… @
@IsAvailable と @IsUnavailable と @IsNull @ こんなビューで補足のひとことふたこと… @IsAvailable と @IsUnavailable やはり結果は常に逆 @
@IsAvailable と @IsUnavailable と @IsNull @ こんなビューで補足のひとことふたこと… 左上のボタンを実行した文書 @
@IsAvailable と @IsUnavailable と @IsNull @ こんなビューで補足のひとことふたこと… FieldAが""で存在 @
@IsAvailable と @IsUnavailable と @IsNull @ こんなビューで補足のひとことふたこと… @ Bodyはリッチテキスト 値があってもなくても 右上のボタンで消されていても 列式では表示されず
@ 今回もお付き合い ありがとうございました 😀 @