Я новичок в ruby и в настоящее время пытаюсь работать с каждым символом отдельно от базовой строки в ruby. Я использую ruby 1.8.6 и хотел бы сделать что-то вроде:
"ABCDEFG".each_char do |i|
puts i
end
Это вызывает ошибку undefined `each_char '.
Я ожидал увидеть вертикальный вывод:
A
B
C
D
..etc
Определен ли метод each_char
только для 1.9? Я попытался использовать простой метод each
, но блок просто выводит всю строку в одной строке. Единственный способ, которым я рисую, как это сделать, что довольно неудобно, - создать массив символов с самого начала:
['A','B','C','D','...'].each do|i|
puts i
end
Выводит желаемое значение:
A
B
C
..etc
Может ли быть способ получить этот вывод с использованием немодифицированной строки для начала?
Я думаю, что эквивалент Java:
for (int i = 0; i < aString.length(); i++){
char currentChar = aString.charAt(i);
System.out.println(currentChar);
}