投稿者:KNIGHT 投稿日:2024/02/14(Wed) 11:47:33 No.2924
お世話になります。
配列を定義するとき、文字列は必ず「」で囲まなくてはいけないのですか?
〜〜〜〜〜
二次配列は、{{「みかん」,50},{「りんご」,100}}
果物は、「りんご」
二次配列から果物を探して、結果とする
結果を報告する
二次配列(1)を報告する ・・・・※
二次配列は、{{みかん,50},{りんご,100}}
果物は、「りんご」
二次配列から果物を探して、結果とする
結果を報告する
二次配列(1)を報告する
〜〜〜〜〜
※ の報告では
{みかん,50}
と記述されています。ですので、後半では、そういう記述で二次配列を定義して、同じプログラムを実行していますが、結果が異なります。
「」で囲まない文字列は、定義されているようで、実質的には定義されていないということなのでしょうか?
ならば、※ の報告は
{「みかん」,50}
と記述されるべきなのではないでしょうか?
CSVファイルを変換した二次配列で「探す」がうまく機能しないのは、その辺に原因がありそうなので、どなたかアドバイスをお願いできませんでしょうか。
よろしくお願いいたします。
投稿者:KNIGHT 投稿日:2024/02/14(Wed) 22:52:08 No.2925
すみません、愚問でした。
変数を定義するときも、配列を定義するときも同じなんですね。
文字列として認識させるためには「」でくくる必要がありました。
ただ、これに気付くのに結構時間を要しました。
なぜなら、エラーが出ないからです。
例えば、
〜〜〜〜
果実酒類は、みかん
果実酒類を報告
〜〜〜
なんのエラーも出ない。でも、なぜ、「みかん」 が報告されないのか?
35年以上シロート・プログラミングをしていますが、こんな初歩的なことでつまづいてしまいます。
もしも、上記プログラムを実行した時に、エラーメッセージが出て、
「みかん」とは何ですか、もしも文字列なのであれば、「」でくくる必要があります。
と出れば、「あっ、そうなんだ。文字列を変数に覚えさせるためには括弧でくくくらないといけないんだ!」と学習するわけです。
プロデルを使っていて、エラーメッセージが意味不明なことが多いです。意味不明だから、対処の仕方が分からない。いろいろと試行錯誤してみても、相変わらず意味不明のエラーしか出ない。だから、もう使うのをやめようかな。って思ってしまいます。初心者が躓くようなところで、教育的なエラーメッセージが出るようになればいいのになあ、って思います。
ユーザーが努力するしかないのですかね〜。
投稿者:ゆうと <yutopia utopiat.net> 投稿日:2024/02/24(Sat) 01:49:18 No.2943
こんにちは。コメントありがとうございます。
> なんのエラーも出ない。でも、なぜ、「みかん」 が報告されないのか?
未定義語(未知語)の扱いについては、
1.9のリリース直後にエラーとするように仕様変更したのですが
ユーザのフィードバックなど1.7との互換性の観点で、元に戻した経緯があります。
https://produ.irelang.jp/bbs/qa/wforum-rdr.cgi?mode=read&no=2783&reno=2776&oya=2776
この時は1.7との互換性を優先しましたが、本仕様がとっつきにくさを引き起こしているのであれば、今後のバージョンで明確に仕様変更することを検討します。
> プロデルを使っていて、エラーメッセージが意味不明なことが多いです。
具体的にはどのようなメッセージでしょうか。何か顕著なメッセージや、表現があれば改善します。
> 意味不明だから、対処の仕方が分からない。いろいろと試行錯誤してみても、相変わらず意味不明のエラーしか出ない。だから、もう使うのをやめようかな。って思ってしまいます。初心者が躓くようなところで、教育的なエラーメッセージが出るようになればいいのになあ、って思います。
ごもっともなご意見でありますが、言うほど簡単ではないです。
一番の問題として、プロデル初心者の操作を、私が付き添って見ているわけではないので、
どのようなプログラムを書いて、どのようなエラーに遭遇しているかを知るすべがありません。
多くの場合、諦めてしまっているか、自己解決されているだと思いますが
フィードバックをもらうか、かなりの想像力を働かせないと、
なかなか、気の利いたエラーメッセージに直すことが難しいです。
まずはエラーメッセージに関しても優先して改善が必要そうだということは認識しましたので
検討します。
ぜひエラーメッセージに関しても、何が意味不明かなど具体的なフィードバックをお願いします。
投稿者:KNIGHT 投稿日:2024/02/24(Sat) 08:01:21 No.2945
ゆうとさま、お返事をありがとうございます。
> 未定義語(未知語)の扱いについては、
> 1.9のリリース直後にエラーとするように仕様変更したのですが
> ユーザのフィードバックなど1.7との互換性の観点で、元に戻した経緯があります。
> この時は1.7との互換性を優先しましたが、本仕様がとっつきにくさを引き起こしているのであれば、今後のバージョンで明確に仕様変更することを検討します。
よろしくお願いいたします。
> 具体的にはどのようなメッセージでしょうか。何か顕著なメッセージや、表現があれば改善します。
先に挙げた「HTMLからのタグ削除」の件でも、
〜〜〜〜
>文章は「<head>header</head><body>content</body>」
>文章は、正規表現で文章から「<[^>]+>」を「」へ置換したもの
〜〜〜〜
プロデルでは、「ここに演算子を書くことができません。」とエラーメッセージが出ます。このエラーメッセージからは、ヒアドキュメント形式に気付くことはできませんでした。せめて、「式展開を必要とする場所に演算子のみを書くことはできません。」とかであれば、気付けたかもしれません。
> ごもっともなご意見でありますが、言うほど簡単ではないです。
そうですよね。ユーザーは無理難題を言ってしまいます。すみません。
> 一番の問題として、プロデル初心者の操作を、私が付き添って見ているわけではないので・・・
> ぜひエラーメッセージに関しても、何が意味不明かなど具体的なフィードバックをお願いします。
遭遇するエラーをできるだけフィードバックさせていただこうと思います。
今後ともよろしくお願いいたします。
- WebForum -