「なでしこv3」開発掲示板

なでしこ3を改善するための掲示板
[一覧へ] > (@16) [高] [解決]
@16■ (#52) 助詞を間違ったときのエラーメッセージ - TKI (2021-11-06 12:14) /低 未処理
//--ここから
フォルダ一覧=["いろいろ"]
name="いろいろ"
フォルダ一覧でnameを配列検索
//--ここまで

[文法エラー]main.nako3(3行目): 未解決の単語があります: [単語『フォルダ一覧』]
[バージョン] 3.2.27


対応していない助詞を使ってうっかりエラーになることが多いのですが、
使える助詞の件ではなくて、エラーメッセージについてです。

エラーメッセージの
 「未解決の単語があります: [単語『フォルダ一覧』]」
の部分で、助詞『で』に言及してくれるとありがたいです。

正しい引数が
 (AのSを|Aから)配列検索
であることがエラーメッセージにでてくれるとプログラムを直しやすいです。
引数を省略しているのか不足しているのかという問題はあるかも。

~~
ちなみになでしこv1の場合

保存先フォルダ=「A」
保存先フォルダをフォルダ作成

エラー:単語の読取に失敗。関数『フォルダ作成』の引数『Sに』が不足しています。

これはとても分かりやすいです

(#53) 修正します - web@kujirahand.com (2021-11-10 14:32) /高 未処理
問題提起ありがとうございます!!
以下のIssuesで修正します。

https://github.com/kujirahand/nadesiko3/issues/1093

(#57) 思いを追記 - TKI (2021-11-10 18:54) /高 未処理
なんか大きな改修になりそうな話をされているのですが、求めているものとズレていきそうなので追記で。


「フォルダ一覧でnameを配列検索」
という行にエラーが出る場合で、
現在のエラーメッセージの問題点というのが
[文法エラー]main.nako3(3行目): 未解決の単語があります: [単語『フォルダ一覧』]
を見た時に
 単語…? 単語のなにを直そう?
という思考になることです。

[文法エラー]main.nako3(3行目): 未解決の単語があります: [単語『フォルダ一覧』助詞『で』]
のようにエラーメッセージに助詞を入れるだけで
 単語か助詞を直せばいいのかな…?
と考えるので格段に直しやすくなります。
ひとまずこれだけでも効果は高いです。

~~

エラーメッセージ内に(3行目)とあるので構文解析側でもエラー行はわかっているはず。
その行に含まれる命令と引数がでればいいと思います。

Issuesにあった例の場合
「abc123」の「abc」が「***」に置換して表示。

↓現在のエラーメッセージ
[文法エラー]main.nako3(1行目): 未解決の単語があります: [文字列『abc』]

↓命令と引数がでるエラーメッセージ(案)
[文法エラー]main.nako3(1行目): 未解決の単語があります: [文字列『abc』助詞『が』]
以下の命令が原因の可能性もあります
 ・(SのAをBに|SでAからBへ)置換
 ・(Sを|Sと)表示

見た人は
 文字列か助詞を直せばいいのかな……? おっと置換には助詞『が』は使えないじゃないかー
という感じ。

厳密なエラー内容を知りたいんじゃなくて、直し方のヒントが欲しい
たとえばヒントが5つでて4つは関係なくてもそのうち1つが解決できるならOK

(#59) 良い提案に感謝(v3.2.28で実装) - クジラ飛行机 (2021-11-11 14:52) /高 確認待ち
確かに、これは良いアイデアですね。
根本的な解決の必要はありますが、とりあえずヒントとして説明を表示することにしました!

(#60) ありがとうございます - TKI (2021-11-13 09:35) /高 感想
ありがとうございます!
試してみました

---------
「abc123」の「abc」が「***」に置換して表示。

[文法エラー]main.nako3(1行目): 未解決の単語があります: [文字列『abc』]
次の命令の可能性があります:
 - A(の|で)B(を|から)C(に|へ)置換
 - A(の|を|と)表示
}
---------

助詞『が』について入れてほしいのと、
最後の『}』と
『次の命令の可能性があります』の部分は気になります。
正しい命令と引数が出てくれるのはいい感じだと思いました。

(#74) 修正しました - クジラ飛行机 (2021-12-10 21:27) /高 解決
ご指摘に感謝です。
修正したので閉じますね。

(#52)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能