Wichtige Standardmodule
| Modul | Zweck |
|---|---|
system | Grundfunktionen (automatisch importiert) |
strutils | Textfunktionen |
sequtils | Sequenzoperationen |
tables, sets | Hash-Maps und Mengen |
math, random | Mathematik, Zufall |
os, osproc | Dateien, Prozesse |
json, parsecsv | Datenformate |
times | Zeit und Datum |
strformat | fmt"..." |
options, asyncdispatch | Option, asynchrone I/O |
unittest | Tests |
import std/[math, times, random, strutils]
randomize(42)
let r = rand(1..6)
echo r in 1..6
echo "Zeit: ", initDuration(minutes = 135).inHours
echo dateTime(2024, mMar, 15, 14, 30, zone = utc()).format("yyyy-MM-dd HH:mm")
echo (dateTime(2024, mMar, 15, zone = utc()) + 20.days).format("dd'.'MM'.'yyyy")
echo isLeapYear(2024), " ", getDaysInMonth(mFeb, 2024)
echo sum([1, 2, 3]), " ", sum([1.0, 2.0, 3.0]) / 3.0, " ", pow(2.0, 8.0)
echo "$1 von $2" % ["3", "5"]
echo $(1, "a"), " ", $[1, 2], " ", $true
echo repr(42)
echo sizeof(int), " ", sizeof(int32), " ", sizeof(char)
echo NimVersion.len > 0Ausgabe
true Zeit: 2 2024-03-15 14:30 04.04.2024 true 29 6 2.0 256.0 3 von 5 (1, "a") [1, 2] true 42 8 4 1 true
Typische Fehler
let x: int = "text"Fehlermeldung
type mismatch
echo unbekanntFehlermeldung
undeclared identifier: 'unbekannt'
Weiterführende Quellen
- nim-lang.org/docs: Handbuch und Standardbibliothek
- „Nim in Action“ (Dominik Picheta)
- nim-by-example.github.io: kurze Beispiele
- forum.nim-lang.org: Community
Merke
- Nim: Python-Syntax, C-Geschwindigkeit, mächtige Makros
nim c -rübersetzt und startet;nimbleverwaltet Pakete- Typen, Generics und Templates machen Code kurz und sicher
Aufgabe
Portiere ein kleines Python-Skript nach Nim und vergleiche Laufzeit und Dateigröße.