我有一个像这样声明的文件名;
filename = Time.now.strftime("%H:%M:%S")+'.json'
,当我这样做时会发生错误
File.open(filename,'w') do |f|
f.write(rsp)
end
错误在`initialize':无效的参数 - 18:28:20.json,我认为是因为文件名错误。当我做一些“正常”的名字时,一切正常,所以任何提示?
答案 0 :(得分:2)
尝试:
filename = Time.now.strftime("%H_%M_%S")+'.json'
答案 1 :(得分:1)
Windows使用冒号作为驱动器号分隔符; 有关其他特殊字符,请参阅this SO question。
使用其他分隔符。你可能能够逃脱它,但IMO,并不值得。
FWIW,对于带时间戳的文件名,无论如何我倾向于yyyymmdd-hhmmss
或类似。
对于像文件这样的东西,在问题中包含更完整的信息总是好的 - 各个操作系统的命名约定是不同的。