blob: 100b447554831ef3716da2fc7819bc4cebcd6b13 (
plain) (
blame)
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
|
(local M {})
(lambda M.contains? [tbl elem]
(not= nil (table.index-of tbl elem)))
(lambda M.index-of [tbl elem]
(each [idx value (pairs tbl)]
(when (= value elem) (lua "return idx")))
nil)
(lambda M.exec [cmd args]
(var argstr "")
(each [_ arg (ipairs args)]
(set argstr (.. argstr " \"" (string.gsub arg "\"" "\\\"") "\"")))
(local code (os.execute (.. cmd argstr))))
(lambda M.read-lines [filepath]
(local file (io.open filepath :r))
(if file
(do
(local lines [])
(each [line (file:lines)] (table.insert lines line))
(file:close)
lines)
[]))
(lambda M.write-lines [filepath lines]
(local file (io.open filepath :w))
(file:write (table.concat lines "\n"))
(file:close))
M
|