Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1.

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

OStR Dipl. Ing. Carsten Kraft
Ein- und Ausgabe von Dateien
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Forschungszentrum caesar
Einführung in die Programmierung Zusammenfassung
Kapselung , toString , equals , Java API
10. Grundlagen imperativer Programmiersprachen
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
der Universität Oldenburg
Ruby on Rails im Überblick
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Java: Grundlagen der Sprache
Java: Grundlagen der Objektorientierung
Die Skriptsprache Lua Softwaretechnologie II.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Dynamische Webseiten mit PHP
Oracle PL/SQL Server Pages (PSP). © Prof. T. Kudraß, HTWK Leipzig Grundidee: PSP – Internet-Seiten mit dynamischer Präsentation von Inhalten durch Einsatz.
Programmieren mit JAVA
Programmieren mit JAVA
Die Skriptsprache Perl (7)
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Klassen und Objekte
Einführung in die Programmierung Datensammlung
Einführung MySQL mit PHP
Marcus Haller & René Schulze
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Einführung in die Programmierung
Java programmieren mit JavaKara
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
1 Sg 3 – JSP - Java Server Pages Softwareengineering Praktikum Java Server Pages Nicole Brandstätter Josef Sturm Karl Streicher.
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
PHP und MYSQL am Organisatorisches Der komplette Kurs im Schnelldurchgang Bewertung von wichtig und unwichtig Historisch Kulturwissenschaftliche.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Debugging in Lua Universität zu Köln Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller Referent: Artur Wilke.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Informatik 1 Letzte Übung.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Programmiersprachen Proseminar Grundlagen wissenschaftlichen Arbeitens
Purga - Scriptengine Ein Einblick.
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Algorithmen und Datenstrukturen SS 2005
Einführung in PHP.
Einführung in PHP 5.
MODULA-2.
Objektorientierung.
Inf K1/2 Sj 13/14 GZG FN W.Seyboldt 1 SFZ FN Sj. 13/14 Python Klassen und Objekte.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
RelationentheorieObjektorientierte Datenbanken  AIFB SS C++-ODL (1/6) Erweiterung des deklarativen Teils einer C++-Klasse Datentypen d_String,
TypoScript.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
Geschichte - Entstehung - Was ist PHP? Einordnung - Allgemeines
Einführung in die Programmierung mit Java
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 7. Vorlesung WS 2002/2003.
The Programming Language Pascal
Einführung in Java PING e.V. Weiterbildung Andreas Rossbacher 24. März 2005.
Seminar Internettechnologie Prof. Dr. Lutz Wegner Julia Mikov WS 06/07
Rechen- und Kommunikationszentrum (RZ) Die Skriptsprachen PHP und Ruby Bettina Görzen Rechen- und Kommunikationszentrum Seminarraum 001 Stand:
Einführung. Ziel der Veranstaltung  Vermittlung von Grundkenntnissen in C++  Solide Basis für anschließende Weiterentwicklung  Fähigkeit, kleine Programme.
S INGLETON P ATTERN IN M ATLAB By Giuseppe
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
File Objekt
Übersicht und Benutzung von Sphinx
PGdP Tutorstunde 2 Gerald Mahlknecht Technische Universität München Informatik.
The Programming Language Pascal
 Präsentation transkript:

Die Programmiersprache Ruby Seminarvortrag von Lia Schulze Dephoff 1

CAE Elektronik Proprietary Information and/or Confidential Inhaltsübersicht Einleitung Geschichte Grundlagen  Syntax  Prinzipien Kontrollstrukturen Funktionen Objektorientierung  Klassen  Vererbung  Mixins Datenbankenanbindung File-I/O Zusammenfassung und Ausblick 2 Die Programmiersprache Ruby

CAE Elektronik Proprietary Information and/or Confidential Einleitung Die Programmiersprache Ruby 3 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 Geschichte Die Programmiersprache Ruby 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 Grundlagen Die Programmiersprache Ruby Syntax:  Variablen mit Namen und Zuweisung Kein Datentyp (dynamic typing) Case Sensitiv Buchstaben, Zahlen und Unterstrich 5

CAE Elektronik Proprietary Information and/or Confidential Grundlagen Die Programmiersprache Ruby Prinzipien:„Everything is an Object“ Object String Numeric Module ClassInteger FixnumBignum Float Basic Object 6

CAE Elektronik Proprietary Information and/or Confidential Grundlagen Die Programmiersprache Ruby Prinzipien: Ducktyping: “When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.” – (James Whitcomb Riley) def calculate (a, b, c) return (a + b)*c end example1 = calculate 1, 2, 3 puts example1#9 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 Kontrollstrukturen If Bedingung: Unless Bedingung: Case Statement: 8 Die Programmiersprache Ruby Case Vergleich mit „===“ puts " a " === " a " # -> true puts String === " a " # -> true puts " a " === String # -> false

CAE Elektronik Proprietary Information and/or Confidential Kontrollstrukturen For Schleifen While Schleifen Until Schleifen 9 Die Programmiersprache Ruby

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 Zusammenfassung und Ausblick Die Programmiersprache Ruby 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 ● Ruby documentation: ● Tutorialspoint ● Rubylearning ● O'Reilly Linux Devcenter (Interview) ● Artima Developer (Interview) ● Github ● Wikipedia Quellen Die Programmiersprache Ruby 20

CAE Elektronik Proprietary Information and/or Confidential 21

DANKE! 22