Есть ли в Ruby что-то вроде понимания списка Python?

Python имеет приятную особенность:

print([j**2 for j in [2, 3, 4, 5]]) # => [4, 9, 16, 25]

В Ruby это даже проще:

puts [2, 3, 4, 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, 2, 3]
chars = ['a', 'b', '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 что-то похожее?

Ответы на вопрос(3)

Ваш ответ на вопрос