Files
lux/examples/file_io.lux
2026-02-17 06:52:44 -05:00

41 lines
1.2 KiB
Plaintext

fn countLines(content: String): Int = {
let lines = String.split(content, "
")
List.length(lines)
}
fn countWords(content: String): Int = {
let words = String.split(content, " ")
List.length(List.filter(words, fn(w: String): Bool => String.length(w) > 0))
}
fn analyzeFile(path: String): Unit with {File, Console} = {
Console.print("Analyzing file: " + path)
if File.exists(path) then {
let content = File.read(path)
let lines = countLines(content)
let words = countWords(content)
let chars = String.length(content)
Console.print(" Lines: " + toString(lines))
Console.print(" Words: " + toString(words))
Console.print(" Chars: " + toString(chars))
} else {
Console.print(" Error: File not found!")
}
}
fn main(): Unit with {File, Console} = {
Console.print("=== Lux File Analyzer ===")
Console.print("")
analyzeFile("examples/file_io.lux")
Console.print("")
analyzeFile("examples/hello.lux")
Console.print("")
let report = "File analysis complete.
Analyzed 2 files."
File.write("/tmp/lux_report.txt", report)
Console.print("Report written to /tmp/lux_report.txt")
}
let result = run main() with {}