我正在处理这两件事:
CSV.foreach('datafile.csv','r') {|row| D_Location << row[0]}
puts Date.new(2003,05,02).cwday
在第一行中,我想将datafile.csv更改为类似字符串的内容,这样我就可以更改一个字符串,并且所有这些代码都会更改。我有很多,每个控制1 csv列。
在第二个中,我想替换写入的实际日期,并用字符串替换它。这是可以自动的,因为字符串将基于其他标准生成。
我相信如果我是一个太多的菜鸟,他们会禁止我。然后我会坚强起来,最终自己找到这些答案。但到目前为止,我已经解决了很多,但不是这个。提前谢谢!
答案 0 :(得分:1)
创建一个函数,该函数接收表示工作日的字符串,并返回一个数字。稍后在代码中调用此函数:
Date.new(2003, 05, yourfun('Tuesday')).cwday
答案 1 :(得分:1)
对于问题的第一部分,您已经在处理字符串了。我认为你的意思是你希望它在一个变量中:
csv_file = 'datafile.csv'
CSV.foreach(csv_file,'r') {|row| D_Location << row[0]}
对于问题的第二部分,Date.parse()
适用于字符串,但它们必须采用可识别的格式。如果日期字符串使用逗号,则可以用连字符替换它们:
date_str = "2003,05,02"
Date.parse(date_str.gsub(",", "-")).cwday # => 5
目前尚不清楚日期字符串的来源或者它们的格式,但您需要了解的一般概念是您可以使用变量,并且可以转换字符串。