ludic/ns-set.html
2026-09-17 22:10:03 +00:00

22 lines
No EOL
2.8 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>Set — Ludic</title>
<meta name="description" content="A set of string members — membership tests for tags, unlocked achievements, or visited tiles.">
<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> <span class="here">Set</span></div>
<div class="item-head"><span class="kind-badge kind-namespace">namespace</span><h1 id="top">Set</h1></div>
<p class="ns-blurb">A set of string members — membership tests for tags, unlocked achievements, or visited tiles. A <code>Set</code> shares the same open-addressing hash table as <code>Dict</code>, so <code>add</code> / <code>has</code> / <code>remove</code> are O(1) on average and duplicates are ignored. Create one with <code>Set.new</code>, then <code>add</code> / <code>has</code> / <code>remove</code> / <code>size</code> / <code>clear</code> / <code>members</code>. Arguments are positional. The runtime is spliced in only when a program mentions <code>Set.*</code> (or <code>Dict.*</code>).</p>
<div class="ns-methods"><a class="ns-method" href="set-new.html"><code class="nm-sig">Set.new() -&gt; Set</code><span class="nm-tip">Create an empty string set.</span></a><a class="ns-method" href="set-add.html"><code class="nm-sig">Set.add(s, key)</code><span class="nm-tip">Add a member (duplicates ignored).</span></a><a class="ns-method" href="set-has.html"><code class="nm-sig">Set.has(s, key) -&gt; bool</code><span class="nm-tip">Is a member present?</span></a><a class="ns-method" href="set-remove.html"><code class="nm-sig">Set.remove(s, key)</code><span class="nm-tip">Remove a member.</span></a><a class="ns-method" href="set-size.html"><code class="nm-sig">Set.size(s) -&gt; int</code><span class="nm-tip">How many members.</span></a><a class="ns-method" href="set-clear.html"><code class="nm-sig">Set.clear(s)</code><span class="nm-tip">Remove every member.</span></a><a class="ns-method" href="set-members.html"><code class="nm-sig">Set.members(s) -&gt; []pointer</code><span class="nm-tip">Every member, as a slice of strings.</span></a></div>
<a class="back" href="api.html">← All symbols</a>
</main>
<script src="ludic-highlight.js"></script>
<script>Ludic.installCards(); Ludic.flashTarget();</script>
</body></html>