File: default.expect.txt

package info (click to toggle)
highlight.js 10.7.3%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,332 kB
  • sloc: javascript: 41,059; makefile: 157; python: 29; sh: 20
file content (32 lines) | stat: -rw-r--r-- 1,867 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<span class="hljs-comment">--[[
Simple signal/slot implementation
]]</span>
<span class="hljs-keyword">local</span> signal_mt = {
    <span class="hljs-built_in">__index</span> = {
        register = <span class="hljs-built_in">table</span>.<span class="hljs-built_in">insert</span>
    }
}
<span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">signal_mt.__index:emit</span><span class="hljs-params">(... <span class="hljs-comment">--[[ Comment in params ]]</span>)</span></span>
    <span class="hljs-keyword">for</span> _, slot <span class="hljs-keyword">in</span> <span class="hljs-built_in">ipairs</span>(<span class="hljs-built_in">self</span>) <span class="hljs-keyword">do</span>
        slot(<span class="hljs-built_in">self</span>, ...)
    <span class="hljs-keyword">end</span>
<span class="hljs-keyword">end</span>
<span class="hljs-keyword">local</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">create_signal</span><span class="hljs-params">()</span></span>
    <span class="hljs-keyword">return</span> <span class="hljs-built_in">setmetatable</span>({}, signal_mt)
<span class="hljs-keyword">end</span>

<span class="hljs-comment">-- Signal test</span>
<span class="hljs-keyword">local</span> signal = create_signal()
signal:register(<span class="hljs-function"><span class="hljs-keyword">function</span><span class="hljs-params">(signal, ...)</span></span>
    <span class="hljs-built_in">print</span>(...)
<span class="hljs-keyword">end</span>)
signal:emit(<span class="hljs-string">&#x27;Answer to Life, the Universe, and Everything:&#x27;</span>, <span class="hljs-number">42</span>)

<span class="hljs-comment">--[==[ [=[ [[
Nested ]]
multi-line ]=]
comment ]==]</span>
<span class="hljs-string">[==[ Nested
[=[ multi-line
[[ string
]] ]=] ]==]</span>