Hi romy,
Bei meinem ersten Beispielprogramm hatte ich dasselbe Problem.
Ich wollte einfach nur 2 Werte einlesen a la a= und b=
und dann die Addition der beiden ausgeben und immer bekam ich
34 wenn a=3 und b=4 war. Also hat er sie als Strings behandelt.
Sobald ich to_i eingefügt hatte, ging es.
also von ruby habe ich nun zwar exakt überhaupt keine Ahnung ... aber Dein Effekt und Christians Aussage, ruby besitze implizite Typkonversion, stehen nicht in Widerspruch zueinander.
Wenn Du zwei Variablen mit einem Operator verknüpfst, der nur für bestimmte Datentypen überhaupt definiert ist, dann erwarte ich von einer Sprache mit impliziter Typkonversion, daß sie die Typen automatisch umwandelt.
Aber ist "+" ein solcher Operator? Falls der nämlich sowohl für integer als auch für strings (und in beiden Fällen unterschiedlich) definiert wäre (bei JavaScript ist das beispielsweise so), würde die Sprache nicht wissen, was von beidem Du gemeint hast, und dann keine Chance haben, richtig zu raten. Dies würde exakt Dein Ergebnis "34" erklären.
Probiere doch mal andere Operatoren aus, um meine Theorie zu testen ...
Ich mag keine Sprachen mit überladenen Operatoren, und Dein Fall ist genau der Grund dafür.
Viele Grüße
Michael
T'Pol: I meant no insult.
V'Lar: Of course not. You're simply speaking your mind ... as you always have.