Rails详细介绍(四)Active Support

本文深入探讨Rails内置库ActiveSupport的功能,包括数字类型扩展、时间扩展、字符串扩展等常用特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Active Support是一组有Rails提供的库,Active Support对ruby内建的一些类作了扩展,这次我们来看看其中一些最常用到的功能。
 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

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值