ludic/op-range.html
2026-09-17 22:10:03 +00:00

32 lines
No EOL
2.2 KiB
HTML
Raw Permalink 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>Range — Ludic</title>
<meta name="description" content="A half-open range for numeric for loops — from a up to but not including b.">
<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#operators">Operators &amp; tokens</a> <span>›</span> <span class="here">Range</span></div>
<div class="item-head">
<span class="kind-badge kind-operator">operator</span>
<h1 id="top">Range</h1>
</div>
<code class="sig">a .. b</code>
<div class="desc"><p><code>a .. b</code> is a half-open numeric range used by the counting <code>for</code> loop: <code>for index in a .. b</code> walks <code>index</code> from <code>a</code> up to but <b>not including</b> <code>b</code>. This "up to but not including" convention makes lengths line up naturally — <code>0 .. len(route)</code> visits every element index of a slice, and <code>0 .. GRID_WIDTH</code> visits every column with no off-by-one. Both endpoints are <code>int</code> expressions, so a bound can be a <code>const</code>, a <code>var</code>, or any computed value. It is distinct from the string slice <code>text[start..end]</code>, which uses the same half-open idea for bytes.</p></div>
<div class="examples"><h2>Example</h2><pre data-lang="ludic">for row in 0 .. GRID_HEIGHT {
for column in 0 .. GRID_WIDTH {
Screen.put_pixel(x: column, y: row, color: Color.MidnightBlue)
}
}</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>