Die Programmiersprache Ruby

Blog| Forum| Wiki  

Groovy ist eine Scriptsprache auf Basis der Java Virtual Machine. Die Sprache wird nicht wie andere Skriptsprachen über einen interpretierten Abstract Syntax Tree ausgeführt, sondern vor dem Ablauf direkt in Java-Bytecode übersetzt. Groovy hat viele Ideen aus Python, Ruby und Smalltalk übernommen.

Inhaltsverzeichnis

Weblinks

Blöcke

Sowohl in Ruby als auch in Groovy gibt es dynamische Closures oder Blöcke.

Beispiel

Ruby:


1
2
3
'Das ist ein Baum'.each { |str|
  str.size.times { |i| puts str[0..i].center(str.size) }
}


Groovy:


1
2
3
4
5
{str->
 for ( i in 1..str.size() ) {
  println str[0...i].center(str.size())
 }
}.call("Das ist ein Baum")


Unterschiede

In Groovy gibt es nur lokale Returns. In Ruby springt ein im Block plaziertes Return aus der den Block aufrufenden Methode:


1
2
3
4
5
6
7
8
def do_5_times
  (1..10).each { |e|
    puts e
    return if e == 5
  }
  puts 'will never reach this code'
end
do_5_times


Das produziert folgenden Output:

1
2
3
4
5