2

こんにちは、次のような文字列を作成する必要があります。

drawtext="fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2"

私は何かをしたい

str = Q%[drawtext="fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2"]

私はこれを取得しています:

=> "drawtext=\"fontfile=/Users/stpn/Documents/Video_Experiments/fonts/Trebuchet_MS.ttf:text='content':fontsize=100:fontcolor=red:y=h/2\"" 

drawtext=" の等号の後のエスケープ文字は、私が取り除きたいものです..それを達成するにはどうすればよいですか?

文字列は、コマンド ライン引数で使用されます。

4

1 に答える 1

4

多くの言語と同様に、Ruby には引用符で囲まれた引用符とそれを囲む引用符を区切る方法が必要です。

あなたが見ているのは、構文引用符ではなく文字通りの引用符を言う方法であるエスケープ文字です:

foo = 'test="test"'
# => "test=\"test\""

エスケープ文字は、文字列を検査するときにデフォルトで二重引用符が使用されるため、存在するだけです。もちろん、内部では単一の文字として保存されます。CR+LF で区切られたファイル行など、他の状況でもこれらが表示される場合があります。

"example_line\r\n"

ここの\r\nは、復帰文字と改行文字に対応しています。これらの文字のいくつかは ANSI C で定義されており、Ruby や JavaScript を含む多くの言語に引き継がれています。

文字列を出力するとき、これらのエスケープ文字は表示されません:

puts foo
test="test"
于 2012-06-25T18:35:58.010 に答える