Ich verstehe nicht, warum eval
funktioniert wie folgt:Rubin: eval mit String-Interpolation
"123 #{456.to_s} 789" # => "123 456 789"
eval('123 #{456.to_s} 789') # => 123
Wie kann ich in einen String innerhalb eval
interpolieren?
Update:
Danke, Freunde. Es funktionierte.
Wenn Sie also eine String-Variable mit #{}
haben, die Sie später eval wollen, sollten Sie es tun, wie weiter unten erläutert:
string = '123 #{456} 789'
eval("\"" + string + "\"")
# => 123 456 789
oder
string = '123 #{456} 789'
eval('"' + string + '"')
# => 123 456 789
Was meinen Sie mit "Makro Substitutionen"? – sawa
@sawa, ich meinte '# {}' Abschnitte, bitte, bearbeiten Sie es richtig, ich weiß nur nicht, wie man es auf Englisch sagt –
Okay, vielleicht meintest du Interpolation. – sawa