2016-07-05 18 views
1

Ich habe Schwierigkeiten mit Kommas in Argumenten. Daher kann ich in keiner Methodendefinition mehrere Parameter verwenden. Grundsätzlich kann ich Methoden nur mit 1 Argument aufrufen. Ich suchte überall auf Google und kann keine Antwort finden ...Verwendung von Komma verursacht Syntaxfehler

Ich benutze Startbefehl Eingabeaufforderung mit Ruby. IRB 2.3.0. Ich hatte auch das Problem bei C9.

Ein sehr einfaches Beispiel:

def car_color (color_1 ="blue", color_2 ="red", size="big") 
puts "my #{size} car is #{color_1} and #{color_2}." 
end 

auf Terminal/rb: car_color gibt die gewünschte Ausgabe -der oben string - just fine.

BUT

car_color ("x", "y", "a")

produziert:

Syntaxfehler, unerwartete '', erwartet end-of-Eingangs car_color ("x", "y",^"a")

Es ist wirklich ein Anfänger!

+1

Seine seltsam, denn seine richtig in meinem Rechner läuft:

Es sollte so geschrieben sein. Übrigens, hast du 'car_color (" x "," y "," a ")' oder 'car_color (" x "," y "," a ")' ausgeführt? Zwischen 'car_color' und Argumentstart sollte kein Leerzeichen stehen. –

+0

@NilsLandt Das hat es geschafft! OT Glaubst du, irgendjemand könnte von dieser Frage profitieren ... wenn ich löschen sollte oder nicht. Besorgt über Down-Voting ... – chignon

+0

Ich glaube nicht, dass jemand Sie für diese Frage DownVote! Obwohl ein kleiner Tippfehler, haben Sie die Details gut dargestellt. Auch, ich denke, solche Tippfehler sind unter Ruby Newbs üblich. –

Antwort

1

Sie müssen den Abstand zwischen car_color und Argument Start entfernen.

car_color("x", "y", "a")

1

Entfernen Sie den Abstand zwischen car_color und ("x", "y", "a").