Ruby One-Liners

51fe3fb53af0ec95918f6b8d159631e9?s=47 bjelli
March 23, 2012

Ruby One-Liners

A lightning talk at Salzburg Barcamp "The Next Web" in March 2012.

51fe3fb53af0ec95918f6b8d159631e9?s=128

bjelli

March 23, 2012
Tweet

Transcript

  1. Ruby One-Liner

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

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

  4. ruby -e 'puts 24 * 60 * 60 ' mein

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

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

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

  8. ruby -p -e 'puts "#{$.}.Zeile hat länge #{$_.length} " '

    langer.txt $. enthält die Zeilennummer
  9. Korrektur • es geht nicht um Zeilen • sondern um

    "Records" • default: Record-Separator ist "\n" • deswegen wird zeilenweise gelesen • Der Separator ist in der Variable $/
  10. ruby -00 -p -e 'puts "#{$.}.Absatz hat länge #{$_.length} "

    ' l.txt -00 verwende doppelten separator Absatz statt Zeile
  11. ruby -p -e 'puts "."' index.html -n schleif, nicht ausgeben

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

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

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

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

    Dateien
  16. ruby command line switches + ruby one-liners + unix |

    Learn More