Ruby - RWTH Aachen University

Werbung
Die Programmiersprache Ruby
Seminarvortrag von Lia Schulze Dephoff
1
Die Programmiersprache Ruby
Inhaltsübersicht
Einleitung
Geschichte
Grundlagen
 Syntax
 Prinzipien
Kontrollstrukturen
Funktionen
Objektorientierung
 Klassen
 Vererbung
 Mixins
Datenbankenanbindung
File-I/O
Zusammenfassung und Ausblick
2
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Einleitung
Projektdashboard
 Informationen über:
•
•
•
•
Projektname, Projektmanager, Projektingenieur
Verbleibende Arbeitsstunden
Verbleibendes Budget
Wichtige Meilensteine
Dashing von Shopify
Server Sent Events
3
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Geschichte
1993 von Yukihiro Matsumoto begonnen
Alternative objektorientierte Skriptsprache für Perl und Python
Entwicklung in der Sprache C
Bis 1996 alleine entwickelt
Danach große Beteiligung aus der Rubygemeinschaft
1999 Ruby Mailingliste “Ruby-Talk”
2005 Ruby on Rails
Ruby = “Rubin” - Anlehnung an Perl (“Pearl” = Perle)
4
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Grundlagen
Syntax:
 Variablen mit Namen und Zuweisung
• Kein Datentyp (dynamic typing)
• Case Sensitiv
• Buchstaben, Zahlen und Unterstrich
5
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Grundlagen
Prinzipien:
„Everything is an Object“
Basic Object
Object
Module
String
Numeric
Class
Integer
Fixnum
Float
Bignum
6
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Grundlagen
Prinzipien:
Ducktyping:
def calculate (a, b, c)
return (a + b)*c
end
“When I see a bird that walks like a duck and swims like a duck
example1 =and
calculate
2, 3a duck, I call that bird a duck.”
quacks1,like
puts example1
#9 Whitcomb Riley)
–
(James
example2 = calculate [1, 2, 3], [4, 5, 6], 2
puts example2.to_s
#[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]
example3 = calculate 'Äpfel ', 'und Birnen, ', 3
puts example3
#Äpfel und Birnen, Äpfel und
#Birnen, Äpfel und Birnen,
7
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Kontrollstrukturen
If Bedingung:
Case Vergleich mit „===“
puts " a " === " a " # -> true
puts String === " a " # -> true
puts " a " === String # -> false
Unless Bedingung:
Case Statement:
8
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Kontrollstrukturen
For Schleifen
While Schleifen
Until Schleifen
9
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Funktionen
Standard Parameter
Rückgabe des letzten Statements oder return
Array Parameter → unbegrenzte Anzahl an Parametern
10
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Objektorientierung
Klassen:
» Konstante
» Konstruktor
» Get-Methode
» Set-Methode
» Objekt
» Methodenaufrufe
11
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Objektorientierung
Klassen:
» Klassenvariable
» Konstruktor
» Klassenmethode
» Objekt
» Klassenmethodenaufruf
» NoMethodError
12
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Objektorientierung
Vererbung:
• Keine Mehrfachvererbung
• Keine Vererbung von Instanzvariablen
→ Erstellung erst bei Wertzuweisung
» Elternklasse
» Konstante
» Klassenvariable
» Konstruktor
» Kindklasse
» Neue Methode
» Objekt der Kindklasse
» Methode der Kindklasse
13
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Objektorientierung
Mixins:
• Modul
– Class erbt von Module
– Klasse von der keine Instanz erstellt werden soll
• Umgehen der fehlenden Mehrfachvererbung
• Zwei Arten von “Modul Vererbung”
• Einbinden mit include in eine Klasse
 > Instanzmethoden & Klassenvariablen & Konstanten an neue Klasse binden
• Einbinden mit extend in eine Klasse
– > Instanzmethoden als Klassenmethoden an Klasse
– > Instanzmethoden als Instanzmethoden an Objekt
14
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Datenbankenanbindung
DBI – Database Independent Interface
Modul zum Einbinden, stellt Methoden zu Datenbankanbindung bereit
Für verschiedene Datenbankensysteme
15
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Datenbankenanbindung
Mysql
Modul zum Einbinden, stellt Methoden zu Datenbankanbindung bereit
Für Mysql Datenbanken
16
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Datenbankenanbindung
TinyTDS
Modul zum Einbinden, stellt Methoden zu Datenbankanbindung bereit
Für Microsoft SQL Datenbanken
17
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
File I/O
Liest eine Anzahl an Zeichen aus und setzt den Zeiger auf das Folgezeichen
Liest eine Datei Zeile für Zeile in ein Array ein
IO.foreach liest eine Datei Zeile für Zeile in eine Variable
File::exists? prüft zuerst ob eine Datei existiert
18
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Zusammenfassung und Ausblick
Ruby:
Leicht lernbar mit Vorkenntnissen
Sehr intuitiv
Viele Bibliotheken vorhanden
Projektdashboard:
Daten mit DBI und TinyTDS auslesen
Daten aus Dateien auslesen
Mögliche Erweiterung:
Filter der Daten für verschiedene User
19
CAE Elektronik Proprietary Information and/or Confidential
Die Programmiersprache Ruby
Quellen
●
Ruby documentation: https://ruby-doc.org
●
Tutorialspoint http://www.tutorialspoint.com/ruby
●
Rubylearning http://rubylearning.com
●
O'Reilly Linux Devcenter (Interview) http://www.linuxdevcenter.com
●
Artima Developer (Interview) http://www.artima.com/intv/ruby4.html
●
Github
●
Wikipedia
20
CAE Elektronik Proprietary Information and/or Confidential
21
CAE Elektronik Proprietary Information and/or Confidential
DANKE!
22
Herunterladen