如何将输入字符串转换为包含该字符串的每个字符的数组 - ruby



嗨,我必须将一个以不相关方法输入的字符串转换为一个数组,其中每个字符都是一个元素。然后,我需要遍历这个数组,打印每个奇数字符。我主要是在将这个字符串放入数组中时遇到问题,我正在用 Ruby 编写。请提供任何帮助。谢谢。

您可以使用chars来获取给定字符串的所有字符的数组,例如:

input = "string"
input.chars
#=> ["s", "t", "r", "i", "n", "g"]

要打印每个奇数字符,您可以在每个字符上拆分字符串,然后像这样测试索引是否为奇数:

def unrelated_method(input_string)
input_string.split('').each_with_index do |char, index|
puts char if index.odd?
end
end

另一种选择是遍历每个字符并自己跟踪索引,如下所示:

def unrelated_method(input_string)
index = 0
input_string.each_char do |char|
puts char if index.odd?
index += 1
end
end

当然,你可以把它缩短为:

def unrelated_method(input_string)
input_string.split('').each_with_index { |ca, i| puts ca if i.odd? }
end

这应该可以解决问题:

def print_odd_chars(str)
str.each_char.each_with_index do |char, i|
print char if i.odd?
end
end

您可以使用#each_char方法,该方法将提供一个枚举器,以便您可以迭代字符。

value = "Hello, World"
value.each_char { |char| puts char }

相关内容

  • 没有找到相关文章

最新更新