道喜技术日记 .^. 天天红玉世界

Rails Ruby MacOSX 。。。创新来自于刻苦的实践和勤奋的思考... www.hhtong.com


Ruby代码世界:尽可能使用Ruby语言方法”<<“

Gudao Luo2009-01-19 at 09:50发表的

尽可能使用Ruby语言操作方法”<<“
  • 说明
    •  下面第一段代码使用了变量“i”。在Ruby代码中,基本上不需要使用这种变量,即使需要也可以使用“each_with_index”。而第一段代码连这种需要也没有。
    • 下面第二段代码是使用方法“<<”改进后代码清单。注意使用这种方法时,一定要清楚方法“<<”之后的对象是什么。在Rails 2.2.2版本中因为使用此方法不当,产生了错误。参见: Rails2.2世界:国际化功能问与答(二)
下面参考链接的部分代码
#rows
rows=[]
i=0
@issues.each do |issue|
rows[i] = [issue.id.to_s, issue.tracker.name, issue.status.name,
issue.priority.name, issue.assigned_to ? issue.assigned_to.name : '',
format_date(issue.updated_on),
@project == issue.project ? issue.subject : "#{issue.project.name} - #{issue.subject}"]
i=i+1
end
使用方法“<<”改进后代码清单
#rows
rows=[]
@issues.each do |issue|
rows << [issue.id.to_s, issue.tracker.name, issue.status.name,
issue.priority.name, issue.assigned_to ? issue.assigned_to.name : '',
format_date(issue.updated_on),
@project == issue.project ? issue.subject : "#{issue.project.name} - #{issue.subject}"]
end

代码世界:对于数组的运算符“<<”和“+=”的差异

Gudao Luo2008-11-27 at 21:53发表的

对于数组的运算符“<<”
a = [1,2,3]
b = [4,5]
a << b
# 变量a结果为:[1,2,3,[4,5]]
对于整数(或者字符串等)的运算符“<<”
a = [1,2,3]
b = 4
a << b
# 变量a结果为:[1,2,3,4]
对于数组的运算符“+=”
a = [1,2,3]
b = [4,5]
a += b
# 变量a结果为:[1,2,3,4,5]