File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Groovy and the fly likes Groovy - Basic Question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of EJB 3 in Action this week in the EJB and other Java EE Technologies forum!
JavaRanch » Java Forums » Languages » Groovy
Bookmark "Groovy - Basic Question" Watch "Groovy - Basic Question" New topic
Author

Groovy - Basic Question

Sri Yasasvi
Greenhorn

Joined: Nov 07, 2008
Posts: 27
Hi All,

I am new to Groovy. I am running some basic examples while learning.

Could anyone of you tell me why the last print statement is printing true.

def noParam = { -> println "I'm executed"; return "no param"}
def oneParam = { out -> println "Executed with a ${out.class} parameter"; out << "one param"}
println noParam != "no param // Printing true

Thanks,
Yasasvi

Sri Yasasvi
Greenhorn

Joined: Nov 07, 2008
Posts: 27
Here is my undrestanding.

noParam is Closure. So the statement (println noParam != "no param") is returning true.

Then i changed the statement (println noParam.toString() != "no param") . But it is still returning true. Could you please explain this.

Mohamed Sanaulla
Saloon Keeper

Joined: Sep 08, 2007
Posts: 3054
    
  33

Unlike simple code blocks, closures have to be executed. Try invoking call() on the closure and assign the result to some variable


Mohamed Sanaulla | My Blog
Sri Yasasvi
Greenhorn

Joined: Nov 07, 2008
Posts: 27
Thank you so much Mohamed!!!


Now i understand clearly.....
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Groovy - Basic Question
 
Similar Threads
How to print all the fields in a record
How do I convert a list of list into array [] []
setHeaders
Very basic question regarding example on p135/136 of the GIA book
Critique Please