文字列リテラル表記
UWSCRの文字列表記はUWSCと同様にダブルクォーテーション("
)による表記に加え、シングルクォーテーション('
)表記が追加されています。
print "ダブルクォーテーションによる文字列表記"
print 'シングルクォーテーションによる文字列表記'
シングルクォーテーションの場合は以下の特殊文字が変換されないという特徴があります。
-
<#CR>
(改行) -
<#TAB>
(タブ文字) -
<#DBL>
(ダブルクォーテーション) -
<#NULL>
(NULL文字)
print "特殊文字が変換されます: <#DBL>" // 特殊文字が変換されます: "
print '特殊文字がそのままです: <#DBL>' // 特殊文字はそのままです: <#DBL>
文字列内での変数展開
文字列内で<#変数名>
を記述すると、その変数の値が展開されます。変数展開が可能なのはダブルクォーテーション表記のみです。
// 変数fooを文字列内で展開する
foo = "world"
print "Hello, <#foo>!" // Hello, world!
// 存在しない変数は展開されません
print "Hello, <#bar>!" // Hello, <#bar>!
// シングルクォーテーション表記の場合は変数展開されません
print 'Hello, <#foo>!' // Hello, <#foo>!
textblockex
UWSCと同様に文字列ブロック定数を定義するtextblockに加え、変数展開が可能なtextblockexが追加されています。textblockexの定数は遅延評価されます。
foo = "world"
print tbex // Hello, world!
// 変数fooの値を書き換える
foo = "uwscr"
print tbex // Hello, uwscr!
textblockex tbex
Hello, <#foo>!
endtextblock