",", "$", "/"
はすべてセパレータとして機能しますが、"_"
ではありません。文字列補間のデフォルトセパレータは何ですか?
x = "1"
"$x,x", "$x$x", "$x/1", "$x_1"
これに関する文書はありますか?
",", "$", "/"
はすべてセパレータとして機能しますが、"_"
ではありません。文字列補間のデフォルトセパレータは何ですか?
x = "1"
"$x,x", "$x$x", "$x/1", "$x_1"
これに関する文書はありますか?
$後最短完全な発現がその値である
内部動作がgithub issue #455で説明されている文字列に補間される表現として解釈される可能性
ウェイストリング補間の作業は、実際には完全にJuliaで定義されています。何が起こるかは、パーサー(FemtoLisp内)がコードをスキャンし、二重引用符で区切られた文字列リテラルを見つけ出すことです。文字列にエスケープされていない$が見つからない場合は、文字列の内容に応じて文字列リテラルを作成するだけです(ASCIIStringまたはUTF8String)。一方、文字列にエスケープされていない$がある場合、文字列リテラルの解釈をパントしてstr juliaマクロに渡します。これにより、文字列リテラルと補間値を連結して目的の文字列を作成する式が生成されます。これはパーサが補間のようなものを心配することのない素晴らしいエレガントな仕組みです。
私は,
、)
、]
、}
と;
ある#\, #\) #\] #\} #\;
は、それぞれの表現のためのトークンを閉じていると$
は、次の補間の開始を指定していることを推測することができます。
これはもはや真実ではありません。ジュリアパーサーは、最近、すべての補間自体を扱っています。これは、文字列リテラルを含む式を補間するようなことを許すための唯一の方法でした。しかし優れたGitHub考古学:-) – StefanKarpinski
@StefanKarpinski最新の返信を提供するために私の返信を編集できますか? –
これは、x_1がJuliaの有効な変数名であるため、その変数の値を文字列に挿入しようとしているからです。
補間が終了していることを確認するには、名前の周りに「$(myname)」と入力するだけです。識別子の後にUnicode文字がいくつか続く場合、ある時点でパーサの識別子文字として使用できるように変更することができます。 –