Hallo Ich schreibe eine Methode, die jedes Element in einem Array für ein bestimmtes Zeichen überprüfen und die Anzahl der Male zurückgeben muss, die das Zeichen insgesamt in der erscheint Elemente des Arrays.Zählen, wie oft ein Zeichen in einem Array von Strings in Ruby erscheint
Für die Erstellung squarenumbers
Array Ich habe diesen Code:
squarenumbers = []
for k in 1..n
squarenumbers << k**2
end
squarenumbers.map { |a| a.to_s }
d.to_s
Und die Ziffer zu zählen, so weit habe ich geschrieben:
for k in 0..n-1
count =+1 if squarenumbers[k].include?"d"
end
ich eine Reihe von Größe erstellt haben n
die Quadratzahlen enthalten, von 1 to n
und ich habe jetzt Probleme zu zählen, wie oft die Zahl d
in jedem Element erscheint.
Ich konvertierte d
in eine Zeichenfolge in der Methode und kann nicht verstehen, warum die Zählung nicht funktioniert. Ich entschuldige mich, dass ich ein Anfänger bin, aber ich dachte, was ich geschrieben habe, würde jedes Element im Array nach dem Zeichen d überprüfen und jedes Mal, wenn eine Zeichenfolge es enthält, 1 zum Zähler hinzufügen.
Vielen Dank für Ihre Hilfe.
ändern möchten auch Ihre 'squarenumbers' Array hinzuzufügen. – Manishh
was macht d? Sie konvertieren es in eine Zeichenfolge? Warum? 2. Sache 'Quadratnummer.map {| a | a.to_s} 'ändert nicht' square_numbers' square_numbers ist immer noch ein Array von Zahlen. Die dritte Sache 'squadrennumbers [k]' wird '' '' 'nicht haben, so dass es immer 0 – Manishh
@Manishh zurückgibt. Ich konvertierte d zu einer Zeichenkette, weil die Art, wie ich dies tun würde, die quadratischen Zahlen in Zeichenfolgen und konvertieren würde dann benutzen Sie include? um zu zählen, wie oft die Zahl d in den Zahlen erscheint, aber ich habe festgestellt, dass dies nicht funktioniert, da Wiederholungen nicht gezählt werden. Warum ändert die Karte die Elemente nicht? Muss ich das in einem separaten Array speichern? Warum gibt es Null zurück, wenn ich include verwende und jedes Element des Arrays überprüfe? – rb20