types chapter: small changes

This commit is contained in:
2024-05-08 14:34:54 +02:00
parent 537498a293
commit 1d55f19ce2
4 changed files with 307 additions and 66 deletions

View File

@@ -21,6 +21,11 @@ z2 = PComplex1{Float32}(12, 13)
@show z1 z2;
```
:::{.callout-warning collapse="true" .titlenormal}
##
Es ist nicht möglich, in einer Julia-Session eine einmal definierte `struct` später umzudefinieren. Daher verwende ich verschiedene Namen. Eine andere Möglichkeit ist z.B. die Verwendung von [`ProtoStructs.jl`](https://juliahub.com/ui/Packages/General/ProtoStructs).
:::
Julia stellt automatisch *default constructors* zur Verfügung:
- den Konstruktor `PComplex1`, bei dem der Typ `T` von den übergebenen Argumenten abgeleitet wird und
@@ -62,7 +67,7 @@ end
#| output: false
#=
in den ganzen quarto-runs wollen bir hier noch das default-show benutzen
in den ganzen quarto-runs wollen wir hier noch das default-show benutzen
=#
zz = @which Base.show(stdout, PComplex{Float64}(2.,3.))
if zz.module != Base
@@ -101,8 +106,6 @@ In Julia ist eine große Anzahl von Unicode-Zeichen reserviert für die Verwendu
Auf Details werden wir in einem späteren Kapitel noch eingehen.
Und ja, der Julia-Parser ist in einem Lisp(genauer: Scheme)-Dialekt geschrieben. In Julia ist ein kleiner Scheme-Interpreter namens [femtolisp](https://github.com/JeffBezanson/femtolisp) integriert. Geschrieben hat ihn einer der "Väter" von Julia bevor er mit der Arbeit an Julia begann.
:::
Das Winkel-Zeichen `∠` steht leider nicht als Operatorsymbol zur Verfügung. Wir weichen aus auf `⋖`. Das kann in Julia als als `\lessdot<tab>` eingegeben werden.