Packages (1) Einführung in Perl Packages und Module. Packages noch ein Beispiel. Packages Beispiel
|
|
- Meta Kohler
- vor 7 Jahren
- Abrufe
Transkript
1 Packages Einführung in Perl Packages und Module Gültigkeitsbereich von Variablen Strict Pragma local vs. my wiederverwendbarerer Code Standard-Bibliothek Module Pragmas BEGIN- und END-Routine Packages (1) erlauben Namensräume ( name spaces ) zu begrenzen sinnvoll, z.b. wenn fertiges Programmteil in neues Programm geladen werden soll (siehe Module) mehrere Programmierer am selben Programm arbeiten verhindern ungewollte Verwendung von anderweitig belegten Variablen Beginn eines Packages: package Name des Pakets; alle Variablen und Subroutinen (= Funktionen) sind in Bezug auf Packages definiert $Name des des Pakets::Array, etc. &Name des Pakets::Subroutine Perl, Pakte & Module 1 Perl, Pakte & Module 2 Packages Beispiel Packages noch ein Beispiel package Camel; $animal = "Amelia"; print "$animal\n"; das selbe ausführlicher: package Camel; $Camel::animal = "Amelia"; print "$Camel::animal\n"; # Beginn des Namensraums Camel # Belegung der Variable animal im # Namensraum Camel # Ausgabe: :> Amelia # Beginn des Namensraums Camel # Belegung der Variable animal im # Namensraum Camel # Ausgabe: :> Amelia package Camel; $animal = "Amelia"; &feed($animal); package Dog; $animal = "Fido"; &feed($animal); sub Camel::feed { my $x = $_[0]; print "Ich fuettere das Kamel $x.\n" sub Dog::feed{ my $x = $_[0]; print "Ich fuettere den Hund $x.\n"; # Ausgabe: # :>Ich fuettere das Kamel Amelia. # :>Ich fuettere den Hund Fido. Perl, Pakte & Module 3 Perl, Pakte & Module 4
2 Packages (3) jede Variable wird mit Package verbunden auch z.b. $ Ausnahme: mit my definierte Variablen jedes Package besitzt eigenen symbol table Symboltabelle speichert Variablennamen und -werte aller Skalaren, Arrays, Hashes und Subroutinen Geltungsbereich ( scope ) eines Pakets: Block, Datei, andere Packagedeklaration Perl, Pakte & Module 6 Gültigkeitsbereich von Variablen (1) Verfügbarkeit und Existenz einer Variable im Skript global immer ansprechbar potentielle Namenskonflikte ggf. in Paketen organisieren über Paketnamen ansprechen Perl, Pakte & Module 8 Packages (2) Aufruf nicht-lokaler Variablen etc. $Name des Pakets::Variable wenn kein Package definiert wird, gilt Standardpackage main vgl. Fehlermeldungen wie:: Name "main::n" used only once: possible typo at test sub.pl line 2. Beispiel: package Camel; # Beginn des Namensraums Camel $animal = "Amelia"; # Variable $animal im Namensraum Camel package Dog; # Beginn des Namensraums Dog $animal = "Fido"; # Variable $animal im Namensraum Dog print "Kamel: $Camel::animal\n"; # Zugriff auf Variable # eines anderen Namensraums # :>Amelia print "Hund: $animal\n"; # Zugriff auf lokale Variable # :>Fido Perl, Pakte & Module 5 Packages (4) altes Format: $Package Variable wird noch unterstützt, Problem bei: this $owner s house Variable s von Package owner Ausweg: This ${owner s house Perl, Pakte & Module 7
3 strict pragma (1) erzwingt Verwendung von lokalen Variablen # /usr/local/bin/perl -w use strict; my %namen = (); # quasi globaler Skalarer # quasi globales Hash my ($x,$y,$z); # gemeinsame = qw / Elke Katja Sabine/; # Fehler! Perl, Pakte & Module 10 Beispiel local vs. my (1) $global = " globale Variable hier verfuegbar\n"; &suba(); print "Hauptskript:\n"; foreach $var ($global, $mylocal, $locallocal) { if (defined $var){ print $var; sub suba { my $mylocal = " mylocal-variable hier verfuegbar\n"; local $locallocal = " lokale local-variable hier verfuegbar\n"; print "SubA: \n"; foreach $var ($global, $mylocal, $locallocal){ if (defined $var) { print $var; &subb(); Perl, Pakte & Module 12 Gültigkeitsbereich von Variablen (2) lokal durch my deklarierte Variablen lexikalischer Bereich stehen nicht in Symboltabelle sind nicht von außerhalb ansprechbar effiziente Verarbeitung durch local definiert dynamischer Bereich vorübergehender Eintrag in Symboltabelle (ggf. temporäre Ersetzung) bevorzuge my! Perl, Pakte & Module 9 strict pragma (2) foreach $key (sort keys %namen) { # Fehler! # Ausweg # ======= foreach my $key (sort keys %namen) { # Unix my ($key); foreach $key (sort keys %namen) { # Windows Perl, Pakte & Module 11
4 Beispiel local vs. my (3) # Ausgabe: SubA: globale Variable hier verfuegbar mylocal-variable hier verfuegbar lokale local-variable hier verfuegbar SubB: globale Variable hier verfuegbar lokale local-variable hier verfuegbar Hauptskript: globale Variable hier verfuegbar Perl, Pakte & Module 14 Typen von wiederverwendbarem Code (2) Perl-Module definieren eigene Pakete (eigener Satz von Variablen) importieren über use Standardname: Name.pm, Bsp. English.pm Pragmas besondere Module Standardnamen: kleingeschrieben,z.b. strict.pm beeinflussen Kompilierung des Programms Perl, Pakte & Module 16 Beispiel local vs. my (2) sub subb{ print "SubB: \n"; foreach $var ($global, $mylocal, $locallocal){ if (defined $var) { print $var; Perl, Pakte & Module 13 Typen von wiederverwendbarem Code (1) vordefinierte Funktionen, z.b. print Perl-Bibliothek veraltet Sammlung von Perl-Code, der in anderen Skripten wiederverwendet werden kann importieren über require Standardnamen: Name.pl Perl, Pakte & Module 15
5 Standard-Bibliothek Schnittstllen zu Datenbanken Einfache Netzwerke Spracherweiterungen, Unterstützung zur Software-Entwicklung, dynamisches Laden von Modulen und Funktionen Textverarbeitung Objektorientierte Programmierung Höhere Mathematik Programmierung mit Dateien, Verzeichnissen und Befehlszeilenarg Fehlerbehandlung Datum und Uhrzeit Lokale (zur Erstellung internationaler Skripts) Perl, Pakte & Module 18 Module (1) Package in eigener Datei Dateiname: package name.pm ( perl module ) komplexer Dateiname; Name a::name b = Pfad im Unterverzeichnis../Name a/name b.pm z.b. Math::BigFloat.pm grundlegende Einheit der Programm-Wiederverwendung in Perl Aufruf mit use (veraltet: require) Perl, Pakte & Module 20 Quellen für wiederverwendbaren Code Standard-Perl-Bibliothek Dokumentation perldoc perlmod Pfade sind angegeben perl -V in Aufruf z.b. perl -le print Comprehensive Perl Archive CPAN ( das WWW allgemein Perl, Pakte & Module 17 Quellen vorübergehend ergänzen dauerhaft ergänzen C-Shell: setenv PERL5LIB bei Programmaufruf ergänzen perl -I/home/heike/perl-lib /weiterer/pfad einzelnes zusätzliches Modul use lib /home/helmut/perl-lib Perl, Pakte & Module 19
6 Module (2) standardmäßig exportierte = qw(fileparse fileparse set fstype basename dirname); optionale OK = qw(cmp compare text); eingeschränkter TAGS = qw //; Aufruf: Module (3) use MODULE; #symbols named in module s are used use MODULE LIST; # Schema use Fred; # if Fred.pm = qw(flintstone) use Fred qw(flintstone); # else &flintstone(); # this calls &Fred::flintstone flintstone(); # the same Perl, Pakte & Module 21 Perl, Pakte & Module 22 Objekt-orientierte Module (1) bereits installierte Module finden: Programm inside (unter objekt-orientiertes Programmieren: Jedes Objekt gehört zu einer Klasse eine Klasse wird als Modul implementiert das Modul definiert ein Package mit dem Namen der Klasse Übergeordnete Klasse in is a -Array (@ISA) Modul-Datei: package Bestiary; require Exporter; Objekt-orientierte Module (2) # definiert Namensraum # Aufruf des Exporter-Moduls = qw(exporter); # our definiert Package-Variable vgl. my nennt uebergeordnetes Modul, # aus dem Methoden importiert werden koennen = qw (camel); # Symbole die standardmaessig exportiert werden = qw ($weight); # Symbole, die auf Anfrage exportiert werden our $VERSION = 1.00; ########################### Belegung der Symbole sub camel { print One-hump dromedary $weight = 1024; 1; # wahrer Rueckgabewert untergeordnete Klasse hat Zugriff auf Funktionen (=Methoden) der übergeordneten Klasse Aufruf use Bestiary; importiert Funktion camel Aufruf use Bestiary qw(camel $weight); importiert Funktion und Variable Perl, Pakte & Module 23 Perl, Pakte & Module 24
7 Modul File::Basename (1) Modul File::Basename (2) Aufgabe: ermittle Datei-Basisnamen aus langem Dateinamen $name = "/usr/local/bin/perl"; ($basisname = $name) =~ s#.*/##; print "$basisname\n"; Probleme: Perl-Standardmodul Information über perldoc File::Basename Funktionen: basename, dirname, fileparse ist plattform-unabhänging (Unix-)Dateinamen können Newline-Zeichen enthalten Routine ist Unix-spezifisch ( Slash als Verzeichnistrennzeichen) man versucht das Rad neu zu erfinden es gibt schon eine Lösung use File::Basename; $name = "/usr/local/bin/perl"; $basisname = basename $name; $verzeichnis = dirname $name; # Aufruf von Modul File::Basename # ergibt perl # ergibt /usr/local/bin Perl, Pakte & Module 25 Perl, Pakte & Module 26 Modul File::Spec (1) erlaubt Dateispezifikationen zu manipulieren ermittelt auch aktuelles Verzeichnis $curdir = File::Spec->curdir(); alternativ: Modul Cwd objektorientiertes Modul ( OO ) Methoden (= Funktionen) aus OO-Modul müssen mit langem Namen angesprochen werden use File::Basename; use File::Spec; $ name = "/usr/local/bin/perl"; $basisname= basename $name; $verzeichnis = dirname $name; $basisname =~ s/^/kein_/; Modul File::Spec (2) # Aufruf der Module # Praefix hinzufuegen my $neuer_name = File::Spec->catfile($verzeichnis, $basisname); # Aufruf der Funktion catfile aus # Modul File::Spec mit zwei Argumen print "$neuer_name"; # ergibt /usr/local/bin/kein_perl rename ($name, $neuer_name) or warn "Kann $name nicht in $neuer_name umbennenen: $!" Perl, Pakte & Module 27 Perl, Pakte & Module 28
8 Modul English nimmt Einfluß auf Skriptinterpretation erlaubt längere Aliase für Spezialvariablen z.b. $& = $MATCH $ = $PREMATCH siehe perdoc perlvar Perl, Pakte & Module 30 Pragmas besondere Module führen keine neuen Funktionen ein wikrt in Kompilierzeit verändern die Ausführung von Perl kann auf Block beschränkt werden Bsp.: warnings, diagnostic, strict, integer, lib use warnings; # Warnings-Modus wird eingestellt { no warnings; # Keine Warnings bis zum Ende des Blocks # Blockende # Warnings-Modus automatisch wieder eingestellt Perl, Pakte & Module 32 Modul File::Copy kopiert oder verschiebt Dateien plattformunabhängiges copy, move use file::copy; copy ("quelle", "ziel") or die "Kann quelle nicht nach ziel kopieren: $!"; Perl, Pakte & Module 29 Weitere Module File::Find rekursives Verzeichnisdurchsuchen top-down: find(gesuchtes, (Liste von) Verzeichnis(sen)) bottom-up: find(gesuchtes, (Liste von) Verzeichnis(sen)) Getopt::Std Standardmethode für die Übergabe von Kommandozeilenoptionen siehe auch Getopt::Long Math::Complex, Math::BigInt, Math::BigFloat Perl, Pakte & Module 31
9 BEGIN- und END-Blöcke spezielle Subroutinen: Paketkonstruktor und -destruktor & ist beim Aufruf optional BEGIN-Blöcke werden ausgeführt, sobald sie definiert sind können ausgeführt werden, bevor Rest des Programms geparst ist können Interpretation des Rests beeinflussen END-Blöcke werden so spät wie möglich ausgeführt END-Blöcke werden auch dann noch ausgeführt, wenn Programm mit die verlassen wurde Anwendung z.b. bei Kommandozeilenaufruf (aber auch innerhalb von Dateien) BEGIN und END Beispiel perl -p -e BEGIN{print"Liste: n" print"$. ";END{print"Ende n" namen10.txt perl benütze Perl -p erzeugt while-schleife, die die Datei(en) (=aufrufendes Argument) per zeilenweise nach $ einliest und am Ende (ggf. nach anderen, explizit genannten Kommandos) mittels print auf der Standardausgabe ausgibt -e aktiviert Kommandozeilenfunktion. BEGIN Subroutinenaufruf (sub kann weggelassen werden). Routine wird vor allem anderen ausgeführt, auch vor der durch -p aktivierten while-schleife {print Liste n Kommandoblock der Subroutine BEGIN print $. ; Kommando, das innerhalb der durch -p erzeugten while-schleife interpretiert wird (druckt aktuelle Zeilennummer und Leerstelle) END Subroutinenaufruf. Routine wird nach allem anderen durchgeführt {print Ende n Kommandoblock der Subroutine END namen10.txt aufrufendes Argument = zu bearbeitende Datei Perl, Pakte & Module 33 Perl, Pakte & Module 34 Übung 12 Schreiben Sie ein kleines Programm, das das Modul Getopt aus der Standard-Bibliothek verwendet. Es soll und mit zwei bis drei verschiedenen Optionen aufrufbar sein und jeweils eine andere Funktionalität bzw. Ausführung haben. Abgabe Donnerstag, Referenzen Schwartz, Randal L. & Tom Phoenix, Einführung in Perl. Köln, O Reilly Packages & Module: Kapitel 13 Tom Christiansen & Nathan Torkington, Perl Cook Book, O Reilly & Associates, Inc. Perlguide von Bernd Schamberger, Kap Perl, Pakte & Module 35 Perl, Pakte & Module 36
Referenz (1) Einführung in Perl Referenzen. Zwei Typen von Referenz. Referenz (2) Referenz = Verweis auf andere Daten
Referenz (1) Referenz = Verweis auf andere Daten Referenzierung = eine Referenz erzeugen Syntax: vorangestellter Backslash $str = "Das ist ein String\n"; # String $ref = \$str; # Referenz auf String @array
MehrFehlersuche. Einführung in Perl Debugger. Start des Debuggers (1) Beispiel (1) #! /usr/local/bin/perl -wd. (M-x perl-mode) - Menü: Perl - Debugger
Fehlersuche bisher Option -w oder pragma warnings Syntaxfehler schlechter Stil eingestreute print-anweisungen Verlaufskontrolle Variablenbelegung komfortabler Quellcode-Debugger Quelltextanzeige schrittweises
MehrPerl-Praxis. Subroutinen. Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba. AG Praktische Informatik Technische Fakultät Universität Bielefeld
Perl-Praxis Subroutinen Jörn Clausen, Jan Krüger Jens Reeder, Alex Sczyrba AG Praktische Informatik Technische Fakultät Universität Bielefeld {asczyrba,jkrueger@techfak.uni-bielefeld.de Übersicht Subroutinen
MehrEinführung in Perl. O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo. Randal L. Schwartz, Tom Phoenix & brian dfoy
Einführung in Perl Randal L. Schwartz, Tom Phoenix & brian dfoy Deutsche Übersetzung von Jörgen W. Lang O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Inhalt Vorwort XI 1 Einleitung 1
MehrMASCHINELLE SPRACHVERARBEITUNG Gertrud Faaß Basierend auf Folien von Dr. H Zinsmeister. Einführung in PERL
Einführung in PERL BASIEREND AUF FOLIEN VON DR. H. ZINSMEISTER und dem Buch `Einführung in Perl (Lama Buch) von RL Schwartz&T Phoenix Gertrud Faaβ Universität StuVgart, InsXtut für maschinelle Sprachverarbeitung
MehrKlassen und Objekte. Klassen und Objekte
Klassen und Objekte Klassen und Objekte Klassen Eine Klasse definiert die Eigenschaften (Instanzvariablen oder Felder) und das Verhalten (Methoden) von (gleichartigen) Objekten. In Perl sind Klassen als
MehrÜbersicht. Einführung in Perl Mustersuche III/ Datentypen II. Mehrzeiliges Matching (1) Mehrzeiliges Matching (2) chomp
Einführung in Perl Mustersuche III/ Datentypen II Universität Stuttgart Institut für maschinelle Sprachverarbeitung http://www.ims.uni-stuttgart.de/lehre/teaching/2003-ws/perl/home.html Heike.Zinsmeister@ims.uni-stuttgart.de
MehrEinführung in Perl. Packages, OO-Programmierung
Einführung in Perl Packages, OO-Programmierung Jörn Clausen Georg Fuellen Übersicht Modularisierung von Programmen Objekt-orientierte Programmierung Tugenden des Software-Designs Laziness Impatience Hubris
MehrBenutzerfunktionen Was ist eine Funktion, was ist eine Prozedur?
Was ist eine Funktion, was ist eine Prozedur? Aufbau einer "Prozedur" (d.h. ohne Rückgabewerte) sub FktName (Parameter) {Anweisungsblock sub ausgabe {print "Hallo Welt!" Aufbau einer "Funktion" (d.h. mit
MehrKommandozeileneingabe. Einführung in Perl Kommandozeileneingabe etc. Kommandozeileneingabe Optionen. Kommandozeileneingabe Bsp (1)
Einführung in Perl Kommandozeileneingabe etc. Kommandozeileneingabe index-funktion rindex-funktion substr-operator grep-operator map-operator Kommandozeileneingabe Ausführung von Perl-Kommandos direkt
MehrPERL. Eine Einführung. von Serap Tekke & Elif Öner
PERL Eine Einführung von Serap Tekke & Elif Öner Inhalt 1. Allgemeines 2. Datentypen 3. Algorithmische Elemente 4. Module 5. Objektorientiertes Programmieren 6. Pattern Matching 2 Was ist Perl... Perl
MehrObjekterkennung auf Bildern mit OpenCV und Image::ObjectDetect
Objekterkennung auf Bildern mit OpenCV und Image::ObjectDetect Autor: EMail: Datum: Simon Wilper simon AT ruhr.pm.org http://ruhr.pm.org/ Template Version 0.3 The use of a camel image in association with
MehrÜbersicht. Einführung in Perl Datenstrukturen I. Datentypen Übersicht (1) Kernbegriffe. Kernbegriffe. Einführung der Datentypen.
Übersicht Kernbegriffe Einführung der Datentypen Skalare im Detail Vergleichsoperatoren Standardeingabe chomp-operator while-schleife Perl, 24.10.03 Datentypen I 1 Datentypen Übersicht (1) Datentyp Erklärung
MehrArithmetik in der tcsh
Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3
MehrEine Beschreibung des Programms und der dahinter stehenden Philosophie.
1 Geschichte Larry Wall schrieb ein Konfigurationsmanagementsystem und benötigte dazu ein Berichtwerkzeug, das mehrere Dateien gleichzeitig öffnen konnte. Awk konnte es damals nicht, daher schrieb er eine
MehrObjektorientiertes Programmieren
Perl-Praxis Objektorientiertes Programmieren Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Objektorientierung in Perl Klassen, Objekte, Methoden Attribute Perl-Praxis Objektorientiertes Programmieren
Mehrselect Einführung in Perl Dateien, Verzeichnisse und Prozesse II Autoflush - Bsp (1) Autoflush
Einführung in Perl Dateien, Verzeichnisse und Prozesse II Dateihandle - select - ungepufferte Ausgabe - open, ergänzt - In-place Bearbeitung Dateien manipulieren - löschen - umbenennen Verzeichnisse manipulieren
Mehr10 Block 10: Verwendung von Modulen in Perl
10 Block 10: Verwendung von Modulen in Perl 10.1 Lernziele... 2 10.2 Theorie... 3 10.2.1 Warum Module?... 3 10.3 Praxis... 5 10.3.1 Module erstellen... 5 10.3.2 Module aufrufen... 6 10.3.3 Aufgabe... 8
MehrRichtig einsteigen: Access 2007 VBA-Programmierung
Lorenz Hölscher Richtig einsteigen: Access 2007 VBA-Programmierung Miaosott Teill Erste Schritte 1 Einleitung 9 1.1 Die Themenschwerpunkte dieses Buches 9 Visual Basic for Applications 9 Die Beispiel-Datenbank
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden
MehrProgrammieren lernen mit Perl
Xpert.press Programmieren lernen mit Perl Bearbeitet von Joachim Ziegler 1. Auflage 2002. Buch. XIV, 400 S. Hardcover ISBN 978 3 540 42685 1 Format (B x L): 15,5 x 23,5 cm Gewicht: 783 g Weitere Fachgebiete
MehrÜbersicht. Einführung in Perl. Einleitung. Organisatorisches. Organisatorisches. Heike Zinsmeister
IMS Heike Zinsmeister Einführung in Perl Übersicht Heike Zinsmeister Universität Stuttgart Institut für maschinelle Sprachverarbeitung http://www.ims.uni-stuttgart.de/lehre/teaching/2003-ws/perl/home.html
MehrEinstieg in die Informatik mit Java
1 / 16 Einstieg in die Informatik mit Java Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 16 1 Einführung 2 Element-Klassen 3 Lokale Klassen 4 Anonyme Klassen
MehrNachtrag: Funktionen ord und chr. Einführung in Perl für Linguisten Dateihandle, etc. Nachtrag: for und foreach (1) Nachtrag: for und foreach (2)
Nachtrag: Funktionen ord und chr die Funktion ord ermittelt den ASCII-Zahlenwert eines Zeichens; kann Zahlen zwischen 0 und 255 zurückgeben die Funktion chr ermittelt den Zeichenwert einer entsprechenden
MehrProgrammieren in Lua
Roberto lerusalimschy Programmieren in Lua 3. Auflage Open Source Press Inhaltsverzeichnis Vorwort 13 I Die Sprache 21 1 Einführung 23 1.1 Chunks 24 1.2 Einige lexikalische Konventionen 26 1.3 Globale
MehrPerl 5. Grundlagen und CGI-Programmierung. Ralph Steyer, Peter Teich. 2. Ausgabe, Juli 2016 ISBN PRL5
Ralph Steyer, Peter Teich 2. Ausgabe, Juli 2016 ISBN 978-3-86249-587-0 Perl 5 Grundlagen und CGI-Programmierung PRL5 4 Perl 5 Grundlagen und CGI-Programmierung 4 Einfache Sprachelemente In diesem Kapitel
MehrThreads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger
Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes
MehrÜbersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!
!!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit
MehrPerl-Praxis CPAN. Jörn Clausen
Perl-Praxis CPAN Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht Organisation des CPAN Module suchen und finden Perl-Module installieren Module für shared libraries installieren Fehler in Perl-Skripten
MehrUrsprünge. Die Syntax von Java. Das Wichtigste in Kürze. Konsequenzen. Weiteres Vorgehen. Rund um Java
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrPython zur Lösung von AvA Übung 1 VON MORITZ FEY
Python zur Lösung von AvA Übung 1 VON MORITZ FEY Übersicht 2 Einführung Socket-Schnittstellen Datei-Zugriff Aufbau der Nachrichten und Serialisierung Besonderheiten von Python Realisierung des Programms
MehrMojolicious. Ich zeige dir jetzt, wie du mit Mojolicious eine Vorlage. Das Mojolicious-Gerüst
6 Ich zeige dir jetzt, wie du mit Mojolicious eine Vorlage für deine Web-Anwendung erstellst, die wir dann im Rest des Buchs immer weiter ausbauen. Sie enthält zu Beginn nur das Notwendige, um sie im Browser
MehrEine Mini-Shell als Literate Program
Eine Mini-Shell als Literate Program Hans-Georg Eßer 16.10.2013 Inhaltsverzeichnis 1 Eine Mini-Shell 1 1.1 Einen Befehl parsen......................... 2 1.2 Was tun mit dem Kommando?...................
MehrPython Einführung. Monica Selva Soto. 24 März Mathematisches Institut
Mathematisches Institut mselva@math.uni-koeln.de 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php
MehrKorn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung
1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und
MehrInnere Klassen. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java
Innere Klassen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 13.06.07 G. Bohlender (IANM UNI Karlsruhe) Innere Klassen 13.06.07 1 / 11
MehrMusterlösung
Musterlösung 7 12.12.2003 Spielerstatistik In der Datei vfb.txt finden Sie eine Tabelle mit Informationen zu Spielern des VFB Stuttgart. Die einzelnen Spalten sind jeweils mit Tabulator getrennt. Einlesen
MehrAlgorithmen und ihre Programmierung
Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines
MehrComputer & GNU/Linux Einführung Teil 4
Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 4 Simon Haller, Sebastian Stab 1/20 Computer & GNU/Linux Einführung Teil 4 Simon Haller, Sebastian Stabinger, Benjamin Winder Inst. für Informatik
MehrC++ - Variablen: Gültigkeit - Sichtbarkeit
C++ - Variablen: Gültigkeit - Sichtbarkeit Reiner Nitsch 8417 r.nitsch@fbi.h-da.de Attribute von Variablen und Funktionen Attribute von Variablen sind Name (name), Typ (type), Wert (value) Attribute von
MehrModularisierung in Java: Pakete Software Entwicklung 1
Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und
MehrDas Einsteigerseminar Objektorientierte Programmierung in Java
Alexander Niemann Das Einsteigerseminar Objektorientierte Programmierung in Java -H-H Inhalt Vorwort 13 Einleitung 15 1 Java 21 1.1 Die Geschichte von Java 22 1.2 Das Konzept 24 Klassisch - Compiler und
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri & Stefan Thater Universität des Saarlandes FR 4.7 Allgemeine Linguistik (Computerlinguistik) Winter 2010/11 Übersicht Kurze Wiederholung: while Sammeltypen (kurz
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
MehrVerkettete Datenstrukturen: Listen
Verkettete Datenstrukturen: Listen 2 Listen Formal: Liste = endliche Folge von Elementen [a 1, a 2,..., a n ]. Spezialfall: leere Liste [ ]. Länge einer Liste = Anzahl der Elemente (bei leerer Liste: 0).
MehrAlexander Niemann. Das Einsteigerseminar" < Objektorientierte ^ Programmierung in Java. bhv. i.-
Alexander Niemann Das Einsteigerseminar" < Objektorientierte ^ Programmierung in Java i.- bhv Vorwort 11 Einleitung 13 Lernen - Üben 13 Über dieses Buch 14 Teil \ LöRTEn ;...-.,-......Al f Java 19 Die
MehrLinux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting
Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting Reguläre Ausdrücke Reguläre Ausdrücke beschreiben eine Menge von Zeichenfolgen und werden benutzt um m festzustellen, ob eine Zeichenkette Teil
MehrDynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrEinführung in Python. Übung zur Vorlesung NLP Beate Krause, Dominik Benz NLP-Übung: Einführung in Python 1
Einführung in Python Übung zur Vorlesung NLP Beate Krause, Dominik Benz 22.04.2008 23.04.2008 NLP-Übung: Einführung in Python 1 Ablauf der Übung Klärung von aktuellen Fragen zur Vorlesung Kurze Einführung
MehrObjektorientierte Programmierung in Java
Objektorientierte Programmierung in Java 1. Auflage Taschenbuch. Paperback ISBN 978 3 8266 7414 3 Weitere Fachgebiete > EDV, Informatik > Programmiersprachen: Methoden > Prozedurorientierte Programmierung
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrOOP. Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten.
Polymorphismus OOP Kapselung: Gruppierung von Daten und Funktionen als Objekte. Definieren eine Schnittstelle zu diesen Objekten. Vererbung: Erlaubt Code zwischen verwandten Typen wiederverwendet sein.
MehrThemen. Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente
Themen Formatierte und unformatierte Eingabe Bedingungsoperator Namespaces Kommandozeilenargumente Formatierte Eingabe mit cin Die Formatierung der Eingabe ist der Ausgabe sehr ähnlich: Die Flags werden
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrFunktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Lokale und globale Variablen Namensräume Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund
MehrDie Syntax von Java. Ursprünge. Konsequenzen. Das Wichtigste in Kürze. Weiteres Vorgehen. Rund um Java. Sun Microsystems. Borland Software Corp
Ursprünge Die Syntax von Java Borland Software Corp 1995 Syntax: Pascal Objektorientierte Prorammierung optional Plattformen: Windows (Linux, Mac OS X) Sun Microsystems 1995 Syntax: C/C++ Objektorientiert
MehrGrundlagen der Programmierung Prof. H. Mössenböck. 15. Pakete
Grundlagen der Programmierung Prof. H. Mössenböck 15. Pakete Idee Paket = Sammlung zusammengehöriger Klassen (Bibliothek) Zweck mehr Ordnung in Programme bringen bessere Kontrolle der Zugriffsrechte (wer
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
MehrRichtig einsteigen: Access 2010 VBA-Programmierung
Richtig einsteigen: Access 2010 VBA-Programmierung Von den Grundlagen bis zur professionellen Entwicklung von Lorenz Hölscher 1. Auflage Richtig einsteigen: Access 2010 VBA-Programmierung Hölscher schnell
MehrFunktionen in JavaScript
Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben
MehrEffizientes Arbeiten mit dem Emacs.
Effizientes Arbeiten mit dem Emacs Emacs für Programmierer, Online-Hilfe und Konfiguration Rainer Orth Alexander Sczyrba {ro,asczyrba}@techfak.uni-bielefeld.de Überblick komfortable Unterstützung zum Schreiben
MehrProzesse. Netzwerk - Programmierung. Alexander Sczyrba Madis Rumming
Netzwerk - Programmierung Prozesse Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse fork() Parents und Children system() und exec()
MehrKonstruktoren, Packages und Scopes
Universität Bayreuth Lehrstuhl für Angewandte Informatik IV Datenbanken und Informationssysteme Prof. Dr.-Ing. Jablonski Konstruktoren, Packages und Scopes Dipl. Inf. Manuel Götz Lehrstuhl für Angewandte
MehrTHE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic
THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden
MehrObjektorientiertes Programmieren II
Objektorientiertes Programmieren II Symbolische Programmiersprache. Benjamin Roth Folien von Annemarie Friedrich Wintersemester 2017/2018 Centrum für Informations- und Sprachverarbeitung LMU München 1
MehrTag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)
Tag 5 Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Methoden Deklaration
MehrJava Einführung Methoden. Kapitel 6
Java Einführung Methoden Kapitel 6 Inhalt Deklaration und Aufruf von Methoden Lokale und globale Namen (Bezeichner) Sichtbarkeit und Lebensdauer von Variablen in Methoden Überladen von Methoden 2 Methoden
MehrArbeiten mit der Shell Teil 1
Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Zinching Dang 2. Mai 2017 Übersicht Wiederholung & Vertiefung Die Unix-Philosophie Shellbefehle Befehle & Optionen Zusammenfassung & Ausblick Tux im
MehrOkt 10, 16 17:29 UNIX/Linux Lösung
Okt 10, 16 17:29 UNIX/Linux Lösung Seite 1/6 Technische Hochschule Nürnberg Name:... GEORG SIMON OHM Schriftliche Prüfung im Fach Vorname:... "Betriebssystem UNIX/Linux" Matrikel Nr.:... Prüfungstermin:
MehrImplementieren von Klassen
Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrInhaltsverzeichnis Einleitung xi Kapitel 1: Die Vorbereitung aufs Abenteuer
Inhaltsverzeichnis Einleitung Warum man programmieren können sollte.... xi Warum Python?.... xii Und warum Minecraft?... xii Was du in diesem Buch findest... xiii Online-Ressourcen....xv Möge das Abenteuer
MehrFEBE Die Frontend-Backend-Lösung für Excel
FEBE Die Frontend--Lösung für FEBE Die Frontend--Lösung für FEBE.pptx 8.04.206 0:43 FEBE Die Frontend--Lösung für Nutzer A alle_aufträge neuer_auftrag Auftragsänderung Nutzer B alle_aufträge neuer_auftrag
MehrInhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen Variablen Spezial-Variablen Kontext Wahrheitswert 18 3 Skalare 20 3.
Inhalt 6 Vorwort 10 1 Warum Perl? 12 2 Grundlagen 14 2.1 Variablen 14 2.2 Spezial-Variablen 16 2.3 Kontext 16 2.4 Wahrheitswert 18 3 Skalare 20 3.1 Zahlen 20 3.2 Operatoren 24 3.3 Mathematische Funktionen
MehrDas Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten
Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten SMART BOOKS Inhaltsverzeichnis..««... Vorwort 13 Kapitel 1 - Einführung 17 Crashkurs: FileMaker Pro 7 anwenden 19 Eine
MehrC - PRÄPROZESSOR. Seminar effiziente C Programmierung WS 2012/13. Von Christian Peter
C - PRÄPROZESSOR Seminar effiziente C Programmierung WS 2012/13 Von Christian Peter Themen Was sind Präprozessoren? Beispiele für Präprozessoren Funktionsweisen Der C - Präprozessor Der # Präfix #include
MehrEinführung in die Programmierung Wintersemester 2016/17
Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Gültigkeitsbereiche Inhalt Lokale und globale
MehrGeschachtelte Klassen
Geschachtelte Klassen Die Programmiersprache Java bietet nicht nur die Möglichkeit innerhalb von Klassen Datenfelder und Methoden zu definieren, sondern auch Klassen. Solche Klassen heißen en geschachtelte
MehrFachhochschule Südwestfalen Wir geben Impulse. Kontrollstrukturen und Schleifen in Octave
Fachhochschule Südwestfalen Wir geben Impulse Kontrollstrukturen und Schleifen in Octave Einführung Inhalt m-files Script-Files Function-Files Ein- Ausgabe von Variablen oder Ergebnissen For-Schleife While-Schleife
MehrLinux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs
Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting POSIX POSIX POSIX ist ein UNIX-Standard, der bestimmte grundlegende Funktionen und Eigenschaften von UNIX-Systemen definiert. Dazu gehören auch
MehrIcinga Teil 2. Andreas Teuchert. 25. Juli 2014
Icinga Teil 2 Andreas Teuchert 25. Juli 2014 1 Nagios-Plugins Programme, die den Status von Diensten überprüfen können liegen in /usr/lib/nagios/plugins/ werden von Icinga aufgerufen, geben Status über
MehrC++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
MehrObjektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)
Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester
MehrInformatik II Übung 05. Benjamin Hepp 3 April 2017
Informatik II Übung 05 Benjamin Hepp benjamin.hepp@inf.ethz.ch 3 April 2017 Java package Hierarchie import.. nur noetig um Klassen aus anderen Packeten zu importieren Es kann auch immer der vollstaendige
MehrWas ist neu an Perl 6? Mein Weg Stolperfallen Perl 6 in Perl 5 Mehr Praktisches Grundkonzepte
Rundschau Perl 6 Was ist neu an Perl 6? Mein Weg Stolperfallen Perl 6 in Perl 5 Mehr Praktisches Grundkonzepte Herbert Breunung Perl Mansfelder Land Mansfelder Land Ägypten aka Khem Kephra 0.4.3.32 Großes
MehrEiP Übung
Musterlösung zu Blatt 10: 2. Suchen Sie alle Überschriften im Text: (In html Dateien werden Überschriften mit den HTML-Tags ... , ... bis .. ausgezeichnet.) # Programm: findet Ueberschriften
MehrEinstieg in die Informatik mit Java
1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf
MehrDesktop ade: Me and my shell
Ein Shelldiskurs Desktop ade: Me and my shell Erkan Yanar erkmerk@gmx.de casus belli Warum auf einem Linuxtag mit Schwerpunkt Desktop? Beherrschung der Shell := freie Wahl des Desktops Beherrschung der
Mehr5. Übung - Kanalkodierung/Programmierung
5. Übung - Kanalkodierung/Programmierung Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: Kanalkodierung a Folgende Kodes stehen Ihnen zur Verfügung: Kode 1: 0000000 Kode
MehrObjective-C Anwendungen entwickeln für Mac und iphone (Apple Software) Click here if your download doesn"t start automatically
Objective-C 2.0 - Anwendungen entwickeln für Mac und iphone (Apple Software) Click here if your download doesn"t start automatically Objective-C 2.0 - Anwendungen entwickeln für Mac und iphone (Apple Software)
MehrGrundlagen der Programmierung
Übung 1: Unix Werkzeuge Robert Sombrutzki sombrutz@informatik.hu-berlin.de Unix Werkzeuge Warum? Diese Frage sollten Sie sich immer mal wieder stellen! Denkbare Antworten Weil Sie diese Werkzeuge immer
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrVariablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel
4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen
MehrLinux Prinzipien und Programmierung
Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,
MehrVorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester Dipl.-Ing. (FH) Volker Schepper
Vorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester 2017 Dipl.-Ing. (FH) Volker Schepper 1 Kommentar Kommentare sollen/müssen unbedingt verwendet werden. Sinnvolle Kommentare verwenden.
MehrPrinzipien der objektorientierten Programmierung (OOP)
Die Ziele der OOP sind: - bessere Warbarkeit - Wiederverwendbarkeit 1.) Datenkapselung Prinzipien der objektorientierten Programmierung (OOP) Komplexe Datenstrukturen (wie zb ein Stack) werden vom Anwendungsprogramm
Mehr