stuncloud / UWSCR

UWSC互換スクリプト実行ツール
MIT License
50 stars 5 forks source link

真偽判定:クリップボードやファイルから読み込み時、真偽値はevalで変換する事を推奨する。 #174

Open DIYJii opened 4 months ago

DIYJii commented 4 months ago

種別

要追記

対象ページ

スクリプト構文

報告内容

クリップボードやファイルには、真偽値は文字列"True"/"False"で書き出される為、 そのまま使うと、ユーザーの意図しない結果を生じます。 GETSTR(0)やFGET直後に、真偽値を表す変数は、evalで変換しておく事を強く推奨するのはどうでしょうか。 こうする事で、OPTION CONDUWSCを新たに開発する必要は無くなるような気もします。

p.s. マニュアルのあちこち、懇切丁寧な説明に書き換えてもらって、大分解かり易くなりました。 有難うございます。

stuncloud commented 4 months ago

@DIYJii

クリップボードやファイルには、真偽値は文字列"True"/"False"で書き出される為、

この点は文字列引数を伴う組み込み関数の問題であり、それについては別途ドキュメントのいずこかに記載するつもりではあるのですが、該当する関数が点在しているためどのように記すべきかを検討中であります

条件式における文字列"0"については仕様の差異から生じる明らかな問題であるので真偽判定の欄にに記述しましたが、"True"や"False"に関してはそれとは状況が異なるため真偽判定における注意としての記載はせず、前述の文字列引数についての記述に何かしらの注意書きを併記することとします

それと、eval関数に関してはその性質上副作用が強く、利用者が十分に離開した上で使うことが推奨されるためおいそれと利用を推奨するわけにもいかないんですよね…ので、evalを推奨するような記述にはならないことはご了承ください

DIYJii commented 4 months ago

もう少し軽い考えで提案したのですが、開発レベルからすると、なかなか奥の深い問題なのですね。 私の言いたかった趣旨は、理解して貰えたので、後はお任せします。 それから、私のごり押し提案のOPTION CONDUWSCの事が気になっていたので、書きました。 オープン製品の世界に頭を切り替えた為、しばらくの間、前と言うが変わって行きますが、ご理解の程を。

stuncloud commented 4 months ago

@DIYJii CONDUWSCはなかなか良い感じに実装できたので、次回リリースでお試しください CONDUWSCにおいてはUWSCと異なる動きが例外なくバグとなるので、もしそのようなケースが見つかった場合はご報告ください (ただし、エラーメッセージに関してはその限りではありません)

DIYJii commented 4 months ago

了解です。有難うございました。

stuncloud commented 4 months ago

https://stuncloud.github.io/UWSCR/builtins/about_parameters.html

ひとまず引数型に関するページを新設しました ここへの導線がうまく張れないのですが検討課題とします

DIYJii commented 4 months ago

ご苦労様でした。中々、UWSCユーザー想いの感じが出ていて良いですね。

導線の件, Fput, Fget, SendStr, GetStr 等の個別関数が良いのですかね?

ついでに、マニュアル全体で、UWSCとの違いや注意点などの記述部分に、例えば「#UWSC」等の ハッシュタグを付けておいて、検索でその部分のみが抽出できるようにすれば、 UWSCからの移行者は、先ずはそこを読む事で、事前に問題回避が出来るようになり、 助かると思うのですが。