Slide 1

Slide 1 text

Ruby One-Liner

Slide 2

Slide 2 text

mit -e Programmcode angeben ruby -e ' puts "hello" '

Slide 3

Slide 3 text

ruby -e 'puts "Hello"' mit -e Programm angeben

Slide 4

Slide 4 text

ruby -e 'puts 24 * 60 * 60 ' mein Taschenrechner

Slide 5

Slide 5 text

ruby -p -e '' langer.txt -p print-schleife über datei

Slide 6

Slide 6 text

ruby -p -e 'puts' langer.txt leerzeile nach jeder zeile

Slide 7

Slide 7 text

ruby -p -e 'puts $_.length' langer.txt $_ enthält die Zeile

Slide 8

Slide 8 text

ruby -p -e 'puts "#{$.}.Zeile hat länge #{$_.length} " ' langer.txt $. enthält die Zeilennummer

Slide 9

Slide 9 text

Korrektur ● es geht nicht um Zeilen ● sondern um "Records" ● default: Record-Separator ist "\n" ● deswegen wird zeilenweise gelesen ● Der Separator ist in der Variable $/

Slide 10

Slide 10 text

ruby -00 -p -e 'puts "#{$.}.Absatz hat länge #{$_.length} " ' l.txt -00 verwende doppelten separator Absatz statt Zeile

Slide 11

Slide 11 text

ruby -p -e 'puts "."' index.html -n schleif, nicht ausgeben

Slide 12

Slide 12 text

ruby -n -e 'puts if /Schokolade/' index.html Finden grep

Slide 13

Slide 13 text

ruby -p -e 'gsub(/Game/, "Web")' index.html Ersetzen

Slide 14

Slide 14 text

ruby -i.bak -p -e 'gsub(/Game/, "Web")' index.html Ersetzen in der Datei neu in index.html, alt in index.html.bak

Slide 15

Slide 15 text

ruby -i.bak -p -e 'gsub(/Game/, "Web")' *.html Ersetzen in vielen Dateien

Slide 16

Slide 16 text

ruby command line switches + ruby one-liners + unix | Learn More