kujirahand / nadesiko3

Japanese Programming Language Nadesiko v3 (JavaScript/TypeScript)
https://nadesi.com/
MIT License
234 stars 19 forks source link

関数呼び出しで戻り値をつけないと「undefined」の警告が毎回表示されてしまう #1676

Open kujirahand opened 3 months ago

kujirahand commented 3 months ago

関数呼び出しで戻り値をつけないと「undefined」の警告が毎回表示されてします。 解決作として、ユーザー関数では戻り値が必要な旨を明示しない限り、undefinedチェックを入れないようにしたいと思います。 #1698 と関連します。

! 厳しくチェック
● (Aと) 挨拶とは
  # 定義
ここまで。
snowdrops89 commented 1 month ago

「戻る」を使うと「ユーザ関数からundefinedが返されています」というエラーになって、明示的に空を戻すようにしなければならなくなってしまっているのはこれが原因ですか?

「おはよう」と挨拶する。

●(Aと)挨拶とは
    もし、Aが「おはよう」ならば、
        A&「ございます」を表示。
        戻る。
        #空を戻す。//にすればOK。
    ここまで。
    Aを表示。
ここまで。
kujirahand commented 1 month ago

@snowdrops89 サンプルの作成ありがとうございます!できるだけ早く直したいと思います。

kujirahand commented 1 month ago

続きは、#1698 で対処します。

kujirahand commented 1 month ago

v3.6.11で修正しました。

なお、#1698 で実装しましたが、プログラム冒頭に「!厳しくチェック」と記述すると、戻り値がundefinedと警告が表示されます。これだと、戻り値を持たない関数では、「空で戻る」と書かないといけなくなってしまいますので、抜本的な解決ではないのですが、将来的に戻り値型を指定できる仕様など考えてみようと思います。