Как открыть файл для записи, только если он еще не существует в ruby ​​

Я хочу открыть файл для записи, но только если он еще не существует. Если файл существует, я хочу вызвать исключение. Это лучший способ сделать это?

filename = 'foo'
raise if File.exists? filename
File.open(filename, 'w') do |file| 
  file.write contents
end

Каков наиболее идиоматический способ сделать это без условия гонки?

21
задан nohat 7 March 2011 в 22:43
поделиться