2017-01-26 16 views
0

私は次のように文字列形式の値を解析し、そこからからconfig.ymlを反復処理しています:ruby​​の文字列全体に一重引用符を追加するには?

machines: 
A: 
    ip: 10.11.12 
    pass: vass 
B: 
    ip: 10.11.13 
    pass: grass 

次のように上記config.ymlが解析されます。

machines = YAML.load_file('machine.yml') 
var='' 
machines[A].each do |letters,hash| 
    var += "[" + hash['ip'] + "]\n" + hash['pass'] + "\n" 
end 

「VAR 「値iのように取得しています:以下のように

"[10.11.12]\nvass\n[10.11.13]\ngrass\n" 

ではなく、上記のように、私はむしろ、二重引用符を完全atring全体で単一引用符をたくない:

'[10.11.12]\nvass\n[10.11.13]\ngrass\n' 

文字列全体に一重引用符を使用する方法をお勧めします。

+1

、すべての文字列は、文字の二重引用符で囲まれたシーケンスとして示されています。一重引用符( ')は**すべての文字がリテラルとして解釈される文字列を**構築することです。 'x = 'Hello \ nWorld'#=>「Hello \\ nWorld」です。あなたは何をするつもりでしたか? –

答えて

1

一般に、putsは、二重引用符のない文字列の値をコンソールに表示します。

puts varを使用すると、二重引用符が印刷されないことがあります。そして、文字列補間を使って一重引用符でコンテンツをラップすることができます。 Rubyで

var += "'#{actual_value}'"

関連する問題