写这样的n - to_pick
而不是"#{file_name}"
看起来很冗长。
file_name
我怎样做才能使其更清洁?
已更新
我只有红宝石naming conventions,所以现在将 def write_hello(file_name)
File.open("#{file_name}", "w") { |file| file.puts "Hello, world! I'm Ruby :)"}
end
更新为fileName
。
答案 0 :(得分:5)
那是不必要的冗长。
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
答案 1 :(得分:2)
您的代码有效,但实际上是错误的代码。确实,它应该写为fileName
,尽管Rubyist不会像骆驼一样命名一个变量。
但是,最好写得短些,例如
File.write(fileName, "Hello, world! I'm Ruby :)")
如Stefan所述,尽管如果需要,则必须在字符串的末尾显式添加换行符。