Python有一个很好的功能:
print([j**2 for j in [2,3,4,5]]) # => [4,9,16,25]
在Ruby中,它更简单:
puts [2,5].map{|j| j**2}
但是如果是关于嵌套循环Python看起来更方便.
在Python中,我们可以这样做:
digits = [1,2,3] chars = ['a','b','c'] print([str(d)+ch for d in digits for ch in chars if d >= 2 if ch == 'a']) # => ['2a','3a']
Ruby中的等价物是:
digits = [1,'c'] list = [] digits.each do |d| chars.each do |ch| list.push d.to_s << ch if d >= 2 && ch == 'a' end end puts list
Ruby有什么类似的东西吗?