2022-12-16 09:09:56
Re①:なでしこさんで関数の引数に初期値を設定する方法
これよ、これこれ! したいですよねー!!! 結論から言うと、出来ないです😭 まず、やりたいことの例のように、引数が一つの場合は、ご想像の通り自動的に「それ」が補完されてしまいます。 引数が二つ以上ある場合ですが、第二引数以降の引数が一つだけ省略された場合に、空ということになって動作します。 それで、これは想定外の抜け道的なことで推奨はマッタクされないのですが、ワタシがよくやっているのは、必ず必要となる引数を第一引数に置いて #-------- それで表示テスト ●(AでSを)表示テストとは もし、S=空ならば、S=「テスト」 Sを表示。 ここまで。 #-------- みたいな?w(例がてきとー過ぎますがSが省略出来ていることが分かると思います) 引数を二つ以上省略するとエラーなるので、第一引数のそれの補完と同時に省略することは出来ないし、第二引数と第三引数を同時に省略することも出来ません。 あと、過去に一度、引数が不足の時にエラーを出すよう修正(!)されて全滅したのでほんとオススメはしないです~。 その時issueでぼやきたおしたら(issueはぼやく場所ではナイ;)引数省略指定の導入に前向きな発言が得られたのですが、いっこうに実装される気配はないのでおそらくそう簡単なアレではないのかも😢 その代わりというかなんというか、その後エラーは再び出なくなり、前述のような形で動作するようになったので、いちおう引数省略指定が導入出来るまではこの状態が維持して頂けるものと信じて、またコッソリ使っているワタクシです。 タイトル通りです。
なでしこ1では({=1}Aで)とかってすると引数Aが省略された場合A=1になるはずですが、なでしこさんだとこういうことってできますか? 引数が1個のとき、省略すると「それ」が引数に代入されるらしいので、そういうことってできないのかなぁ・・・? 【やりたいことの例】 ●(Sを)表示テストとは Sを表示。 //もし引数が省略されてたら、S=「テスト」と表示されるように引数の初期値を設定する方法が知りたい。 ここまで。 |