入门求助,谢谢!!!
a =b = 'cat'
a.each {|b| c = b * a }
以上代码出自《programming ruby》的一个例子,很郁闷的发现puts b的结果为2.
请问这是什么原因? 抱歉各位:mrgreen: 偶明白了...
以后一定先努力自己解决问题:wink: 呵呵,我没明白!:em03: 原帖由 @念风 于 2008-1-22 08:47 发表 http://bbs.chinaunix.net/images/common/back.gif
呵呵,我没明白!:em03:
呵呵~ 其实个人认为ruby的这个特性不是很好。猥琐地修改了可能自己不想修改的object。each函数后接的block里的b就是那个变量(不是自己另外分配的一个变量)。所以每次都把一个a叔祖里滴值赋给b. :em14: :em14: :em14: :em14: :em14: :em14: :em14: 1.9对这一项有改动,需要注意。 原帖由 Magicloud 于 2008-5-13 08:53 发表 http://bbs.chinaunix.net/images/common/back.gif
1.9对这一项有改动,需要注意。
是的! 谢谢楼上的楼上和楼上
页:
[1]