匿名手順について

投稿者:onichan <contact あっとまーくonichan.cf> 投稿日:2022/05/22(Sun) 15:11:09 No.2185

いつもお世話になっております。

現象1:匿名手順の中で「。」を使って複数の文を1行で書いていると「内容」設定項目から「。」が消えるようです。

ーープログラム例
[『123を表示。123を表示』]の内容を表示

ーープログラム例終わり

状況:データベースへのアクセスを匿名手順で行えるようにしているのですが(たぶん原理としては配列のカスタムソートと大体同じ)、そのアクセスのログに匿名手順の内容を含めたい状況があり、発覚しました。

ーーーーーーーーーー

現象2:匿名手順は手順の一つだと認識していますが、「エラーを無視する」命令を匿名手順で実行すると匿名手順の外で起こったエラーも無視されるようになるようです。

ーープログラム例

エラーを無視
「エラー1」というエラーを発生させる


「エラー2」というエラーを発生させる ーー無視される

ーープログラム例終わり

状況:この書き方ができたら例外監視より少し短く書けると思ったので試してみたらできませんでした。

ーーーーーーーーーー

プロデルバージョン:1.7.1134
よろしくお願いいたします。

修正しました(1.7.1135)

投稿者:ゆうと 投稿日:2022/05/24(Tue) 04:21:53 No.2196

こんにちは

> 現象1:匿名手順の中で「。」を使って複数の文を1行で書いていると「内容」設定項目から「。」が消えるようです。

こちらは2191でご返答しました理由と同じで抽象構文木の仕様によるものです。
実装的な面や効率的な面で、簡単に修正できませんので、今後の改修で反映したいと思います。

> 状況:データベースへのアクセスを匿名手順で行えるようにしているのですが(たぶん原理としては配列のカスタムソートと大体同じ)、そのアクセスのログに匿名手順の内容を含めたい状況があり、発覚しました。

匿名手順は、扱いやすくで便利ではありますが、込み入った改良を加えにくいので
アクセス方法ごとに抽象種類を継承した種類を定義するといった方法もあるかと思います。
ご検討ください。

> 現象2:匿名手順は手順の一つだと認識していますが、「エラーを無視する」命令を匿名手順で実行すると匿名手順の外で起こったエラーも無視されるようになるようです。

こちらについては修正しました。
なお、エラー無視が有効となる範囲は、有効範囲の場所によって異なります。
手順とブロック式は、独立して保持されますが、繰り返し文やもし文のスコープでは親のスコープと共有されます。

今後マニュアルの方にも記載しますが、ご留意ください。
https://docs.utopiat.net/rdr/manual/syntax/scope.html

ご指摘ありがとうございます。

修正確認しました。

投稿者:onichan <contact あっとまーくonichan.cf> 投稿日:2022/05/24(Tue) 08:52:29 No.2202

お世話になっております。

現象1,2共に1.7.1135で改善・修正されていることを確認いたしました。
ご対応いただきありがとうございます。
今後ともよろしくお願いいたします。

▲ページの先頭へ

- WebForum -