0
このコードサンプルは何をすべきですか?Tcl lreplaceは中カッコを置き換えることはできませんか?
set l { A B C D }
lreplace $l 1 2 \[ \]
しかしそれは私が{A [ ] D}
を持ちたい、{A {[} \] D}
を返します。
私は間違っていますか?
このコードサンプルは何をすべきですか?Tcl lreplaceは中カッコを置き換えることはできませんか?
set l { A B C D }
lreplace $l 1 2 \[ \]
しかしそれは私が{A [ ] D}
を持ちたい、{A {[} \] D}
を返します。
私は間違っていますか?
あなたのコードは、あなたが、それは、あなたは自分の出力の文字列の担当者を読んで、それを誤解しているしたい正確に何が行われます。
% set l { A B C D }
A B C D
% foreach elem $l { puts $elem }
A
B
C
D
% set j [lreplace $l 1 2 \[ \]]
A {[} \] D
% foreach elem $j { puts $elem }
A
[
]
D
% join $j
A [ ] D
あなたは、文字列の担当者を読んだとき、あなたはそれを逃れる見ています[と]。 foreach出力からわかるように、実際の値はあなたが求めている値です。 join
を使用して、目的の文字列を取得することができます。希望の文字列は、問題の文字を含む文字列だけです。