diff options
| author | Marshall Lochbaum <mwlochbaum@gmail.com> | 2022-01-28 16:34:41 -0500 |
|---|---|---|
| committer | Marshall Lochbaum <mwlochbaum@gmail.com> | 2022-01-28 16:34:41 -0500 |
| commit | 0c716e4c6b7c2c44bbfd02b6503cae66af7b7480 (patch) | |
| tree | ac880382ea281825027b34768d6512d340596e56 /docs/doc/oop.html | |
| parent | 4821f231a00dc93c42fb437359ea657c59c63053 (diff) | |
Separate syntax highlighting category for header/body characters ;:?
Diffstat (limited to 'docs/doc/oop.html')
| -rw-r--r-- | docs/doc/oop.html | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/doc/oop.html b/docs/doc/oop.html index af0daaa2..66df070f 100644 --- a/docs/doc/oop.html +++ b/docs/doc/oop.html @@ -71,7 +71,7 @@ <span class='Function'>View</span> <span class='Gets'>โ</span> <span class='Brace'>{</span><span class='Value'>๐ค</span> <span class='Value'>l</span> <span class='Brace'>}</span> - <span class='Function'>Move</span> <span class='Gets'>โ</span> <span class='Brace'>{</span><span class='Value'>from</span><span class='Ligature'>โฟ</span><span class='Value'>to:</span> + <span class='Function'>Move</span> <span class='Gets'>โ</span> <span class='Brace'>{</span><span class='Value'>from</span><span class='Ligature'>โฟ</span><span class='Value'>to</span><span class='Head'>:</span> <span class='Value'>l</span> <span class='Gets'>โฉ</span> <span class='Function'>Transfer</span><span class='Modifier'>ยด</span><span class='Modifier2'>โพ</span><span class='Paren'>(</span><span class='Value'>๐ฉ</span><span class='Modifier2'>โธ</span><span class='Function'>โ</span><span class='Paren'>)</span><span class='Modifier2'>โ</span><span class='Paren'>(</span><span class='Function'>โ </span><span class='Modifier'>ยด</span><span class='Value'>๐ฉ</span><span class='Paren'>)</span> <span class='Value'>l</span> <span class='Brace'>}</span> <span class='Comment'># Move a disk from ๐จ to ๐ฉ @@ -137,7 +137,7 @@ <span class='Function'>Undo</span> <span class='Gets'>โ</span> <span class='Value'>t.</span><span class='Function'>Move</span><span class='Modifier2'>โ</span><span class='Function'>โฝ</span><span class='Modifier2'>โ</span><span class='Function'>Pop</span> <span class='Brace'>}</span> </pre> -<p>This class composes a Tower of Hanoi with an undo stack that stores previous moves. To undo a move from <code><span class='Value'>a</span></code> to <code><span class='Value'>b</span></code>, it moves from <code><span class='Value'>b</span></code> to <code><span class='Value'>a</span></code>, although if you felt really fancy you might define <code><span class='Function'>Move</span><span class='Modifier'>โผ</span></code> in <code><span class='Value'>towerOfHanoi</span></code> instead with <code><span class='Function'>๐</span><span class='Modifier'>โผ</span><span class='Value'>๐ฉ:</span> <span class='Function'>๐โฝ</span><span class='Value'>๐ฉ</span></code>.</p> +<p>This class composes a Tower of Hanoi with an undo stack that stores previous moves. To undo a move from <code><span class='Value'>a</span></code> to <code><span class='Value'>b</span></code>, it moves from <code><span class='Value'>b</span></code> to <code><span class='Value'>a</span></code>, although if you felt really fancy you might define <code><span class='Function'>Move</span><span class='Modifier'>โผ</span></code> in <code><span class='Value'>towerOfHanoi</span></code> instead with <code><span class='Function'>๐</span><span class='Modifier'>โผ</span><span class='Value'>๐ฉ</span><span class='Head'>:</span> <span class='Function'>๐โฝ</span><span class='Value'>๐ฉ</span></code>.</p> <p>It's also possible to copy several variables and only export some of them, with an export statement. For example, if I wasn't going to make another method called <code><span class='Function'>Move</span></code>, I might have written <code><span class='Function'>View</span><span class='Ligature'>โฟ</span><span class='Function'>Move</span> <span class='Gets'>โ</span> <span class='Value'>towerOfHanoi</span></code> and then <code><span class='Function'>View</span><span class='Gets'>โ</span></code>. In fact, depending on your personal style and how complicated your classes are, you might prefer to avoid inline <code><span class='Gets'>โ</span></code> exports entirely, and declare all the exports at the top.</p> <h2 id="self-reference"><a class="header" href="#self-reference">Self-reference</a></h2> <p>An object's class is given by <code><span class='Function'>๐</span></code>. Remember, a class is an ordinary BQN function! It might be useful for an object to produce another object of the same class (particularly if it's immutable), and an object might also expose a field <code><span class='Value'>class</span><span class='Gets'>โ</span><span class='Value'>๐ค</span></code> to test whether an object <code><span class='Value'>o</span></code> belongs to a class <code><span class='Value'>c</span></code> with <code><span class='Value'>o.class</span> <span class='Function'>=</span> <span class='Value'>c</span></code>.</p> |
