isVowel() - プログラミング言語 Ring 関連メモ

Ring 言語に関する資料の翻訳や執筆、拡張機能の開発など

Ring の落とし穴(1) - 文字列宣言

ただいま、 Ring ウェブサイトを翻訳しているところです。こういうのが発生してしまうと、こちらの更新が遅れてしまうことが結構あります。日本国内で Ring を使用しているのは私以外いませんから仕方のないことです。


さて、
Ring には ShitJIS で問題となる 0x5C 問題はない(ファイル関数は未だ検証していません)ようで、

str = "表示シソ"
see str + nl

としても問題なく表示されます (文字列処理関数は別途製作のこと)。
ところが、 Ring のクォート処理には落とし穴があり、

str = "表示""シソ"
see str + nl

としてしまうとクォートの誤認識により「シソ」は切り捨てられていまいます (エラーにならないので見つけづらいものでもあります)。
なので

str = "表示" + "シソ"
see str + nl

とすれば表示されます。もしクォートも代入したい場合は、

str = "表示" + char(34) + "シソ"
see str + nl

とすれば良いです。また、 UTF-8 環境でしたら

str = :表示シソ
see str + nl

の記法を使用できます。この場合は文字列に空白文字を入れることはできませんので、状況に応じて使い分けるのが良いでしょう。



参考