Ruby: метод справки - PullRequest
       18

Ruby: метод справки

1 голос
/ 12 апреля 2011

Я - специалист по информатике, и мы только изучаем Ruby. Я очень запутался в этой проблеме, которую мы должны решить, в основном из-за синтаксиса. Вот что мы должны сделать:

Напишите метод, который принимает массив строк и блок и вызывает этот блок для каждой строки. Напомним, что ключевое слово для вызова блока - yield. Синтаксис для вызова следующий:

method(["blah", "Blah"]) {...}

Проверьте метод, передав ему блок, который печатает результат применения реверса к каждой строке. Распечатайте исходный массив после вызова. Проверьте это снова, передав блок, который вызывает реверс! Распечатайте исходный массив. Соблюдайте различия, объясните их в комментариях.

Я вообще не уверен, как решить эту проблему. Я особенно новичок, чтобы блокировать и уступать.

1 Ответ

3 голосов
/ 12 апреля 2011
def my_method(array, &block)
  array.each{|a| yield a}
end

array = ["one", "two", "three"]
my_method(array) do |a|
  puts a.reverse
end
#=> eno
#=> owt
#=> eerht
array
#=> ["one", "two", "three"]
my_method(array) do |a|
  puts a.reverse!
end
#=> eno
#=> owt
#=> eerht
array
#=> ["eno", "owt", "eerht"] 
...