yineleme ruby 1.8.6 bir Dize (each_char)her karakter üzerinde
Ruby için yeni ve şu anda ruby temel bir Dize ayrı ayrı her karakter üzerinde çalışmaya çalışıyorum. Ruby 1.8.6? " gibi bir şey yapmak istiyorum kullanıyorum:
"ABCDEFG".each_char do |i|
puts i
end
Bu tanımsız bir yöntem `each_char' hata üretir.
Dikey bir çıkış beklediğim:
A
B
C
D
..etc
Sadece 1.9 each_char
yöntem tanımlanmıştır. each
düz yöntemini kullanarak denedim, ama bu engelleme sadece bir satır, tüm dize fllar. Oldukça rahatsız edici olan, bunu yapmak için nasıl düşündüm tek yolu baştan beri karakter dizisi oluşturmak için:
['A','B','C','D','...'].each do|i|
puts i
end
Bu istenen sonuçları:
A
B
C
..etc
Belki de bir şekilde bu çıkışı ile başlamak için değiştirilmemiş bir dize kullanarak elde etmek için var mı?
Java eşdeğer olduğunu düşünüyorum
for (int i = 0; i < aString.length(); i ){
char currentChar = aString.charAt(i);
System.out.println(currentChar);
}
CEVAP
Aynı sorun bende de var. Ben genelde 15* *çare:
"ABCDEFG".split("").each do |i|
puts i
end
Ayrıca kendini bu şekilde uygulamak olabilir sanırım
class String
def each_char
self.split("").each { |i| yield i }
end
end
Düzenleme:henüz başka bir alternatif String#each_byte
Ruby mevcuttur ASCII dizesi her char ASCII değerini döndürür 1.8.6,:
"ABCDEFG".each_byte do |i|
puts i.chr # Fixnum#chr converts any number to the ASCII char it represents
end
Nasıl bir Dize bir karakter yineleme s...
Neden küçük bir liste daha küçük bir d...
Ne's 'Ruby yolu' iki di...
Hızlı bir dizedeki her karakter üzerin...
Bir dizi üzerinde yineleme için Nasıl,...