Project1

标题: 這兩個腳本寫法有什麼區別 [打印本页]

作者: chd114    时间: 2017-12-28 21:15
标题: 這兩個腳本寫法有什麼區別
自己的一個用來找最大值的腳本
RUBY 代码复制
  1. def amax
  2.     collect{|s|yield(s)}.max
  3.   end


不過實際使用的時候發現這兩種寫法都能返回正確結果
  1. alive_members.amax(&:ht)
  2. alive_members.amax &:ht
复制代码


那這兩種寫法有什麼區別嗎?(影響效率?在特定情況下存在出錯的可能?)
作者: RaidenInfinity    时间: 2017-12-28 21:46
这一看就知道是特么没读置顶的教程。
章节 1.4。读。

另外,不加括号会出错的情况:
RUBY 代码复制
  1. arr = [1,2,3,4,5]
  2. arr.inject(0) do |a, b| a += b end #输出正常
  3. arr.inject 0 do |a, b| a += b end #输出正常
  4. arr.inject(0){|a, b| a += b} #输出正常
  5. arr.inject 0 {|a, b| a += b} #报错:语法错误


作者: chd114    时间: 2017-12-29 23:54
RaidenInfinity 发表于 2017-12-28 21:46
这一看就知道是特么没读置顶的教程。
章节 1.4。读。


嘿嘿嘿
因为置顶和平常的帖子是分开的,所以没注意置顶又多了5个主题···




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1