4
必须有一种干式方式才能做到这一点,而无需对File.open
进行两次单独调用,也无需偷看的permissions
的默认值是多少。对?在Ruby中传递父项到子项的可选参数
def ensure_file(path, contents, permissions=nil)
if permissions.nil?
File.open(path, 'w') do |f|
f.puts(contents)
end
else
File.open(path, 'w', permissions) do |f|
f.puts(contents)
end
end
end
打我吧。我在考虑`args = [path,'w',permissions] .reject(&:nil?)`和`File.open(* args)`,但这不必要的复杂,单独的`extra_args`更好。 – 2011-12-15 18:07:21