Ich habe einen 'Fixnum in String (TypeError)' Fehler umgewandelt und obwohl es einfach genug erscheint, bin ich mir nicht sicher, wie ich es schaffen soll es. Ich dachte, meine Logik sei vernünftig - konvertiere die eingegebene String-Variable in eine ganze Zahl und führe dann die Grundoperation aus - aber anscheinend fehlt mir ein Schlüssel an Information.'+' kann Fixnum nicht in String umwandeln (TypeError)
puts 'What is your favourite number?'
favenum = gets.chomp
better = favenum.to_i + 1
puts 'Yeah '+favenum+' is nice enough but '+better+' is bigger and better by far! Think on.'
Haben Sie versucht Suche nach einer Antwort, aber Beispiele für die gleichen Fehler gibt weit über meine rudimentären Rubin Fähigkeiten gegenwärtig sind.
Also ist der Fehler in meinem Code in der Ausgabe der Variablen, nicht in der Manipulation von ihnen in den Zeilen oben? Habe ich Recht, wenn ich bedenke, dass Favenum ursprünglich als String gespeichert ist? Vielleicht ist das Tutorial, das ich befolge (http://pine.fm/LearnToProgram/?Chapter=04), nicht alles, was es ist, um ... zu sein? –
@DanSolo: In der Tat, 'Favenum' ist in der Tat eine Zeichenfolge und sollte nicht den Fehler verursachen. Es ist Integer 'besser' Variable, die es verursacht. –
Großartig, danke. Jetzt, wo du es erwähnst, kann ich logisch sehen, warum '+ better +' benutzt wird, wenn besser eine ganze Zahl ist, würde einen Fehler verursachen. Danke für die alternativen Möglichkeiten, um es zu umgehen. Meine Reise geht weiter ... –