代码块的序列调用
复制代码 代码如下:
def touch_down 
  yield [3, 7] 
  puts "touchdown!" 
end 
 
touch_down do |(first_down, second_down)| 
  puts "#{first_down} yards on the run" 
  puts "#{second_down} yards passed" 
end 
 
=> "3 yards on the run" 
=> "7 yards passed" 
=> "touchdown!" 

主要是说array在block中的使用

从array中取出元素
复制代码 代码如下:
args = [1, 2, 3] 
first, rest = args 
 
first 
=> 1 
 
rest 
=> [2, 3] 

之前只是清楚split序列的用法,没有注意到实际上,我们可以方便的得到剩余的序列。

Hash#fetch

复制代码 代码如下:
items = { :apples => 2, :oranges => 3 } 
=> items = {:apples=>2, :oranges=>3} 
 
items.fetch(:apples) 
=> 2 
 
items.fetch(:bananas) { |key| "We don't carry #{key}!"} 
=> We don't carry bananas! 

在散列的使用的时候,fetch可能会比检查是否存在值要方便一些。

创建代码段的散列
复制代码 代码如下:
smash = Hash.new { |hash, key| hash[key] = "a #{key} just got SMASHED!" } 
=> {} 
 
smash[:plum] = "cannot smash." 
=> {:plum=>"cannot smash."} 
 
smash[:watermelon] 
=> {:plum=>"cannot smash.", :watermelon=>"a watermelon just got SMASHED!"}

将代码段用于生产散列可以方便的保持一些未定义的初始值,特别是在斐波纳契计算中很适合(我没有看出来怎么用)

Array#sort_by
复制代码 代码如下:
cars = %w[beetle volt camry] 
=> ["beetle", "volt", "camry"] 
 
cars.sort_by { |car| car.size } 
=> ["volt", "camry", "beetle"] 

序列的sort_by方法用来对代码段的返回值排序,就如同对于Symbol#to_proc进行map或者sort

String#present"codetitle">复制代码 代码如下:
"brain".present"".present? 
=> false 

Rails的开发者可能对于blank?比较熟悉,然而对于present呢?实际上判断返回值是否正确这也是很好用的方法。

这里我确实想起来,对于find(:all)和find(:first)是否有返回值的判断的不同。还有一个

.exists?
.empty?
.blank?
.nil?

比较多见到吧

广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。