ludic/fn-file_write.html
2026-09-17 22:10:03 +00:00

36 lines
No EOL
2.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>file_write — Ludic</title>
<meta name="description" content="Write a run of raw bytes to a stream handle.">
<link rel="stylesheet" href="base.css">
<link rel="stylesheet" href="docs.css">
</head>
<body>
<header class="nav"><div class="wrap nav-in"><a class="brand" href="index.html"><span class="logo">L</span> Ludic</a><button class="nav-toggle" aria-label="Toggle menu" aria-expanded="false">☰</button><nav class="nav-links"><a href="index.html">Home</a><a href="api.html">API Reference</a><a class="nav-cta" href="https://git.workshopsoft.io/workshopsoft/ludic">Source ↗</a></nav></div></header>
<main class="wrap item">
<div class="crumbs"><a href="api.html">API Reference</a> <span>›</span> <a href="api.html#builtins">Builtin functions</a> <span>›</span> <span class="here">file_write</span></div>
<div class="item-head">
<span class="kind-badge kind-builtin">function</span>
<h1 id="top">file_write</h1>
</div>
<code class="sig">file_write(handle, buf, len)</code>
<div class="desc"><p>Writes <code>len</code> bytes from <code>buf</code> to the given stream <code>handle</code>. Get the handle from <code>file_stdout</code> or <code>file_stderr</code>; the buffer is typically a string (whose length you pass with <code>len(buf)</code>) or a raw buffer from <code>bytes</code>. This is the precise, no-frills output primitive that underpins Ludic's own tooling and code generators, where exact bytes matter and the automatic newline of <code>print</code> would get in the way. Pass a byte count that does not exceed the buffer's size.</p></div>
<div class="params"><h2>Parameters</h2><div class="param" id="param-handle"><code class="pname">handle</code><span class="pdesc">a stream handle from <code>file_stdout</code> or <code>file_stderr</code></span></div><div class="param" id="param-buf"><code class="pname">buf</code><span class="pdesc">the bytes to write (a string or a raw buffer)</span></div><div class="param" id="param-len"><code class="pname">len</code><span class="pdesc">how many bytes to write</span></div></div>
<div class="examples"><h2>Example</h2><pre data-lang="ludic">program WriteTwice {
handler Emit phase Start {
let out = file_stdout()
let heading = "SCORE: "
let value = "250\n"
file_write(out, heading, len(heading))
file_write(out, value, len(value))
}
}</pre></div>
<a class="back" href="api.html">← All symbols</a>
</main>
<script src="ludic-highlight.js"></script>
<script>Ludic.highlightAll(); Ludic.installCards(); Ludic.flashTarget();</script>
</body></html>