1.2) JM°'s Super-Kräfte

Einfaches Erzeugen von Objekten und Variablen

# Variable
a = 'c'
# Konstante A = 'c'
# Objekt Random.int(2,9).print

Schöne Verarbeitungsfolge

"Dies ist ein Test".split(' ').each.lower.replace('s', 'x').left(2).print
4.times.print( $+".Punkt" )

Sehr klar

a = Input.getInt.replaceNil(0).limit(1,10)

If(a > 5)
"Über fünf!".print
.else
"Unter fünf!".print

For(a, 7).each.print

... oder sehr schlank

a = Input.int.replaceNil(0).limit(1,10)

(a > 5)
"Über fünf!".print
.else
"Unter fünf!".print

{a, 7}.print

Datum und Zeit

lastWeek = Date - 7
tomorrow = Date + 1
diff = Time(8,17) - Time(4,9)

Bereiche

('a'..'h').each.print

Integriertes Event-System

# create an Event
:@event

# Define a Eventhandler
°:@event
	"Gestartet".print

# Run the Event
°@event

Multi-Call

:test(a, b)
	(a+b).print

°test(3.times..., 2.times...)

Flexibles Zuweisen von Variablen

v = 4
v.let(4)
4.mem(:v) 4 => v

Replizieren

('-' * 10).print
(10 * '=').print
'-'.mul(10).print

Events für Variablen

a:@varChanged
("Geändert zu "+%).print
a = 2

Flexible Positionen

list = [4,7,9]
list[2].print
list[-1].print