diff options
| -rw-r--r-- | de-de/perl-de.html.markdown | 169 | ||||
| -rw-r--r-- | no-nb/JSON-no.html.markdown | 60 | 
2 files changed, 229 insertions, 0 deletions
| diff --git a/de-de/perl-de.html.markdown b/de-de/perl-de.html.markdown new file mode 100644 index 00000000..fd8fb3c4 --- /dev/null +++ b/de-de/perl-de.html.markdown @@ -0,0 +1,169 @@ +--- +language: perl +filename: learnperl-de.pl +contributors: +    - ["Korjavin Ivan", "http://github.com/korjavin"] +translators: +    - ["Martin Schimandl", "http://github.com/Git-Jiro"] +lang: de-de +--- + +Perl 5 ist eine sehr mächtige, funktionsreiche Programmiersprache mit über 25 Jahren Entwicklungsgeschichte. + +Perl 5 läuft auf über 100 Platformen von portablen Geräten bis hin zu Mainframes. Perl 5 ist geeignet für Rapid-Prototyping und auch groß angelegte Entwicklungs-Projekte. + +```perl +# Einzeilige Kommentare beginnen mit dem # Symbol. + + +#### Perl Variablen Typen + +#  Variablen beginnen mit einem Sigil, das ist ein Symbol das den Typ anzeigt. +#  Ein erlaubter Variablen-Name beginnt mit einem Buchstaben oder einem +#  Unterstrich, gefolgt von beliebig vielen weiteren Buchstaben, Zahlen und +#  Unterstrichen. + +### Perl hat drei Haupt-Typen von Variablen: $scalar, @array, und %hash. + +## Scalare +#  Ein Scalar repräsentiert einen einzelnen Wert: +my $animal = "camel"; +my $answer = 42; + +# Scalare Werte könnne Zeichenketten, Ganzzahlen und Gleitkomma-Zahlen sein. +# Perl convertiert automatisch zwischen diesen Werten wenn nötig. + +## Arrays +#  Ein Array repräsentiert eine Liste von Werten: +my @animals = ("camel", "llama", "owl"); +my @numbers = (23, 42, 69); +my @mixed   = ("camel", 42, 1.23); + + + +## Hashes +#   Ein Hash representiert ein Set von Schlüssel/Wert Paaren: + +my %fruit_color = ("apple", "red", "banana", "yellow"); + +#  Man kann Leerzeichen und den "=>" Operator verwenden um sie schön darzustellen: + +my %fruit_color = ( +  apple  => "red", +  banana => "yellow", +); +# Scalare, Arrays und Hashes sind in perldata sehr genau dokumentiert. +# (perldoc perldata) + +# Komplexere Daten-Typen können mit hilfe von Referenzen konstruiert werden. +# Dies erlaubt das erstellen von Listen und Hashes in Listen und Hashes. + +#### Bedingte Ausführungs- und Schleifen-Konstrukte. + +# Perl besitzt die üblichen Bedingte Ausführung- und Schleifen-Konstrukte + +if ($var) { +  ... +} elsif ($var eq 'bar') { +  ... +} else { +  ... +} + +unless (condition) { +  ... +} +# Dies ist die etwas leserliche Version von "if (!Bedingung)" + +# Die Perl-Eigene Post-Bedingungs-Schreibweise +print "Yow!" if $zippy; +print "We have no bananas" unless $bananas; + +#  while +while (condition) { +  ... +} + + +# Für Schleifen und Iterationen +for (my $i = 0; $i < $max; $i++) { +  print "index is $i"; +} + +for (my $i = 0; $i < @elements; $i++) { +  print "Current element is " . $elements[$i]; +} + +for my $element (@elements) { +  print $element; +} + +# Implizite Iteration +for (@elements) { +  print; +} + +# Die Perl-Eigene Post-Bedingungs-Schreibweise nochmals +print for @elements; + +#### Reguläre Ausdrücke + +# Die Unterstützung von Perl für reguläre Ausdrücke ist weit und tiefgreifend. +# Sie ist ausführlich in perlrequick, perlretut und sonstwo dokumentiert. +# Die Kurzfassung: + +# Einfaches Vergleichen +if (/foo/)       { ... }  # Wahr wenn "foo" in $_ enthalten ist +if ($a =~ /foo/) { ... }  # Wahr wenn "foo" in $a enthalten ist + +# Einfache Substitution + +$a =~ s/foo/bar/;         # Ersetzt foo mit bar in $a +$a =~ s/foo/bar/g;        # Ersetzt ALLE VORKOMMNISSE von foo mit bar in $a + + +#### Dateien und Ein-/Ausgabe + +# Dateien werden mit der "open()" Funktion zur Ein- oder Ausgabe geöffnet. + +open(my $in,  "<",  "input.txt")  or die "Can't open input.txt: $!"; +open(my $out, ">",  "output.txt") or die "Can't open output.txt: $!"; +open(my $log, ">>", "my.log")     or die "Can't open my.log: $!"; + +# Von einem geöffneten Datei-Handle kann mit dem "<>" Operator gelesen werden. +# In einem Scalaren-Kontext liest man damit eine einzelnen Zeile vom Datei-Handle. +# In einem Listen-Kontext wird damit die komplette Datei eingelesen. Dabei +# entspricht jede Zeile einem Element der Liste: + +my $line  = <$in>; +my @lines = <$in>; + +#### Schreiben von Subroutinen + +# Subroutinen schreiben ist einfach: + +sub logger { +  my $logmessage = shift; + +  open my $logfile, ">>", "my.log" or die "Could not open my.log: $!"; + +  print $logfile $logmessage; +} + +# Nun können wir die Subroutine genau wie eine eingebaute Funktion verwenden: + +logger("We have a logger subroutine!"); +``` + +#### Verwenden von Perl Modulen + +Perl Module liefern eine Menge an Funktionen die dabei Helfen das Rad nicht neu erfinden zu müssen. Perl Module können von CPAN (http://www.cpan.org/) heruntergeladen werden. Einige populäre Module sind in der Perl Distribution selbst bereits enthalten. + +Perlfaq enthält Fragen und Antworten zu häufig vorkommenden Aufgaben. Sehr oft sind auch Vorschläge enthalten welches CPAN module am besten geeignet ist. + +#### Weiterführende Literatur + + - [perl-tutorial](http://perl-tutorial.org/) + - [Learn at www.perl.com](http://www.perl.org/learn.html) + - [perldoc](http://perldoc.perl.org/) + - in Perl eingebaut : `perldoc perlintro` diff --git a/no-nb/JSON-no.html.markdown b/no-nb/JSON-no.html.markdown new file mode 100644 index 00000000..6c8c3c79 --- /dev/null +++ b/no-nb/JSON-no.html.markdown @@ -0,0 +1,60 @@ +---  +language: json +filename: learnjson-no.json +lang: no-nb +contributors: +  - ["Ole Mathias Heggem", "https://github.com/msbone"] +  - ["Anna Harren", "https://github.com/iirelu"] +  - ["Marco Scannadinari", "https://github.com/marcoms"] +--- + +JSON er en enkel tekstbasert standard for datautveksling. +Den er opprinnelig avledet fra JavaScript for å representere enkle datastrukturer. +Standarden er imidlertid uavhengig av JavaScript eller andre programmeringsspråk. + +JSON i sin reneste form har ingen faktiske kommentarer, men de fleste parsere vil akseptere +C-stil (`//`, `/* */`) kommentarer. + +```json +{ +  "nøkkel": "verdi", +   +  "nøkler": "må alltid være i doble anførselstegn", +  "tall": 0, +  "strings": "Hellø, wørld. Alt unicode er godkjent, også \"escaping\".", +  "har bools?": true, +  "ingenting": null, + +  "stort tall": 1.2e+100, + +  "objekt": { +    "kommentar": "Meste av strukturen kommer ifra objekt.", + +    "array": [0, 1, 2, 3, "Arrays kan inneholde alt.", 5], + +    "nytt object": { +      "comment": "Ny kommentar" +    } +  }, + +  "tull": [ +    { +      "Kilde til Kalium": ["bananer"] +    }, +    [ +      [1, 0, 0, 0], +      [0, 1, 0, 0], +      [0, 0, 1, "neo"], +      [0, 0, 0, 1] +    ] +  ], +   +  "Alternativ": { +    "Kommentar": "Sjekk ut ditta!" +  , "plassering av komma": "Sålenge den er før verdien er det gyldig" +  , "Enda en kommentar": "TØFT!" +  }, + +  "Ferdig": "Da er den korte innledninga til JSON ferdig" +} +``` | 
