设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1579|回复: 2
打印 上一主题 下一主题

[已经解决] 這兩個腳本寫法有什麼區別

[复制链接]

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

跳转到指定楼层
1
发表于 2017-12-28 21:15:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
自己的一個用來找最大值的腳本
RUBY 代码复制
  1. def amax
  2.     collect{|s|yield(s)}.max
  3.   end


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


那這兩種寫法有什麼區別嗎?(影響效率?在特定情況下存在出錯的可能?)
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png

Lv4.逐梦者 (版主)

梦石
0
星屑
6901
在线时间
7028 小时
注册时间
2013-11-2
帖子
1344

开拓者剧作品鉴家

2
发表于 2017-12-28 21:46:37 | 只看该作者
这一看就知道是特么没读置顶的教程。
章节 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} #报错:语法错误

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

3
 楼主| 发表于 2017-12-29 23:54:59 | 只看该作者
RaidenInfinity 发表于 2017-12-28 21:46
这一看就知道是特么没读置顶的教程。
章节 1.4。读。


嘿嘿嘿
因为置顶和平常的帖子是分开的,所以没注意置顶又多了5个主题···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-17 11:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表