とらりもんHOME  Index  Search  Changes  Login

lua

書きかけです。

インストール

sudo apt install lua5.3
vim .zshrc
alias lua="lua5.3"

How to use for bash user

lua interpriterのコマンドは”>”、bashコマンドラインのコマンドは”$”で表す。

bash/shと同じように、スクリプトとして使いたい場合

shebang(1行目)を書かないと、chmodで権限を与えても実行時エラーになる。

vim hello.lua
#!/usr/bin/env lua5.3
print("Hello World")
$ chmod +x hello.lua
$ ./hello.lua
Hello World

ライブラリの読み込み

lua
> dofile("some_lib.lua")

コマンドライン上で実行

-eをつけるとコマンドライン上で実行。

$ lua -e "x=10; print(x)"
10
$

更に-iをつけるとコマンドライン上で実行し、その後luaインタープリタに入る。

$ lua -i -e "x=10; print(x)"
Lua 5.3.1  Copyright (C) 1994-2015 Lua.org, PUC-Rio
10
>
> x
10

仕様

変数の扱い

ある関数を定義した時に、関数内の変数をローカル変数にしておかないとグローバル変数を参照する。参考

> function foo(x) print(x); print(y) end
> x=10; y=20
> foo(100)
100
20 <- グローバル変数を参照している
> foo()
nil
20

ローカル変数を宣言すれば、グローバル変数を参照しない。

> function foo(x) local y=0 print(x); print(y) end
> x=10; y=20; foo(100)
100
0  <- ローカル変数を参照している
> y
20 <- グローバル変数は変化していない

再代入性

何でも入る。関数は第一級オブジェクト

lua
> a
nil
> a = 10
>a
10
> a ="String!"
a
String
> a = print
> a("Hello World")
"Hello World")

文字列の結合

".."を使う

>"10" +1
11
> 10 .. 1
101
>"10" .. "1"
101
Last modified:2016/12/11 17:31:43
Keyword(s):
References:[memo_Katagi] [とらりもんHOME]