- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2019-04-14T01:00:06+09:00","","")
*Lua c-style cp932[#w0855ffe]
**ダウンロード [#t60e6a5e]
#ref(http://xn--pckzexbx21r8q9b.net/lua_tips/download/soft/luaex_cp932_524.03.zip)
**バージョン [#l4271189]
-Lua 5.2.4 がベースとなります。
*用途 [#mec54915]
**c-style [#h67879a7]
***用途 [#v9e7d0ac]
-普段は''c-style''のカッコ系の言語(Java, JavaScript, C言語, C++ 等)で記載しているので、それに''近い戸惑わない記述が出来る''のが良い。
-Luaの既存のコード資産も使いたいので、''Lua本来の文法''も全て使えるものが良い。
-Java, JavaScript, C言語, C++ 等、{}系の''c-style''の記述でプログラムしているので、それに近い戸惑わない文法が良いという人へ。
-Luaの既存のコード資産も使いたいので、''Lua本来の文法''も全て使えるものが良いという人へ。
***仕様 [#nfcd9b79]
- c-styleの{}が使える
#sh(lua){{
-- c-like lua
function add(x,y) {
return x + y
}
//階乗
function factorial_while(n) {
//whileで階乗してみる
sum = 1
i = 1
while(i <= n) {
sum = sum * i
i = i + 1
}
return sum
}
//階乗
function factorial_for(n) {
//forで階乗してみる
//すまないが、 lua のforを 完全にc-likeにしきれていないんだ
sum = 1
for (i = 1 , n , 1 ) { //or for (i = 1 , n ) {
sum = sum * i;
}
return sum
}
}}
- c-styleの!=が使える
#sh(lua){{
if ( 1 != 0 ) then
print("not equal")
end
}}
**cp932 [#h67879a7]
-cp932 とは MS-Windowsの標準の文字コードです。
***用途 [#x10a9542]
- ''日本語 MS-Windows''なので、コンソール画面や他のアプリとの連携の都合上、''cp932(≒shift_jis)''の文字コードでLuaを利用したい。
- プログラム側(C++の''マルチバイト'')がcp932なので、''文字コード変換をする必要がないLua''が欲しい。
- ''日本語 MS-Windows''なので、コンソール画面や他のアプリとの連携の都合上、''cp932(≒shift_jis)''の文字コードでLuaを利用したい人へ。
- プログラム側(C++の''マルチバイト'')がcp932なので、''文字コード変換をする必要がないLua''が欲しい人へ。
***仕様 [#qfac25b7]
**extension [#p94f3d0d]
- 本体に組み入れたライブラリ
--''lfs''([[LuaFileSystem>http://keplerproject.github.io/luafilesystem/]])ライブラリ
-Luaに関する書籍を出版されている「[[はむ!:http://hammm.dw.land.to/lua/]]」氏のものをベースとしています。~
**compatible [#t44714ae]
- LUA_COMPAT_ALL でコンパイルされていますので、Lua5.2標準規格では使えなくなったLua5.1系の記述等も、その多くが利用可能です。
- 特徴
--文字列やコメントに日本語(cp932)が使えます。
--非常に限定的な修正のため、Luaの移植性に影響を与えません。
--2バイト文字の判定方法はcp932
**他のツール [#s6acb3fe]
- luaファイルからexeを作成するための、[[glue.exeとsrlua.exe>luatoexe]]も同封されています。
-注意点
--関数や変数の名前には日本語(SJIS)が使えません。
--エラーメッセージなどは日本語化していません。
--EUC,UTF-8の場合、オリジナルのLuaと同じ動作となります。
*仕様 [#s1af76f6]
-[[リファレンス>Lua c-style cp932_reference]]
*ライセンス [#sf76192a]
-[[MIT License>http://www.lua.org/license.html]]