ruby here-doc с циклом

Можете ли вы сделать цикл и здесь-doc, что-то вроде этого:

array.each do |ele|
  a=<<-TEXT
   ele
   some stuff
  TEXT
end

Спасибо


person Matt    schedule 27.11.2010    source источник
comment
Я не понимаю, о чем вы спрашиваете. Можешь перефразировать? Какой выходной результат вы хотите получить?   -  person jwueller    schedule 28.11.2010
comment
@elusive хорошо обновлено, нет никакого конкретного вывода, кроме того факта, что мне нужно получить элементы из массива   -  person Matt    schedule 28.11.2010
comment
Пожалуйста, добавьте пример ввода и вывода. Я не понимаю, как цикл и HERE-doc могут быть связаны.   -  person jwueller    schedule 28.11.2010


Ответы (1)


array = %w[one two many]

array.each do |ele|
  a=<<-TEXT
  This is some text and
  this --> #{ele} <-- is the ele!

  TEXT

  puts a
end

приводит к

This is some text and
this --> one <-- is the ele!

This is some text and
this --> two <-- is the ele!

This is some text and
this --> many <-- is the ele!
person lbz    schedule 27.11.2010
comment
ааа ладно, я ставил а снаружи петли. Хотя в этом есть смысл. Спасибо! - person Matt; 28.11.2010
comment
@steenslag правда. Мэтт хотел присвоить строку a в своем вопросе; Я случайно добавил puts, чтобы понять, что происходит :) - person lbz; 28.11.2010
comment
Вы все еще можете поместить puts вне цикла, если вы не назначите a внутри цикла и не сделаете each map. Я бы даже предпочел именно так. - person hurikhan77; 28.11.2010
comment
Да, но мне нужна переменная для дальнейшего использования в коде. Его не печатают. - person Matt; 28.11.2010