Ruby on rails vorlesung 2 Ruby

918 views

Published on

Einführung in die Programmiersprache Ruby

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
918
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
22
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide


  • Rails bietet eine erweiterte Version bei der zusätzlich dies gesamte Rails-Umgebung verfügbar ist.
    LIVE: irb
  • Rails bietet eine erweiterte Version bei der zusätzlich dies gesamte Rails-Umgebung verfügbar ist.
    LIVE: irb
  • Rails bietet eine erweiterte Version bei der zusätzlich dies gesamte Rails-Umgebung verfügbar ist.
    LIVE: irb
  • Rails bietet eine erweiterte Version bei der zusätzlich dies gesamte Rails-Umgebung verfügbar ist.
    LIVE: irb
  • Ruby - STMT --> Ergebnis in der nächsten Zeile
    Arithmetik
    Strings
    Integer-Werte
    Fließkomme-Werte
  • Kontrast: Java kennt Objekte, hat jedoch auch primitive Datenstrukturen (NICHT-Objekte) wie z.B. int-Werte.
  • Auch Zahlen sind Objekte
    Was wenn zwei Datentypen kombiniert werden (Typecast-Problem)?
  • Kontrast: Java kennt Objekte, hat jedoch auch primitive Datenstrukturen (NICHT-Objekte) wie z.B. int-Werte.
  • Eingebaute Type-Cast-Funktionen!
  • Symbole: etwas speichersparender als Strings, oft als Hash-Keys verwendet
  • Symbole: etwas speichersparender als Strings, oft als Hash-Keys verwendet
  • Eingebaute Type-Cast-Funktionen!
  • Symbole: etwas speichersparender als Strings, oft als Hash-Keys verwendet
  • Lokale Variable
    Variablennamen
    Ausführen von Methoden
    String-Interpolation
    Instanz-Variable: Wie JAVA, innerhalb eines Objekts gültig



  • Unterschied: Symbol, String: wurde der Hash mit Symbolen als Schlüssel aufgebaut, dann müssen wir auch beim Zugriff Symbole verwenden... anloges gilt für Strings als Keys.

    Natürlich können Hash-Werte auch geändert bzw. hinzugefügt werden.




  • Die Anzahl der zu übergebenen Parameter hängt von der aufgerufenen Methode ab:
    each bekommt 1 Argument
    each_with_index bekommt 2 Argumente
    Details sind der Ruby bzw. Rails-Doku zu entnehmen:
    http://www.ruby-doc.org/core/classes/Array.html#M002196
  • Symbole: etwas speichersparender als Strings, oft als Hash-Keys verwendet




  • Ruby on rails vorlesung 2 Ruby

    1. 1. Ruby on Rails Dozent Dipl.-Inf. (FH) Julian Fischer Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 1
    2. 2. Erste Schritte in Ruby - IRB Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 2
    3. 3. Erste Schritte in Ruby Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 3
    4. 4. Erste Schritte in Ruby • IRB Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 3
    5. 5. Erste Schritte in Ruby • IRB • = Interactive Ruby Shell Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 3
    6. 6. Erste Schritte in Ruby • IRB • = Interactive Ruby Shell • Ausführen von Ruby Befehlen Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 3
    7. 7. Erste Schritte in Ruby • IRB • = Interactive Ruby Shell • Ausführen von Ruby Befehlen • Gut zum Testen von Code-Stücken Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 3
    8. 8. Alles ist ein Objekt Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 4
    9. 9. Alles ist ein Objekt irb(main):001:0> 1+1 => 2 irb(main):002:0> "i hate hello world examples!" => "i hate hello world examples!" irb(main):003:0> 23 => 23 irb(main):004:0> 3.14 => 3.14 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 4
    10. 10. In Ruby ist alles ein Objekt! Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 5
    11. 11. Datentypen Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 6
    12. 12. Datentypen irb(main):005:0> "all your base are belong to us".length irb(main):006:0> 3.14.class irb(main):007:0> 1.class Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 6
    13. 13. Was wenn wir Werte unterschiedlicher Datentypen kombinieren? Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 7
    14. 14. Type-Casts Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 8
    15. 15. Type-Casts irb(main):008:0> "1" + 1 irb(main):009:0> "1".to_i + 1 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 8
    16. 16. Symbole vs. Strings Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    17. 17. Symbole vs. Strings • String: "string" Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    18. 18. Symbole vs. Strings • String: "string" • Symbol: :symbol Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 9
    19. 19. Symbole vs. Strings Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    20. 20. Symbole vs. Strings irb(main):013:0> "string" => "string" irb(main):014:0> :symbol => :symbol irb(main):015:0> :symbol.class => Symbol Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 10
    21. 21. Variablen Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 11
    22. 22. Variablen Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    23. 23. Variablen irb(main):016:0> variable = "fubar" irb(main):017:0> whatever_variable = "whatever_string" irb(main):018:0> whatever_variable irb(main):019:0> whatever_variable.length irb(main):020:0> "String-Interpolation: #{whatever_variable}" irb(main):024:0> @instanz_var = "test" Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 12
    24. 24. Arrays Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 13
    25. 25. Arrays Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 14
    26. 26. Arrays my_a = ["tomate", "gurke", "karotte"] irb(main):026:0> my_a[0] irb(main):028:0> my_a.first rb(main):029:0> my_a.last Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 14
    27. 27. Hashes Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 15
    28. 28. Hashes Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 16
    29. 29. Hashes irb(main):030:0> my_h = {:name => "James", :age => "45"} irb(main):031:0> my_h[:name] irb(main):032:0> my_h["name"] irb(main):033:0> my_h = {"name" => "James", "age" => "45"} irb(main):034:0> my_h[:name] irb(main):035:0> my_h["name"] irb(main):036:0> my_h["name"] = "Tony" irb(main):037:0> my_h["size"] = 180 Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 16
    30. 30. Code-Blöcke Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 17
    31. 31. Blocks Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    32. 32. Blocks • Auführen eines Code-Blocks Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    33. 33. Blocks • Auführen eines Code-Blocks • Oft zum durchlaufen einer Menge verwendet (.each) Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 18
    34. 34. Blocks Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    35. 35. Blocks irb(main):038:0> my_a.each do |el| irb(main):039:1* puts el irb(main):040:1> end irb(main):041:0> my_a.each_with_index do |el, index| irb(main):042:1* puts "#{el} ist nr #{index}" irb(main):043:1> end irb(main):044:0> my_a.each { |el| puts el } Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 19
    36. 36. Literatur und Links Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 20
    37. 37. Literatur und Links Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    38. 38. Literatur und Links • Ruby - API http://www.ruby-doc.org/core/ Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    39. 39. Literatur und Links • Ruby - API http://www.ruby-doc.org/core/ • Ruby in 20 Minuten http://bit.ly/cDBmUc Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    40. 40. Literatur und Links • Ruby - API http://www.ruby-doc.org/core/ • Ruby in 20 Minuten http://bit.ly/cDBmUc • Von Java zu Ruby http://bit.ly/bgnpAb Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 21
    41. 41. ... to be continued Dipl.-Inf. (FH) Julian Fischer - fischer@avarteq.de - www.avarteq.de - www.railshoster.de - www.enterprise-rails.de 22

    ×