---
title: 201901 のの会@関数Talk 9th | Talks around @Functions in Notes and Domino
tags:  #lotus notes #notes domino #domino designer #formula language #@thisname #dominoforever #ずっとノーツ #@right #@rightback #@left #@leftback #notes #domino #のの会 #notesknows #@関数 #ローコード #low-code  
author: [あう゛](https://www.docswell.com/user/abesat)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/KJ424Z81E1.jpg?width=480
description: Notes/Dominoの@関数を取り上げながら、調べたこと、経験したことを雑談してゆきます。  第9回は @Right、@RightBack、@Left、@LeftBack、そして@ThisName について。  また、こちらに「のの会」で発表した後の補足を書いておりますので、あわせてご参照ください。 https://blogs.yahoo.co.jp/jftfw228/15334834.html
published: February 07, 19
canonical: https://www.docswell.com/s/abesat/ZDE2YV-201901-function-talk-9th
---
# Page. 1

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

-notes knows community- 2019/02/06
@関数Talk
第9回
公開版
ネオアクシス株式会社
阿部覚
(tw:) ＠ａｂｅｓａｔ


# Page. 2

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

今回は
いつかやろうと思っていて
でもなんとなくキープしてきたネタ
この４つの関数って、
どれを使うか
こんがらがったり…しませんか？


# Page. 3

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

@Right
@Left
@RightBack
@LeftBackの
雑談


# Page. 4

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

右と左の違いくらいは区別がついても
@Right
@Left
@RightBack
@LeftBack
4つの正確な使い分けかた、わかりますか?


# Page. 5

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

まずはヘルプのリファレンスを見ましょう
IBMさんのヘルプ
書かれぶりに、少々統一感がないような…


# Page. 6

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

個々のヘルプの記載にも
ややばらつきがありますが
IBMさんのヘルプ
２種類の構文があるのはいずれも同じです


# Page. 7

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

わかりやすく書くと
@Right(&quot;Notes_Knows&quot;; 5)
2つ目の引数が数値になるタイプと
@Right(&quot;Notes_Knows&quot;; &quot;_&quot;)
2つ目の引数が文字列になるタイプ
※上記例の戻り値はいずれも&quot;Knows&quot;


# Page. 8

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

以降、このスライドでは
@Right(&quot;Notes_Knows&quot;; 5)
こちらを「数値タイプ」
@Right(&quot;Notes_Knows&quot;; &quot;_&quot;)
こちらを「文字タイプ」と
呼ぶことにします


# Page. 9

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

数値タイプから確認しましょう
こんなフォームを用意しました
同じ引数で各@関数を実行します
1つ目の引数
2つ目の引数
左の見出しの式を持つ計算結果フィールド


# Page. 10

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

カウントダウン形式で行きたいと思います！
1つ目の引数はこの11文字
2つ目の引数を
11から
減らしてゆきます
都度、更新ボタンを押してるとお考え下さい


# Page. 11

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

スタート！


# Page. 12

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

10


# Page. 13

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

9


# Page. 14

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

8


# Page. 15

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

7


# Page. 16

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

6


# Page. 17

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

5


# Page. 18

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

4


# Page. 19

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

3


# Page. 20

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

2


# Page. 21

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

1


# Page. 22

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

でもって、0！
でもって


# Page. 23

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

ついでに、-1！


# Page. 24

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

数値タイプをまとめると
こんなとらえ方になるでしょうか
@Right
AAAAABBBBB
@RightBack
AAAAABBBBB
@Left
AAAAABBBBB
@LeftBack
AAAAABBBBB


# Page. 25

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

マイナス指定は、ヘルプに載っており
@Left、@LeftBackのヘルプに
「負の数値を指定すると、
文字列全体が返されます。」とあります
…ん？
ヘルプ、間違ってますよ！


# Page. 26

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

今度は文字タイプです
やはりこんなフォームを用意しました
1つ目の引数
2つ目の引数
左の見出しの式を持つ計算結果フィールド


# Page. 27

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

サンプルに使うメインの文字列は、
やはりこれ
こちらでは、2つ目の引数を
「o」にしています


# Page. 28

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

やってみると…


# Page. 29

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

文字タイプをまとめると
こんなとらえ方になりそうです
@Right
aaaaaXaaaaa
@RightBack
aaaaaXaaaaa
@Left
aaaaaXaaaaa
@LeftBack
aaaaaXaaaaa


# Page. 30

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

両タイプを並べてみます
このとらえ方だと@Right、@RightBackは
タイプにより探索方向が逆…
数値タイプ
文字タイプ
@Right
AAAAABBBBB
aaaaaXaaaaa
@RightBack
AAAAABBBBB
aaaaaXaaaaa
@Left
AAAAABBBBB
aaaaaXaaaaa
@LeftBack
AAAAABBBBB
aaaaaXaaaaa


# Page. 31

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

文字タイプに関して補足をひとつ
目的としている文字が1つ目の引数にないとき
各関数は値を返さない、
ヌルになってしまいます


# Page. 32

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

その対策として
tmp := @Right(Target; &quot;X&quot;);
@If(tmp=&quot;&quot;; Target; tmp)
こんな式を書いている方がいたら
@Right(Target+&quot;X&quot;; &quot;X&quot;);
こんな風に簡略化できます
プログラミングの世界で
「番兵」と呼んでいる方法になると思います


# Page. 33

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

@ThisNameの
補足


# Page. 34

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

前回、
@ThisValueといっしょに取り上げたけど
IBMさんのヘルプ
実例は挙げずに…


# Page. 35

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

こんなこと書いておしまいにしていました
もうひとつ、
@ThisName のほうは
いまいち利用しづらい
というのもありますが
これはまた機会があれば
会場では異論もあったので、
なんとなく補足しますと


# Page. 36

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

ヘルプにはこんなことが書かれており
IBMさんのヘルプ
私が知っていたのはこういう使い方


# Page. 37

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

ただフィールド名を取り出すだけのために
わざわざ@ThisNameとほかの関数を
組み合わせるのって大げさでない？
というのが、
私の感じていた使いづらさです
あきらめて
フィールド名を直接書いちゃった方が
式、短くて済むし
後から見る人がわかりやすいよね？
Quantity_1 * Cost_1


# Page. 38

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

と…私の話は、いったんここで
区切りたいと思います！
今回もありがとうございました！


