Frage von Ankido, 12

Was ist falsch in diesen ruby Ausdrücken?

"abc"+"123"-"123"

def double_value(x) 3*x

def double_value(x) 3*y

def double value(v) 2*x

Antwort
von LuckyChicken91, 7

In der ersten Zeile addierst du den String "abc" zu dem String "123" wenn du das dann ausgeben würdest mit "puts" würde "abc123" erscheinen also funktioniert das aber das Minus danach bringt einen Fehler weil Ruby nicht weiß was du mit einem Minus bei einem String meinst denn du kannst keine Texte Subtrahieren.

In der Zweiten Zeile erscheint ein Fehler weil dass "3*x" direkt hinter der Methoden Definition steht eigentlich müsste das so aussehen: 

def double_value(x)

  3*x

end

Dann würde der bei der Methode eingegebene Wert durch 3 geteielt werden allerdings würde nichts bei der Ausgabe passieren weil kein "puts" davor geschrieben ist.

Die Dritte Zeile macht keinen sinn denn dort wird zwar so gut wie das gleiche wie bei der Zweiten Zeile getan aber bei "3*y" ist die Variable anders. Sie ist nicht mehr x sondern y aber daher davor bei der Methode x steht macht das keinen sinn.

Bei der Vierten Zeile ist es das gleiche nur dass bei der Methode v steht und dass bei dem Methoden namen der Unterstrich fehlt.

Kommentar von Ankido ,

Annehmen, dass die nicht in der selben Zeile geschrieben sind. Also in einer normalen Form. Das Thema ist nicht die Form, sonden in der Formulierung. Was ist inkorrekt mit der 2. ??

Kommentar von LuckyChicken91 ,

"Annehmen, dass die nicht in der selben Zeile geschrieben sind. Also in einer normalen Form. Das Thema ist nicht die Form, sonden in der Formulierung."

Tut mir leid aber was du da geschrieben hast leuchtet mir nicht ganz ein aber ich denke du meinst dass die einzelnen Zeilen nicht so in dieser Form direkt untereinander geschrieben wurden sondern Schnipsel eines Skriptes sind.

Was mit dem Zweiten Code Schnipsel falsch ist?

Die Zweite Zeile ist inkorrekt weil dass "3*x" direkt hinter der Methoden Definition steht eigentlich müsste das so aussehen: 

def double_value(x)

  3*x

end

Dann würde der bei der Methode eingegebene Wert durch 3 geteielt werden allerdings würde nichts bei der Ausgabe passieren weil kein "puts" davor geschrieben ist.

also:

def double_value(x)

  puts 3*x

end



Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten