Rails 1.2新特性体验(String和Array)

1 获取指定位置的字符
ruby 代码
 
  1. >> "Finally, something useful!".at(6)  
  2. => "y"   

fromto (String)
ruby 代码
 
  1. >> "Chris the Person".from(6)  
  2. => "the Person"   
  3. >> "Chris the Person".to(4)  
  4. => "Chris"   

firstlast (String)
ruby 代码
  1. >> "Christmas Time".first  
  2. => "C"   
  3. >> "Christmas Time".first(5)  
  4. => "Chris"   
  5. >> "Christmas Time".last  
  6. => "e"   
  7. >> "Christmas Time".last(4)  
  8. => "Time"  
first带参数与to功能相似。last带参数与from功能相似

4 each_char 把字符串转换成字符数组进行处理
ruby 代码
>> "Snow".each_char { |i| print i.upcase }  SNOW  >>"Snow".upcase  SNOW  

5
starts_with?ends_with?去检测一个
regular expression
ruby 代码
  1. >> "Peanut Butter".starts_with? 'Peanut'  
  2. => true  
  3. >> "Peanut Butter".ends_with? 'Nutter'  
  4. => false  

6 to_timeto_date
ruby 代码
>> "1985-03-13".to_time  => Wed Mar 13 00:00:00 UTC 1985  >> "1985-03-13".to_date  => #  

7 转换的方法:

pluralize, singularize, camelize, titleize, underscore, dasherize, demodulize, tableize, classify, humanize, foreign_key, and constantize

 

8 to_sentence把数组转换成一个字符串,用逗号分隔,并且在最后一个元素前加上'and'。可以带两个参数,:connector:skip_last_comma.第一个参数最后一个元素前要加上的字符串,默认是‘and’。后一个表示是否在最后两个元素之间加上逗号分隔符。false:加上。true:不加上,默认是false


 

ruby 代码
 
  1. >> %w[Chris Mark Steven].to_sentence  
  2. => "Chris, Mark, and Steven"   
  3.   
  4. >> %w[Soap Mocha Chocolate].to_sentence(:connector => '&')  
  5. => "Soap, Mocha, & Chocolate"   
  6. >> %w[Ratatat Interpol Beirut].to_sentence(:skip_last_comma => true)  
  7. => "Ratatat, Interpol and Beirut" <post></post>
10 rails重载了to_s方法。加入了一个参数:db,只能工作在 ActiveRecord objects。输出所有model对象的id值。

 

ruby 代码
 
  1. >> array_of_posts = Post.find(:all:limit => 3)  
  2. => [#  
  3. >> array_of_posts.to_s(:db)  
  4. => "1,2,3"   
  5. >> [].to_s  
  6. => ""   
  7. >> [].to_s(:db)  
  8. => "null"   

 

11  to_xml,包含几个参数。

Pass in :skip_instruct to omit the line. You can also provide an :indent option (default: 2), a :builder option (you probably want to stick with the default of Builder::XmlMarkup), a :root option (defaults to the lowercase plural name of the class, posts in this case), and a children option (singular lowercase class—post for me).

ruby 代码
  1. >> puts array_of_posts.to_xml  
  2. => "?>  
  3. <posts></posts>  
  4.   <post></post>  
  5.     ... tons of xml ...  
  6.     
  7.     

12 in_groups_of (只能在 ActiveRecord objects中使用。 )
ruby 代码
>> %w[1 2 3 4 5 6 7].in_groups_of(3) { |g| p g }  ["1""2""3"]  ["4""5""6"]  ["7"nilnil]    >> %w[1 2 3].in_groups_of(2, ' ') { |g| p g }  ["1""2"]  ["3"" "]    >> %w[1 2 3].in_groups_of(2, false) { |g| p g }  ["1""2"]  ["3"]    >> %w[1 2 3 4 5 6 7].in_groups_of(3)  => [["1""2""3"], ["4""5""6"], ["7"nilnil]]  

13
split
ruby 代码
 
>> %w[Tom Jerry and Mickey and Pluto].split('and')  => [["Tom""Jerry"], ["Mickey"], ["Pluto"]]    >> %w[Chris Mark Adam Tommy Martin Oliver].split { |name| name.first == 'M' }  => [["Chris"], ["Adam""Tommy"], ["Oliver"]] 

ruby 代码
 
>> "reindeer".pluralize   => "reindeers"    >> "elves".singularize   => "elf"    >> "christmas_carol".camelize   => "ChristmasCarol"    >> "christmas_carol".camelize(:lower)   => "christmasCarol"    >> "holiday_cheer".titleize   => "Holiday Cheer"    >> "AdventCalendar-2006".underscore   => "advent_calendar_2006"    >> "santa_Claus".dasherize   => "santa-Claus"    >> "Holiday::December::Christmas".demodulize   => "Christmas"    >> "SnowStorm".tableize   => "snow_storms"    >> "snow_storms".classify   => "SnowStorm"    >> "present_id".humanize   => "Present"    >> "Present".foreign_key   => "present_id"    >> "Cheer".constantize   NameError: uninitialized constant Cheer   >> "Christmas".constantize   => Christmas  
上面是字符串部分,下面是数组部分:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值