// ============================================================ // Monkey 案例 4:把输出交给伪 bash 的管道 // // 下面的命令假设当前在仓库根目录。已经 cd 到 posts/monkey 时, // 把路径里的 posts/monkey/ 去掉即可。 // // Monkey 不读取 stdin,也没有文件 API;它在这个站点里的集成点主要是: // - 用文件参数运行脚本; // - 把 stdout 交给管道、重定向和退出码。 // // 运行并观察: // monkey posts/monkey/case_pipeline.txt // monkey posts/monkey/case_pipeline.txt | wc -l // monkey posts/monkey/case_pipeline.txt | grep fibonacci // monkey posts/monkey/case_pipeline.txt > report.txt // cat report.txt // // 失败时退出码会传回伪 bash: // monkey -e "nope" // echo $? // // 这份 .txt 本身也能直接读: // cat posts/monkey/case_pipeline.txt // ============================================================ let fib = fn(n) { if (n < 2) { n } else { fib(n - 1) + fib(n - 2) } }; let labels = ["fibonacci", "square", "sum"]; puts(labels); puts("fibonacci:"); puts(map([1, 2, 3, 4, 5, 6, 7, 8], fib)); puts("squares:"); puts(map([1, 2, 3, 4, 5], fn(x) { x * x })); puts("sum:"); sum([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])