Вы печатаете внутри цикла переменную, которая была инициализирована и значение которой никогда не менялось, поэтому всегда печатает "h".
Было бы иначе, если вы напечатаете ее внутри циклакак «счетчик» (extract
) увеличивается:
greeting = "hello"
extract = 0
while extract < greeting.length
p greeting[extract]
extract += 1
end
Если вы хотите сделать еще один шаг и использовать встроенные функции Ruby, вы можете использовать each_char
:
greeting = 'hello'
greeting.each_char(&method(:p))
# same output