kujirahand / nadesiko3

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

戻り値のないユーザー関数を定義できるようにする #1702

Closed kujirahand closed 1 month ago

kujirahand commented 1 month ago

関数呼び出しで戻り値をつけないと「undefined」の警告が毎回表示されてしまう #1676 に対して、#1698 で実装しましたが、プログラム冒頭に「!厳しくチェック」と記述すると、戻り値がundefinedと警告が表示されます。

これだと、戻り値を持たない関数では、「空で戻る」と書かないといけなくなってしまいますので、抜本的な解決ではないのですが、将来的に戻り値型を指定できる仕様など考えてみようと思います。

現状の解決作:

関数定義の冒頭で「それは空」と、戻り値が空(無し)であることを明示する。

!厳しくチェック
関数 (誰に)挨拶するとは
  それは空
  もし、誰=「友人」ならば
    「おはよう」と表示
    戻る
  ここまで
  「おはようございます」と表示。
ここまで。

将来的な解決作:

より自然な日本語に見えるように下記のような宣言ができるようにする。

!厳しくチェック
関数 (誰に)挨拶するとは
  それは戻り値無し
  もし、誰=「友人」ならば
    「おはよう」と表示
    戻る
  ここまで
  「おはようございます」と表示。
ここまで。

とりあえず「戻り値無し」「戻り値ナシ」を変数定義すれば解決かな? 将来的には、関数定義で二行目までチェックすれば、良い?

kujirahand commented 1 month ago

マニュアルにこれを書く事が重要✨

kujirahand commented 1 month ago

マニュアルにも記載済みです。 https://nadesi.com/v3/doc/index.php?%E6%96%87%E6%B3%95%2F%E9%96%A2%E6%95%B0&show#hb5f78874