3

我正在使用以下两件事:

CSV.foreach('datafile.csv','r') {|row| D_Location << row[0]}

puts Date.new(2003,05,02).cwday

在第一行中,我想将 datafile.csv 更改为类似字符串的内容,这样我就可以更改一个字符串,并且它会针对所有这些代码进行更改。我有很多,每个控制 1 个 csv 列。

在第二个中,我想替换实际写入的日期,并将其替换为字符串。这样可以自动进行,因为字符串将根据其他标准生成。

我相信如果我太菜鸟了,模组会禁止我,呵呵。然后我会坚强起来,最终自己找到这些答案。但到目前为止我已经解决了很多,但不是这个。提前致谢!

4

2 回答 2

1

制作一个函数,它接受一个代表工作日的字符串,并返回一个数字。稍后在您的代码中调用此函数:

Date.new(2003, 05, yourfun('Tuesday')).cwday
于 2012-08-15T06:49:02.777 回答
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

目前尚不清楚您的日期字符串将来自何处或它们将采用何种格式,但您需要了解的一般概念是您可以使用变量,并且您可以转换字符串。

于 2012-08-15T06:58:49.253 回答