转载的一个问题 听说这是ruby 希望得到解释

Neo_Xiao 2009-12-14 08:47:52
@success = Class.new
success = lambda { |v|
if @success.respond_to? v.to_sym
v.capitalize
else
raise"Invent and experiment."
end
}
key = %w[audacious creative curious safe].collect(%success)
p keys.join(",")


=================================

原帖地址http://topic.csdn.net/u/20091212/14/a2dbcda0-0041-4470-9729-3be1fe7eebe0.html?seed=248436667&r=61885104#r_61885104


拜托大家帮我解释下 谢谢
...全文
80 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jamy325 2010-01-15
  • 打赏
  • 举报
回复

@success = Class.new #实例化一个类对象
success = lambda { |v|
if @success.respond_to? v.to_sym
v.capitalize
else
raise"Invent and experiment."
end
}
#labda函数,v是函数的参数,条件里面判断@success这个类是不是有v这个方法?如果有的话就把v的首字母变成大写否则抛出异常
key = %w[audacious creative curious safe].collect(%success)
#%w[]是声明一个数组。把数组中的每个元素作为success的参数传递进去。
p keys.join(",") 此处的keys我怀疑是key。就是输出key数组的元素,元素之间用","分开
Neo_Xiao 2009-12-14
  • 打赏
  • 举报
回复
因为我对ruby一点都不了解 所以希望得到每一句的解释
taito 2009-12-14
  • 打赏
  • 举报
回复
你想解释到个什么程度。原贴不是已经有人说了吗?

2,763

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ruby/Rails
社区管理员
  • Ruby/Rails社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧