Это ненужно многословно.
x = "test"
"#{x}"
# => "test"
Это буквально то же самое в вашем случае.
Идиоматическая версия Ruby этого кода выглядит так:
def write_hello(filename)
File.open(filename, "w") do |file|
file.puts "Hello, world! I'm Ruby :)"
end
end
При этом используется многострочная форма do ... end
, которая часто намного проще для понимания и понимания, но в остальном эквивалентна форме { ... }
.Новички в Ruby могут быть немного озадачены тем, как { x: 'y' }
и { |x| 'y' }
являются совершенно разными вещами, поэтому это позволяет избежать двусмысленности.
Нет необходимости ставить что-то в изоляции.Это было бы необходимо, если вы хотите добавить расширение файла, например:
File.open("#{filename}.txt", "w") do |file|
# ...
end
Где бы вы назвали это как:
write_hello(:example)
И это создаст example.txt