The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Ruby on rails开发从头来(windows)(三十四)- Active Support

Posted on 2008-02-15 16:48  Cure  阅读(1927)  评论(2编辑  收藏  举报
 Active Support是一组有Rails提供的库,Active Supportruby内建的一些类作了扩展,这次我们来看看其中一些最常用到的功能。

 1.       对数字类型的扩展

Fixnum类增加了两个方法:even?odd?

同时增加了缩放的方法:

puts 20.bytes #=> 20

puts 20.kilobytes #=> 20480

puts 20.megabytes #=> 20971520

puts 20.gigabytes #=> 21474836480

puts 20.terabytes #=> 21990232555520

还有基于时间的缩放,将接受的数值转换为对应的秒,month()year()方法得到的是近似值,月被假定为有30天,年被假定为365天。

puts 20.minutes #=> 1200

puts 20.hours #=> 72000

puts 20.days #=> 1728000

puts 20.weeks #=> 12096000

puts 20.fortnights #=> 24192000

puts 20.months #=> 51840000

puts 20.years #=> 630720000

2.       时间的扩展

Time类增加了一些方法,来帮助我们进行时间的运算

now = Time.now

puts now

puts now.ago(3600)

puts now.at_beginning_of_day

puts now.at_beginning_of_month

puts now.at_beginning_of_week

puts now.at_beginning_of_year

puts now.at_midnight

puts now.change(:hour => 13)

puts now.last_month

puts now.last_year

puts now.midnight

puts now.monday

puts now.months_ago(2)

puts now.months_since(2)

puts now.next_week

puts now.next_year

puts now.seconds_since_midnight

puts now.since(7200)

puts now.tomorrow

puts now.years_ago(2)

puts now.years_since(2)

puts now.yesterday

 

另外还提供了Timezone的类,其中包含有时区的名字和偏移量。还提供了时区的列表。详细请参考Rdoc文档。

3.       string扩展

Rails扩展了string,使得能够进行单数复数间的转换,小写或大小写混排等等,下面是常用的:

puts "cat".pluralize #=> cats

puts "cats".pluralize #=> cats

puts "erratum".pluralize #=> errata

puts "cats".singularize #=> cat

puts "errata".singularize #=> erratum