Ruby的Range功能强大无比,我们可以简单的使用:
(1..10).each{|i| puts i}
打印出:
1
2
...
10
对于字符串我们也可以:
("hello" .. "world").each{|word| puts word}
更加强大的是对于日期,ruby同样支持rang
require 'date'
date_begin = Date.parse '2010-09-01'
date_end = Date.parse '2010-10-07'
(date_begin .. date_end).each{|date| puts date}
这个很有用,我今天就遇到了一个问题使用了date的Range,轻松搞定。
这个问题是:要处理的文件都是文件名为保存时的日期加后缀,比如:
20100910-00001,现在我要处理从2010-09-01到2010-10-07的所有文件,
shell有seq,这个只能搞定通过使用seq 1 10做1..10这样的事情,对于日期
搞不定,也不想自己搞那么一个数组。
于是就想到了强大的Ruby的Range来搞定它,发现日期果然支持Range操作,于是开搞:
代码类似如下:
date_seq.rb
require 'date'
date_begin = Date.parse '2010-09-01'
date_end = Date.parse '2010-10-07'
(date_begin .. date_end).each{|date| puts date.to_s.gsub(/-/,"")}
while read date; do
for file in `ls $date-*`; do
#process the file
done
done < ruby date_seq.rb
分享到:
相关推荐
date_range '7daysAgo', 'today' end ``` 5. **执行报告并处理结果**:调用`execute`方法发送请求并获取结果。结果是一个包含数据的Ruby对象,可以直接遍历或进一步处理: ```ruby report.execute.each do |...
DateRange *range1 = [[DateRange alloc] initWithStartDate:date1 endDate:date2]; BOOL contains = [range1 containsDate:date3]; DateRange *intersection = [range1 intersectionWithDateRange:anotherRange]; `...
- **Range的扩展**:列举Range类被扩展后的新方法。 - **Date的扩展**:介绍Date类的扩展方法。 - **DateTime的扩展**:展示DateTime类的扩展方法。 - **Time的扩展**:列举Time类被扩展后的新方法。 - **File的扩展...
gu 与内部运营相关的各种公用事业 mp_event_dump ... -f, --from-date=DATE The start of the date range -t, --to-date=DATE The end of the date range -q, --query=QUERY The query to apply -o, --outp
Ruby的`Date::MONTHNAMES`数组包含了月份的英文名称: ```ruby Date::MONTHNAMES.each do |month| puts month end ``` 以上就是在不同编程语言中输出月份英文名称的方法。通过这些练习,学习者不仅可以掌握...
date_range = DatePeriodParser . range ( params [ "period" ] , default : "today" ) @posts = Posts . where ( created_at : date_range ) end 期间示例: 年YYYY 月YYYY-MM 日期YYYY-MM-DD 开局之年/月...
如代码所示,我们先设定开始和结束日期,然后根据`params[:id]`获取员工ID,通过`Employee`模型的`find_with_timesheets_in_date_range`方法查询数据。 在`Employee`模型中,`find_with_timesheets_in_date_range`...
日期增压器日期查询的快捷方式。 日期增压器将_between , _between_inclusive , _after , _after_or_at , _before和_before_or_at方法添加到Active Record模型的每个日期/日期时间字段。用法之间Visit ....
web_parser-cbrf gem 从 CBRF 网站获取有关汇率的信息 安装 1. 将 gem 连接到 Gemfile ... 您可能需要包含更新版本作为标签。 撰写本文时的最新版本是“v1.0.0” 2....$ bundle ... get_date_range_for_
同时,HTML5引入了新的表单控件,如<date>、<range>等,虽然在这个模板中可能并未用到,但在实际的网站设计中它们能极大地提升用户体验。 接着,我们看到模板中可能使用了CSS3来实现动画效果和响应式布局。CSS3的...
5. **表单改进**:新的表单输入类型(如email、date、range)和属性(如required、placeholder)使得表单验证更强大。 6. **Canvas & SVG**:这两个图形绘制技术让开发者能够创建交互式和动态图形,无需依赖Flash或...
`<form>`元素的改进和新输入类型如`<input type="date">`、`<input type="range">`等,使表单验证和数据输入更加便捷。 在错误处理和互操作性上,HTML5制定了更严格的规则,确保所有浏览器对HTML元素的解析和行为有...
5. 表单控件改进:如新增的<input type="date">、<input type="range">等,增强了用户输入体验。 二、响应式设计 响应式设计是确保网站在不同设备上表现良好的关键。通过使用CSS3的媒体查询(@media),我们可以...
- 更好的表单控制:新增了多种表单输入类型,如date, time, email, url等,提高了表单验证的灵活性。 4. 重要标记 HTML5 中的一些重要标记包括, , , , , , , , , , , , , , , <ruby>, , , , 等,它们增强了网页内容...
- `ruby`:用于标注音译或注解,如汉字拼音。 - `iframe`:在页面中嵌入其他网页或框架。 **CSS(Cascading Style Sheets)** CSS用于定义HTML元素的样式和布局,包括颜色、字体、尺寸、位置等。通过类选择器、ID...
With large amounts of correlated probabilistic data being generated in a wide range of application domains including sensor networks, information extraction, event detection etc., effectively ...
10. **表单控件增强**:HTML5引入了新的表单输入类型,如`date`、`email`、`range`等,以及`required`属性,增强了表单验证功能。 11. **画布(Canvas)**:`<canvas>`元素提供了动态图形绘制的能力,通过...
- **新的表单控件**: 如 `<input type="date">` 和 `<input type="range">` 提升了用户体验。 - **Canvas元素**: 支持在网页上绘制图形。 - **Media元素**: `<video>` 和 `<audio>` 元素使嵌入媒体文件更为简单。...