| 

.NET C# Java Javascript Exception

2
Hallo, wenn ich die folgende Funktion habe:
def funktion(title) {
println(title)
}

kann ich ich die folgendermaßen aufrufen
funktion "parameter"

Wenn ich aber die den ersten Buchstaben der Funktion groß schreibe:
def Funktion(title) {
println(title)
}

erhalte ich beim Aufruf mit
Funktion "parameter"

die Fehlermeldung
unexpected token: parameter at line: 5, column: 10

Folgendes funktioniert aber ohne Probleme:
Funktion("parameter")
Funktion 3


Jetzt meine Frage: Warum ist das so? Ich verwende Groovy Version 1.7.8
News:
07.03.2011
Gast
21 1
Floyd 11,0k 3 9
Edit: Tags hinzugefügt
Floyd 07.03.2011
2 Antworten
2
Ist entweder ein Bug oder ein Feature :-)

Ich vermute mal dass Groovy den Großbuchstaben irgenwie mit einer Klasse assoziiert

Wenn Du folgenden Code in der Groovy Console ausführst

def Funktion(title) {
println(title)
}

def txt = "parameter"
Funktion txt


erhält man als Fehlermeldung:
The current scope already contains a variable of the name txt
at line: 7, column: 10

unable to resolve class Funktion
at line: 7, column: 10


was allerdings geht

def txt = "parameter"
Funktion "${txt}"


also scheinbar doch ein Bug.

Ist mir bisher noch nicht aufgefallen, ich verwender bei Methoden immer Klammern, macht die Sache für mich übersichtlicher.
07.03.2011
Hauke 76 1
0
Also als Groovy-Leie, kann ich dir keine genau Aussage dazu machen aber mal eine Gegenfrage?

Funktioniert

funktion("parameter")

?
07.03.2011
Floyd 11,0k 3 9

Stelle deine Groovy-Frage jetzt!