summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--cs-cz/javascript.html.markdown20
-rw-r--r--de-de/perl-de.html.markdown169
2 files changed, 188 insertions, 1 deletions
diff --git a/cs-cz/javascript.html.markdown b/cs-cz/javascript.html.markdown
index b4596c40..e781db3e 100644
--- a/cs-cz/javascript.html.markdown
+++ b/cs-cz/javascript.html.markdown
@@ -105,6 +105,10 @@ false; // nepravda
// Řetězce znaků se spojují pomocí +
"Ahoj " + "světe!"; // = "Ahoj světe!"
+// ... což funguje nejenom s řetězci
+"1, 2, " + 3; // = "1, 2, 3"
+"Ahoj " + ["světe", "!"] // = "Ahoj světe,!"
+
// a porovnávají se pomocí < nebo >
"a" < "b"; // = true
@@ -131,7 +135,7 @@ null === undefined; // = false
// Existují také typy `null` a `undefined`.
null; // značí, že žádnou hodnotu
-undefined; // značí, že hodnota nebyla definovaná definovaná (ikdyž
+undefined; // značí, že hodnota nebyla definovaná (ikdyž
// `undefined` je hodnota sama o sobě)
// false, null, undefined, NaN, 0 and "" vrací nepravdu (false). Všechno ostatní
@@ -156,6 +160,9 @@ jinaPromenna = 10;
// Proměnné vytvořené bez přiřazení obsahují hodnotu undefined.
var dalsiPromenna; // = undefined
+// Pokud chcete vytvořit několik proměnných najednou, můžete je oddělit čárkou
+var someFourthVar = 2, someFifthVar = 4;
+
// Existuje kratší forma pro matematické operace na proměnné
promenna += 5; // se provede stejně jako promenna = promenna + 5;
// promenna je ted 10
@@ -313,6 +320,12 @@ setTimeout(funkce, 5000);
// Poznámka: setTimeout není část JS jazyka, ale funkce poskytována
// prohlížeči a NodeJS
+// Další funkce poskytovaná prohlížeči je je setInterval
+function myFunction(){
+ // tento kód bude volán každých 5 vteřin
+}
+setInterval(myFunction, 5000);
+
// Objekty funkcí nemusíme ani deklarovat pomocí jména, můžeme je napsat jako
// ananymní funkci přímo vloženou jako argument
setTimeout(function(){
@@ -503,6 +516,11 @@ if (0){
// Tento kód se nespustí, protože 0 je nepravdivá (false)
}
+if (new Number(0)){
+ // Tento kód se spustí, protože obalená čísla jsou objekty,
+ // a objekty jsou vždy pravdivé
+}
+
// Avšak, obalovací objekty a normální vestavěnné typy sdílejí prototyp, takže
// můžete přidat funkcionalitu k řetězci
String.prototype.prvniZnak = function(){
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`