Added lot more example code. (0.39.8).
This commit is contained in:
parent
3b70d6c92a
commit
564999709c
32 changed files with 1353 additions and 53 deletions
25
examples/patterns/assert_like.fun
Executable file
25
examples/patterns/assert_like.fun
Executable file
|
|
@ -0,0 +1,25 @@
|
|||
#!/usr/bin/env fun
|
||||
|
||||
/*
|
||||
* This file is part of the Fun programming language.
|
||||
* https://fun-lang.xyz/
|
||||
*
|
||||
* Copyright 2026 Johannes Findeisen
|
||||
* Licensed under the terms of the Apache-2.0 license.
|
||||
* https://opensource.org/license/apache-2-0
|
||||
*
|
||||
* Added: 2026-03-25
|
||||
*/
|
||||
|
||||
fun assert_like(cond, msg)
|
||||
if (!cond)
|
||||
print("ASSERT FAILED: " + to_string(msg))
|
||||
return 0
|
||||
return 1
|
||||
|
||||
ok = assert_like(1 + 1 == 2, "math broke")
|
||||
print("assert returned: " + to_string(ok))
|
||||
|
||||
/* Expected output:
|
||||
assert returned: 1
|
||||
*/
|
||||
37
examples/patterns/logging_min.fun
Executable file
37
examples/patterns/logging_min.fun
Executable file
|
|
@ -0,0 +1,37 @@
|
|||
#!/usr/bin/env fun
|
||||
|
||||
/*
|
||||
* This file is part of the Fun programming language.
|
||||
* https://fun-lang.xyz/
|
||||
*
|
||||
* Copyright 2026 Johannes Findeisen
|
||||
* Licensed under the terms of the Apache-2.0 license.
|
||||
* https://opensource.org/license/apache-2-0
|
||||
*
|
||||
* Added: 2026-03-25
|
||||
*/
|
||||
|
||||
// Minimal helper: remove trailing newline from a string (no full strings lib needed)
|
||||
fun chomp(s)
|
||||
t = to_string(s)
|
||||
if (len(t) > 0 && substr(t, len(t) - 1, 1) == "\n")
|
||||
return substr(t, 0, len(t) - 1)
|
||||
return t
|
||||
|
||||
fun now()
|
||||
// Very rough timestamp using system 'date' for demo
|
||||
r = proc_run("date +%Y-%m-%dT%H:%M:%S%z")
|
||||
return chomp(r["out"])
|
||||
|
||||
fun log_line(level, msg)
|
||||
print("[" + now() + "] [" + to_string(level) + "] " + to_string(msg))
|
||||
|
||||
log_line("INFO", "Service starting")
|
||||
log_line("DEBUG", "Config loaded")
|
||||
log_line("INFO", "Service running")
|
||||
|
||||
/* Expected output (timestamps will vary):
|
||||
[2026-03-25T23:00:00+0000] [INFO] Service starting
|
||||
[2026-03-25T23:00:00+0000] [DEBUG] Config loaded
|
||||
[2026-03-25T23:00:00+0000] [INFO] Service running
|
||||
*/
|
||||
Loading…
Add table
Add a link
Reference in a new issue