遍历字符串的每个字母

时间:2018-11-26 01:02:38

标签: ruby iteration

我正在尝试遍历字符串的每个字母以打印出单词。

greeting = "hello"
extract = 0
letter = greeting[extract]

while extract < greeting.length
  p letter
  extract += 1
end

结果是"h", "h", "h" ,"h", "h"而不是问候。我在做什么错了?

1 个答案:

答案 0 :(得分:5)

您正在循环内打印一个已初始化且其值从未更改的变量,这就是为什么始终打印“ 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