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

时间:2017-07-10 19:29:56

标签: arrays ruby string loops

您好我必须将一个在无关方法中输入的字符串转换为一个数组,其中每个字符都是一个元素。然后我需要遍历这个数组,打印每个奇数字符。我主要是将这个字符串放入数组中的问题,我在Ruby中编写。任何帮助都会很棒。谢谢你。

4 个答案:

答案 0 :(得分:2)

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

input = "string"

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

这应该可以解决问题:

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

答案 3 :(得分:-1)

你可以使用#each_char方法给出一个枚举器,这样你就可以迭代字符。

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