Arrays 如何将输入字符串转换为包含该字符串的每个字符的数组-ruby
嗨,我必须将一个输入到无关方法中的字符串转换成一个数组,其中每个字符都是一个元素。然后我需要遍历这个数组,打印每个奇数字符。我主要是在将这个字符串放入数组时遇到问题,我是用Ruby编写的。任何帮助都会令人惊讶的。谢谢。您可以使用chars获取给定字符串的所有字符的数组,例如:Arrays 如何将输入字符串转换为包含该字符串的每个字符的数组-ruby,arrays,ruby,string,loops,Arrays,Ruby,String,Loops,嗨,我必须将一个输入到无关方法中的字符串转换成一个数组,其中每个字符都是一个元素。然后我需要遍历这个数组,打印每个奇数字符。我主要是在将这个字符串放入数组时遇到问题,我是用Ruby编写的。任何帮助都会令人惊讶的。谢谢。您可以使用chars获取给定字符串的所有字符的数组,例如: input = "string" input.chars #=> ["s", "t", "r", "i", "n", "g"] 您可以使用每个_char方法,该方法将提供一个枚举数,以便您可以在char上进行迭代
input = "string"
input.chars
#=> ["s", "t", "r", "i", "n", "g"]
您可以使用每个_char方法,该方法将提供一个枚举数,以便您可以在char上进行迭代
value = "Hello, World"
value.each_char { |char| puts char }
要打印每个奇数字符,可以拆分每个字符上的字符串,然后测试索引是否为奇数,如下所示:
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 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
类似input=gets.chomp.SPLIPT的内容请包括一个输入和所需输出的示例。您可以避免在选项2中使用with_index:input_string.each_char.with_index{| char,index | puts char if index.odd?}跟踪索引。