eval('puts "ff"\nputs "ff"')
Я пытался использовать два выражения в одном eval, но он не выполняется?
Как мне это сделать? Я хочу знать, потому что я хочу динамически выполнять частичный код.
С синтаксисом heredoc. Файл и номер строки передаются для предоставления справочной информации в обратных следах.
eval(<<-CODE, __FILE__, __LINE__ +1 ) some(:ruby); code # and comments CODE
eval("puts 'ff'\nputs 'ff'")
тоже работает. '\n' трактуется буквально как косая черта и n, потому что одинарные кавычки работают иначе, чем двойные кавычки.
'\n'
Я использую это:
eval %{ puts 'ff' puts 'hello' }
До:
eval('puts "ff";puts "ff"')