[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/27 16:07 / Filesize : 264 KB / Number-of Response : 1020
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Lua】組み込み系言語総合 その6【Squirrel】



1 名前:デフォルトの名無しさん mailto:sage [2013/03/10(日) 15:10:32.28 .net]
LuaやSquirrelやAngelScriptなどアプリケーションへの組み込み用途で
使われるプログラミング言語についてのスレッドです
まとめwiki(なにか質問する前に必ずみること!)
wikiwiki.jp/lua/

その他の参考URLは>2から

■前スレ
【Lua】組み込み系言語総合 その5【Squirrel】
toro.2ch.net/test/read.cgi/tech/1321063450/
■過去スレ
その4 hibari.2ch.net/test/read.cgi/tech/1301414458/
その3 hibari.2ch.net/test/read.cgi/tech/1272643397/
その2 pc12.2ch.net/test/read.cgi/tech/1243210301/
その1 pc12.2ch.net/test/read.cgi/tech/1205208141/
プログラミング言語 Lua
その3 pc11.2ch.net/test/read.cgi/tech/1160799232/

1010 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 14:25:23.06 ID:t8yALPnl.net]
意味がわからん
ビット演算は5.3で採用されたし、doubleとintはスクリプトからは意識されない
連想配列と統一するために捨てたオブジェクトとは何のことだ?
連想配列とdoubleの統一性のなさとは何だ?メタテーブルがあり演算子の定義もできるのに

1011 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 14:41:12.52 ID:62PEa5hX.net]
ほんとオブジェクトって何のことだろうね
意味がわからんから捨てる

1012 名前:987 mailto:sage [2016/09/22(木) 14:44:50.84 ID:Ru9TIBDm.net]
>>994
判りにくくてスマン。

1013 名前:number.to_binary_ulongは定義自体が出来ないです
>type test.lua
string.to_number_ulong = function(self) --←これは定義できる
--(略)4バイトの文字列をunsigned longに変換するコード
end
number.to_binary_ulong = function(self) --←これは定義できない
--(略)unsigned longを4バイトの文字列に変換するコード
end
s = "\226\167\100\53"
print(s:to_number_ulong()) --バイナリ文字列を数字に変換(意図した動作)
n = 895789026
print(n:to_binary_ulong()) --こんな感じで使いたい。数字をバイナリ文字列に変換
>luajit test.lua
luajit: test.lua:4: attempt to index global 'number' (a nil value)
stack traceback:
test02.lua:4: in main chunk
[C]: at 0x004020e0

リファレンスマニュアルがショボいためにググってばっかりで捗らん・・・
[]
[ここ壊れてます]

1014 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 15:27:10.87 ID:62PEa5hX.net]
歴史的に、演算子といえばnumberの演算子しかなかった
昔の言語にはstringの演算子がなかったからstringには関数が必要
numberにはあまり必要なかった
その影響で string.* という関数は色々あるが number.* は一個もない

1015 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 15:31:44.15 ID:t8yALPnl.net]
>>998
ああそういう意味か
"string" は文字列型のメタ __index にも登録してあるから、それでいける
| The string library ... also sets a metatable for strings ...

"number" は初期設定では存在しないが、自分で定義して
lua_setmetatable (in C) なり debug.setmetatable (in Lua) で
数値型のメタ __index として登録すれば、やりたかった動作になるだろう

このあたりは伝統的にnumberのメソッドよりも、mathモジュールやstring.formatで賄うことが多かったから仕方ない
ホスト側の作成者の美的センスで適当に改造すべき箇所なんだろうな

1016 名前:987 mailto:sage [2016/09/22(木) 16:31:47.44 ID:Ru9TIBDm.net]
>>1000
ありがとう。リファレンスマニュアルにも使用例がないので
試行錯誤してこんな感じになった。まぁ動けばいいか
>type test.lua
number = {}
debug.setmetatable(0, {__index = number})
number.to_binary_ulong = function(self)
--(略)unsigned longを4バイトの文字列に変換するコード
end
n = 1684234849
print(n:to_binary_ulong())
>luajit test.lua
abcd

1017 名前:987 mailto:sage [2016/09/22(木) 18:13:01.03 ID:Ru9TIBDm.net]
>>996
>メタテーブルがあり演算子の定義もできる
を見て思うところがあったのでリファレンスマニュアルを見たけど__addくらいしか書いていなくて何を定義できるのか判らない
ググってみるとメタテーブルチュートリアル的なのが出てくるけど[]とか[]=とかの定義は出来ないっぽい?
これを定義できると配列みたいな動作をするオブジェクトの使い勝手が良くなるんだけどな

1018 名前:デフォルトの名無しさん mailto:sage [2016/09/22(木) 18:24:14.43 ID:t8yALPnl.net]
新スレ
echo.2ch.net/test/read.cgi/tech/1474536226/l50



1019 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<264KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef