Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions de/apl.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
---
name: APL
contributors:
- ["nooodl", "https://github.com/nooodl"]
translators:
- ["antonkesy", "https://github.com/antonkesy"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add yourself under translators: please

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah yeah, my bad. Fixed now.

filename: learnapl.apl
---

```apl
⍝ Kommentare in APL beginnen mit ⍝.

⍝ Eine Liste von Zahlen. (¯ ist negativ)
2 3e7 ¯4 50.3

⍝ Ein Ausdruck, der einige Funktionen zeigt. In APL gibt es
⍝ keine Operatorrangfolge: alles wird von rechts nach
⍝ links geparst. Dies entspricht 5 + (4 × (2 ÷ (5 - 3))) = 9:
5 + 4 × 2 ÷ 5 - 3 ⍝ 9

⍝ Diese Funktionen funktionieren auch mit Listen:
1 2 3 4 × 5 ⍝ 5 10 15 20
1 2 3 4 × 5 6 7 8 ⍝ 5 12 21 32

⍝ Alle Funktionen haben sowohl Einzelargument- als auch Doppelargument-
⍝ Bedeutungen. Zum Beispiel bedeutet "×" mit zwei Argumenten
⍝ multiplizieren, aber wenn es nur auf eine rechte Seite
⍝ angewendet wird, gibt es das Vorzeichen zurück:

× ¯4 ¯2 0 2 4 ⍝ ¯1 ¯1 0 1 1

⍝ Werte können mit diesen Operatoren verglichen werden (1 bedeutet
⍝ "wahr", 0 bedeutet "falsch"):

10 20 30 = 10 20 99 ⍝ 1 1 0

10 20 30 < 10 20 99 ⍝ 0 0 1

⍝ "⍳n" gibt einen Vektor mit den ersten n natürlichen Zahlen zurück.
⍝ Matrizen können mit ⍴ (umformen) konstruiert werden:
4 3 ⍴ ⍳5 ⍝ 0 1 2
⍝ 3 4 0
⍝ 1 2 3
⍝ 4 0 1

⍝ Einzelargument ⍴ gibt die Dimensionen zurück:
⍴ 4 3 ⍴ ⍳5 ⍝ 4 3

⍝ Werte können mit ← gespeichert werden. Lass uns den Mittelwert
⍝ eines Vektors von Zahlen berechnen:
A ← 10 60 55 23

⍝ Summe der Elemente von A (/ ist Reduktion):
+/A ⍝ 148

⍝ Länge von A:
⍴A ⍝ 4

⍝ Mittelwert:
(+/A) ÷ (⍴A) ⍝ 37

⍝ Wir können dies als Funktion mit {} und ⍵ definieren:
mean ← {(+/⍵)÷⍴⍵}
mean A ⍝ 37
```

## Weitere Literatur

- [APL Wiki](https://aplwiki.com/)
- Eine ältere Version des APL-Buchs vom Erfinder: [Kenneth Iverson - A Programming Language](https://archive.org/details/aprogramminglanguage1962)
- Weitere Bücher: [APL Books](https://aplwiki.com/wiki/Books)