二重引用符にエスケープ文字を使用しようとしていますvar=":Name\!"" || initCol || "\!"";
次の内容を含む文字列変数を作成しようとしています::Name("0")
最終的には「0」という名前の列からデータを抽出したいので、この文字列を変数に保存しようとしています。 ただし、出力は次のようになります。 var = ":Name(\!"0)\!"";
エスケープ文字が正しく機能していないようですが、エスケープ文字がないとコードをまったく実行できません。 誰か助けてくれませんか? この列にインデックスを付けるもっと良い方法はないでしょうか? 「initCol」には常に数値が含まれますが、常に 0 であるとは限りません。そのため、列にインデックスを付ける前に、対象の数値を変数に格納する必要があります。
ありがとう!
Re: ダブルクォーテーションにエスケープ文字を使用しようとしていますリストは文字列ではないため、リストに対して write を使用することはできません。表示にはエスケープ文字が含まれます。
リスト要素に write を使用すると、文字列が正しいことがわかります。
show(colsname, colsname2);
write("\!n" || colsName[1] || "\!n");
write(colsName2[1]);
ログから:
colsname = {":Name(\!"0\!")"};
colsname2 = {":Name(\!"0\!")"};
:Name("0")
:Name("0")Re: ダブルクォーテーションにエスケープ文字を使用しようとしていますはい、その通りです。 文字列は:名前("0")。
Re: ダブルクォーテーションにエスケープ文字を使用しようとしていますwrite() を使用した場合の結果は次のとおりです。
{":名前(\!"0\!")"}
{":名前(\!"0\!")"}
問題は、私のリストに含まれる「0」の隣にある「 \" 」です。 これはそこにあるべきではありません。Re: ダブルクォーテーションにエスケープ文字を使用しようとしていますJMPは正常に動作しています。show または print を使用すると、二重引用符のエスケープ文字が表示されます。使用する場合書く()代わりに、値が正しいことがわかります。
Re: ダブルクォーテーションにエスケープ文字を使用しようとしています上記のコードを機能させるために jmp で変更する必要がある設定はあるでしょうか? 両方の解決策を試しましたが、両方とも次の出力が得られます。
colsName = {":Name(\!"0\!")"};
colsName2 = {":Name(\!"0\!")"};
初期コードは次のとおりです。
colsName[count] = Eval Insert( "\[:Name("^test^")]\" );
colsName2[count] = ":Name(\!"" || test || "\!")";
Show( colsName );
Show( colsName2 );
ColsName は、増加する列名のリストです。 現時点では、count は 1 で、1 つの値 (値 0) だけがリストの最初の要素に書き込まれようとしていますが、エスケープ文字「\!」を取り除くことができないようです。
Re: ダブルクォーテーションにエスケープ文字を使用しようとしています特殊なエスケープ文字 \[ および ]\ を使用して、文字列内に二重引用符を含む任意の文字を許可することもできます。コードをすっきりさせるために evalinsert も使用しています。
initcol = "0";
var2 = evalinsert("\[:Name("^initcol^")]\");
write(var2);
ログから:
:Name("0")
Re: ダブルクォーテーションにエスケープ文字を使用しようとしていますこれは私にとってはうまくいきます
initCol = "0";
var = ":Name(\!"" || initCol || "\!")";