if und while brauchen geschweifte Klammern; if kann auch einen Wert liefern. Mit for (liste) |element| läufst du durch Arrays und Slices, mit for (liste, 0..) |element, index| zusätzlich mit Index. switch muss alle Fälle abdecken und liefert einen Wert. Ausdrücke wie if (x) a else b gibt es als ternären Ersatz.
Schleifen zählst du mit Bereichen: for (0..5) |i| { ... }.
const std = @import("std");
pub fn main() void {
for (0..3) |i| {
std.debug.print("Runde {d}\n", .{i + 1});
}
const zahlen = [_]i32{ 5, 2, 9 };
var summe: i32 = 0;
for (zahlen) |z| summe += z;
const art = if (summe > 10) "viel" else "wenig";
std.debug.print("{d} ist {s}\n", .{ summe, art });
const note: u8 = switch (summe) {
0...9 => 3,
10...19 => 2,
else => 1,
};
std.debug.print("Note {d}\n", .{note});
}Merke
for (liste) |element|läuft durch Sammlungenswitchdeckt alle Fälle ab und liefert Werte- Bereiche:
0..5
Aufgabe
Gib alle geraden Zahlen von 1 bis 20 aus.