[表示 : 全て 最新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/

669 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 09:18:48.10 ID:18wKNGsP.net]
>>662
・不必要な標準モジュールは組み込まない。
・モジュールの中に不必要な関数がある場合は同名の関数を作ってオーバーライドしてしまう。

670 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 09:20:47.53 ID:18wKNGsP.net]
同名の関数を作る、というよりファンクション型の変数に代入し直すというのが正しいか

671 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 11:51:04.49 ID:RhUk/Sb2.net]
io系 file系 debug系、os.systemなどをlua本体のソースから外す。

requireのうち、c系dll読み込みも外す。

672 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 14:01:37.37 ID:9sNRGOg0.net]
>>663
>>665
塞ぎ忘れたらとんでもない事になりそうですね。。。
がんばってみます。
ありがとうございました。

673 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 18:39:19.42 ID:RhUk/Sb2.net]
Luaは本体のcソースの段階で、追加したり削除されたりすることを念頭において
作られてるので、めちゃくちゃ簡単に追加や削除ができるよ。

やり始めたらあまりに簡単でびっくりするとおもう。

最悪上記の消したいlua関数のregisterの処理だけl***lib.c系からコメントアウトした上で、
luaインタプリタを本体アプリにスタティックリンクするだけで、それなりに仕組みを深く理解している人以外はイタズラしにくくなる。

674 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 20:13:20.63 ID:ByjLANN5.net]
-- preload.lua
io = nil
...

とかを用意して
ユーザースクリプトを読む前にdofile
中身が決まったらdostringでハードコードする
ってのが簡単

675 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 23:36:05.71 ID:V1hm5/yh.net]
5.2以降は意図的に読み込まないと標準ライブラリとは使えないよ。
Ubuntuとかはまだ5.1だったりするのかな

676 名前:デフォルトの名無しさん [2015/05/03(日) 17:51:04.86 ID:R+xSVf6m.net]
>>668
わざわざそんなことするより、読み込み部コメントアウトした方が
簡単だろw
モジュール単位、関数単位で、1行ずつ「追加・削除はご自由に」って
感じで全部列挙されてんだから。

677 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:10:07.04 ID:IVZoCitV.net]
殺したい関数型変数に新しい関数を代入するだけだってばさ。
何でわざわざ改造せねばならんの?



678 名前:デフォルトの名無しさん mailto:sage [2015/05/03(日) 18:16:54.02 ID:hj7OiJXS.net]
まあまあ
Lua処理系を勝手に改造できる(してもいい)環境でないとそもそもできないね

679 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 07:02:11.02 ID:Sl6NKpln.net]
lua処理系を全く改造しないって無理がないかなぁ?

exit とかが数箇所入ってる時点で
組み込みで等でコンパイル済ライブラリを
そのまま使うのは怖すぎると思う。

680 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 07:28:47.12 ID:ZL3JUBSp.net]
改造前提だろう
requireもマルチバイト文字を含むパスを扱えないし (win環境)
本体と比べてライブラリの品質は良くない

681 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 07:51:01.81 ID:sbqo/+Tp.net]
混乱するので659への回答と他の話題は分けていただけると助かります

682 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 08:38:47.22 ID:Sl6NKpln.net]
>>675
だから、
ソースとか全部自由になるのなら、ベストはC層で
・不要なライブラリのロードを消す。
・package.cpath を消す。 or requre 自体不要なら消す。
・ソースから本体アプリにLuaごろスタティックリンク

これがデフォルトよりサイズも小さくスピードもアップする上に、
いたずらの可能性も限りなく0

LuaでnilにしたのをCへdostringで=といったのは、
一部を手抜きで代替するという案であって
決してベストなものではない。
スピードが遅くなったり実行ファイルにゴミは残るが、
そういう手の抜き方もあるよ、という話。

683 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 22:44:21.04 ID:qi4175C9.net]
autotouchhでゲームのリセマラマクロ作ってるんですけど
iosのアプリ固有ID?
//var/mobile/Containers/Data/Application/********/Documents
の********の部分の取得方法がわからなくて困ってます。

プログラミング自体初心者で一月ほど調べてるけどよくわからない言葉だらけで・・・
何かアドバイスくださいm(__)m

684 名前:デフォルトの名無しさん [2015/05/04(月) 23:07:02.98 ID:8Z+6LqT8.net]
お前向いてないからもうやめとけ

685 名前:デフォルトの名無しさん mailto:sage [2015/05/04(月) 23:17:09.78 ID:qi4175C9.net]
そんなに簡単なんですか・・・
すみません・・・
最後に是非教えてください

686 名前:デフォルトの名無しさん mailto:sage [2015/05/05(火) 12:42:12.67 ID:KszErmBE.net]
AppInfoってアプリ入れてみ
これでわかんなかったら本当にやめろ

687 名前:674 mailto:sage [2015/05/06(水) 08:00:28.72 ID:uYsfVS/M.net]
いや、調べ方はわかるん



688 名前:です、コードでどうすればいいかがわからないんです。
マクロ自体は完成しているんですが、アップデートとかのたびに変わるみたいで
手作業で書き直してるんでそれをどうにかできればなと......
[]
[ここ壊れてます]

689 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:08:53.11 ID:/KG0Gdz0.net]
ios固有なのか、そのアプリ固有なのか、
luaに依存する処理なのか?
なんとなくスレ違いの部分で悩んでいる感がある
文字列やファイルの処理ではないんだろ?

690 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 11:18:37.36 ID:iq3C3Ifp.net]
>>681
qiita.com/fuhi1983/items/342b82f3222483697e8e
これじゃねーの?

691 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 14:09:18.09 ID:Om2we3tL.net]
>>681
そのフォルダ名はアプリの構成かわるときにランダムに決定されるので、そのアプリ自身以外からは基本的には特定できない仕組みになってる

Data/Application/*** の下に、なにかしらアプリを特定できるような情報が入ったファイル(たぶんInfo.plistとか)があるだろうから、それを全部探索して読み込んで目的のアプリを探す、以外の方法は無い

692 名前:デフォルトの名無しさん mailto:sage [2015/05/06(水) 15:34:43.00 ID:uYsfVS/M.net]
>>684
そうなんですね、ありがとうございます。
どこかに情報ないかといろんなファイルをtextで開いてたのですが見つからないはずですね
ありがとうございました。

693 名前:デフォルトの名無しさん [2015/05/16(土) 00:11:08.39 ID:yj1J+1ps.net]
定義したあるテーブルのメソッド一覧を取得することはできますか?

player = {}

function player:Attack()
end

function player:Jump()
end

上記のような定義があり、
"Attack"と"Jump"のキーとその関数をペアで取得したいのですが

694 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 00:33:56.90 ID:nBVK7qH/.net]
Lua自体にはメソッドという分別は無いので関数かどうかで判断するだけだな

for k,v in piars(player) do
if type(v) == "function" then
printf(k, v)
end
end

695 名前:デフォルトの名無しさん [2015/05/16(土) 00:48:49.46 ID:yj1J+1ps.net]
お〜
できました〜
かゆいところにきちんと手が届いてくれていい言語ですねぇコレ
ありがとうございます。

696 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 06:50:19.69 ID:QWumnvsF.net]
すう様はきちんと考えながら英語を喋ってるよ。
あれはカンペとかじゃない。

697 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 14:34:42.08 ID:dht99EFe.net]
Luaで悩んでいます。ご教示お願いいたします。
下記のようなテキストの入った複数の配列があり、

tbl01={"a","b","c"}
tbl02={"d","e","f"}
tbl03...

ストリング型のstrという変数に"tbl"という文字列が入っています。
やりたいことは、文字列型の値を何とか加工してtblの要素にアクセスしたいんです。

str[1]

とするとエラーが出ますし・・・(まあそうですよね)
強引にtable型に型変換できないかな?とか悩んでいます。
文字列しか受け取れない場合、複数ある配列にアクセスするには
どのようにすればよろしいでしょうか?

詳しい方教えてください。お願いします!



698 名前:687 mailto:sage [2015/05/19(火) 14:37:23.12 ID:dht99EFe.net]
↑すみません、間違えました。
strの中に入っている文字列は"tbl"ではなく"tbl01"としています。
いずれにせよ無理ですが…

699 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 16:19:59.83 ID:Nw+B6083.net]
>>690
string.sub() or .byte()
1文字ずつ処理するのはC系に比べて苦手。
代わりに正規表現が使えないか要検討。

700 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 16:23:48.21 ID:26zc2bnI.net]
微妙にエスパー能力が必要な質問だが、こういうことけ?

local function getTableByName(name)
 local tables = {
  tbl01 = {'a', 'b', 'c'},
  tbl02 = {'d', 'e', 'f'},
 }
 return tables[name]
end

local str = 'tbl01'
local t = getTableByName(str)

print(t[1])

701 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 16:28:09.88 ID:Nw+B6083.net]
>>690
違うな。質問の意図を取り違えていたかも?
str[1]の代わりになるのは >>692 だが、
元々の目的が「変数に入っている変数名を経由したアクセスがしたい」ならば _G を使う:
str = "tbl01"
assert(_G[str] == tbl01)

tbl01 等がグローバル変数、ローカル変数、他テーブルの要素で処理が違うものになるから、これでダメならまた聞いてくれ。

702 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:19:05.65 ID:dht99EFe.net]
>>692
>>693
お二方、ありがとうございます!
エスパーみたいな質問になってしまいましたね。すみません。
実現したいことの詳細をより細かく記載します。どうしても実現したいので。もう3日悩んでます。

ゲームを制作しています。
ゲームエンジンからluaを呼んでluaで処理させることができるのですが、
ゲームエンジンの仕様でlua側に渡せる値が文字列のみです。

luaで何をしたいかというと、上記のように大量にテーブルを作って中身も代入しておきます。
すべて文字列のデータです。

ゲームエンジン側から@文字列Aテーブル名の二つの値を渡します。(もちろん両方文字列でしか渡せません)
その二つの値がlua側に渡ったら、Aを使ってテーブルを探し、@を使ってそのテーブルの中に
@と同じ文字列があるか比較します。

文字列があったら1を返して、なかったら2を返す…ということを実現したいのです。

>>690の例で行くと、ゲームエンジンから@"a"とAtbl01をもらって、lua側のtbl01をforで回して
探していけばいいや…と思っていました。しかし、
strにtbl01が入っていたとして、

for i=1 , table.maxn(str) , 1 do

…なんてことをすると、文字列なのでエラーが返ってきますorz
いろいろ試してみてstr[i]なんてことまでやってみる始末。もちろん動

703 名前:かないですが。
そもそもluaって動的に型を決めてくれるので明示的にこちらから「こいつはtable型だよ!」
って指定できないんですね。(java使っている者でして…)

説明不足なら捕捉します。後出し申し訳ありません。何卒よろしくお願いいたします。
[]
[ここ壊れてます]

704 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:35:28.81 ID:UWcSl4nD.net]
>>695
table型だよって指示できないもなにも、変数strの中身はあくまでstringなんだから、Javaで同じことやる場合でもHashTableかなんか使うよね?
つまり、>>694 がやりたいことなんじゃないの?
table.maxn(_G[str]) でできると思うよ

705 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 23:29:17.09 ID:dht99EFe.net]
>>696
やりました!!!
要素にアクセスできましたーー!

そのまま文字列一致の判定をして、フラグ1が返ってきました。
これでゲームの核の部分が作れました。

そもそも_Gの使い方を間違ってました…
しかしLuaって色々弄って思ったのですが想像以上に柔軟なんですね。

お三方、親身に教えてくださってありがとうございます。

706 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 21:08:36.02 ID:sCH5oSB/.net]
質問失礼します。
OSX 64bit Unity という環境で Lua を使用しています。
Windowsでは正常に動くのですが、OSX 64bit で動かすと LuaDLL.luaL_newstate(); で null が返ってきて困っています。
パッケージを見ると Mac (x86 only) と明記してありました。
OSX 64bit でも動かしたいのですが、どうやれば良いでしょうか?

707 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 21:17:17.45 ID:WFHyWYJ8.net]
64bitなdllを別途準備しないとダメじゃね?



708 名前:695 mailto:sage [2015/05/25(月) 21:18:45.04 ID:sCH5oSB/.net]
>>699
そうですよね。。。
makeは通ったんで、頑張ってみます!

709 名前:695 mailto:sage [2015/05/28(木) 19:45:28.97 ID:52beXCpy.net]
詰まりました。。。
LuaJIT-2.0.2を利用しているのですが、OSX用のuniversal binaryで出力する方法が分かりません。
Luaの速さに全体重を乗っけてるんで、今更別の言語への切り替え等は考えられません。
分かる方、ぜひ教えてください。

710 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 01:55:02.89 ID:p/ahFCvT.net]
個々にビルドした場合はlipoというツールで合体させるらしい?
https://www.google.co.jp/search?q=lipo+universal+binary

711 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 02:07:51.90 ID:p/ahFCvT.net]
luajitではなく、luaならhomebrewとかみるとuniversalのオプションがあるね。
brew install lua --universal

>698も根が深そうな。。。
https://www.google.co.jp/search?q=luaL_newstate+64bit
https://gist.github.com/nddrylliog/8722197

712 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 02:13:23.25 ID:p/ahFCvT.net]
とおもったけど、普通に64bitになっていた。
https://github.com/Homebrew/homebrew/blob/master/Library/Formula/luajit.rb

$ lipo -info /usr/local/opt/luajit/bin/luajit
Non-fat file: /usr/local/opt/luajit/bin/luajit is architecture: x86_64

713 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 09:55:09.44 ID:2a3TZL/2.net]
>>702-704
ありがとうございます!
LuaJITの32bit版ライブラリと64bit版ライブラリを出力して、lipoというソフトで合体という事ですよね?
試行錯誤してみます!

714 名前:695 mailto:sage [2015/05/29(金) 15:29:21.86 ID:2a3TZL/2.net]
>>698も根が深そうな。。。
まさにコレでした。
問題は2つあったんですね。
もうお手上げです。
とりあえず勉強になりました。
ありがとうございました。

715 名前:695 mailto:sage [2015/05/30(土) 02:16:04.85 ID:WJHjPFg2.net]
ちょっとレスにミスったんで、訂正

>>703
>698も根が深そうな。。。
↑まさにコレでした。

716 名前:デフォルトの名無しさん mailto:sage [2015/09/14(月) 16:28:17.35 ID:SxkHJw7D.net]
最新のsnes9xでluaを読み込む方法を教えてください

pastebin.com/nBuJChc9を動作させたいです

717 名前:デフォルトの名無しさん [2015/09/30(水) 15:13:43.25 ID:gLrxUsPl.net]
Nekoって一応プログラミング言語だったのか
Haxeのプログラムを動かすVMとだけ思ってた

https://en.wikipedia.org/wiki/Neko_(programming_language)



718 名前:デフォルトの名無しさん mailto:sage [2015/09/30(水) 15:57:26.40 ID:2TkwnPLU.net]
新進気鋭のプログラミング言語「Neko」ってなに?
news.mynavi.jp/articles/2007/08/06/neko/

719 名前:デフォルトの名無しさん [2015/10/06(火) 22:32:11.35 ID:uxUTfTFS.net]
受ける会社大丈夫?
下記の条件が全て当てはまる会社にご注意下さい。

・IT系 in tokyo
・「社名 労基」でググると過去の2chスレが出てくる
・転職会議で2.5点

720 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 00:53:22.02 ID:Kl04gCQo.net]
Ravi

https://github.com/dibyendumajumdar/ravi

lua5.3互換、静的型付け追加、jit

721 名前:デフォルトの名無しさん mailto:sage [2015/10/21(水) 01:29:46.09 ID:+L1p2dWm.net]
きみのためなら死ねる。Ravi!

722 名前:デフォルトの名無しさん mailto:sage [2015/11/02(月) 08:39:42.03 ID:LHJrrN+c.net]
FlashAirにLuaが組み込まれてた

723 名前:デフォルトの名無しさん mailto:sage [2015/12/07(月) 06:26:50.82 ID:sv1H4v2t.net]
duktapeはどうなん?
使ってる人いる?

724 名前:デフォルトの名無しさん [2015/12/08(火) 17:05:55.06 ID:yVFhtqC/.net]
スマホのマクロアプリのスクリプトがLuaのコードで書かれてるんだけどusleep関数を使うと徐々にズレてくるんだが正確に待機させる事ってできます?
命令としてはタップ、待機、タップの繰り返しなんだけども10回目くらいで目に見えて遅れてる
usleep自体正確じゃなく、1回ズレると以後ズレた地点から待機時間が計算されるからその繰り返しになっていると思う
os.clockで開始時間計って目的のタップまでの待機時間を計算していくしかないかなと思ってるんだけどいかんせん700回以上を計算して行くのは心が折れるので何か方法があれば教えて下さい

725 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 17:52:14.14 ID:V92FzyIA.net]
>>716
luaに限った話じゃないが
次に目を覚ましたい時刻までの差分だけ寝れば?

726 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 18:05:12.63 ID:yVFhtqC/.net]
>>717
os.clockでタップさせたいタイミング全ての時間を取得するって事ですか?

727 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 18:45:35.86 ID:V92FzyIA.net]
>>718
「全ての時間」ってのがよくわからないな。キリのいい間隔ではだめなのか?

例えば 200ms おきにタップしたいなら、
ベース時刻から 0, 200, 400, 600ms …の経過で処理するんでしょ?
で、200ms の処理の際に時計を見て、実際には 205ms の時刻なら、次は 400 - 205 = 195ms だけ寝る。

何かしら負荷がかかって 400ms の時刻に近すぎたり過ぎたりしたら
スキップするなり、数回間隔を狭めて調整する処理も要るかも。



728 名前:デフォルトの名無しさん mailto:sage [2015/12/08(火) 23:00:53.20 ID:yVFhtqC/.net]
>>719
一定間隔ではないんですよね
止める時間はだいたい4パターンのうちどれか
タップした時の時間と目的の時間を比較する方法があれば良いんですが
一定間隔ズレているなら良いですが徐々に少しずつ遅れているなら結局700回を全て調整していくしかないわけですよね…
コツコツ頑張ります

729 名前:デフォルトの名無しさん [2015/12/09(水) 01:20:52.01 ID:uEc6NdFX.net]
【 オンラインTCGエディター 】 >>1

デュエル・マスターズ的な非電源TCGの 《 オンライン化ツクール系ソフト 》 制作の企画。

例えば、ガチンコ・ジャッジを直ぐにでも導入できる機能を持っており

730 名前:ながら、
当面それを扱わず単純化させておいて、事後的に導入拡張する際に当該システムを
ブロック構造の組み合わせで後付け挿入できるように予めシステム化してあるソフト(エディター)。
既存の非電源TCGを劣らずに再現できるならば大概のニーズに応えられる筈。
バトスピ、ヴァンガ、ウィクロス、ポケカ、デジモン、ゼクス、モンコレ、ガンダム・ウォー、ライブオン、ディメンション・ゼロ、カードヒーロー、シャーマン・キングなど
のシステムを完全再現できるように設計するけど、他に此のTCGの此のシステムは再現希望とか有ったら書いて。
マジック:ザ・ギャザリングの全システムを完全に再現するのは無理だから、此れだけは必用だ!って部分のみリクエストして。
WEB通信での対戦は、個vs個、多数乱戦、チームvsチーム、個vsチームを可能な仕様とする方針。

設計思想は 《 RPGツクール 》 が良いかな?  他に、優れたエディター有ったら挙げてみて。

個人や企業などのベンダーが提示する開発費(見積もり)で折り合えば、発注する。

エディター群から基本コンセプトを絞り込む(もちろんオリジナルで優れた新ネタが有れば導入する)。

遊戯王OCGに関しては、タッグフォース、ADS、デュエルオンラインを発注先ベンダーに研究させる。
なるべく前述3つで可能な再現は全て実装させる方向を目指す。 まぁ努力する・・・
バトスピ、ヴァンガ、バディ、デュエマなど発売済みゲームソフトが存在してるケースはベンダーに研究させる。

各社TCGを再現するテストプレイ ⇒ 更に改良や修正。

機能制限した下位版を5万円以上で発売 + デュエリ−グ用に改造した上位版でサーバー稼動=営業開始。

下位版の改造および商用利用には、別途で当社との契約が必要。

さ〜て、製作ベンダー見つけよっと!ww(クス
http://wc2014.2ch.net/test/read.cgi/entrance2/1449039272/-18
[]
[ここ壊れてます]

731 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 01:11:18.19 ID:TU1EcnmS.net]
初心者ですがLuaのサイト行ってダウンロードしたんですけど
インストール出来ません
アドバイスを御願いします(´・ω・`)

732 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 01:46:15.47 ID:LbvdgCkv.net]
>>722
luabinaries.sourceforge.net/

733 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 05:57:27.20 ID:47mVpj3E.net]
>>720
local start_usec = sysyem_usec();
〜色々やる〜
usleep(sleep_time - (sysyem_usec() - start_usec));
これだけの話じゃないの?

ちなみにos.clockはprogramが使用したCPU時間だからCPUが寝てる間は増えないよ

734 名前:デフォルトの名無しさん mailto:sage [2015/12/30(水) 18:30:13.07 ID:Sj5i/aUt.net]
>>722
OSがワカランけど
ソースをコンパイルするなら

tar zxvf lua-5.3.2_Sources.tar.gz
cd lua53
make linux or
make macosx or
make mingw or
make posix or
make solaris or

make install

735 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 20:02:10.72 ID:lAIllFG+.net]
Luaは組み込みが簡単だっていうけど
Javaの呼び出しAPI使う方がずっと簡単じゃん
Javaなら書くのにEclipseとか使えるし

736 名前:デフォルトの名無しさん mailto:sage [2016/01/07(木) 21:06:07.28 ID:YzB9fcaP.net]
コンパイル型の言語を組み込んで何がしたいんだ?

737 名前:デフォルトの名無しさん mailto:sage [2016/01/08(金) 08:07:50.80 ID:QEjOaegz.net]
「組み込みが簡単」の意味を誤解してるに一票



738 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 03:28:28.16 ID:Va0MVjV0.net]
じゃあJavaをアプリケーションに組み込んでみなよ

739 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 04:05:21.99 ID:Va0MVjV0.net]
luaのスタック操作APIが面倒というのならbind用ライブラリ一杯ある

lua-users.org/wiki/BindingCodeToLua
それ使うとJNIが面倒と思えるぐらい便利なのあるよ

740 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 04:14:11.05 ID:0EvHa66G.net]
静的型付きの組み込み言語ってないの?
実行時コンパイルできるやつ

741 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 04:27:46.70 ID:Va0MVjV0.net]
>>731
それってエラーになるの結局実行時だしIDEがサポートしないとメリットなくない?

742 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 05:37:06.41 ID:0EvHa66G.net]
すまん言葉が足りなかった。
そうじゃなくて、実行時コンパイル「も」できるやつと言いたかった。つまり実質Evalを捨ててない静的型付き言語。
というかIDEサポートなくたってメリットあるだろ・・・コンパイル時に型エラー出るじゃん

743 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 07:27:44.99 ID:H4zd5jav.net]
>>712みたいなLLVMバックエンドの奴なら

744 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 07:39:28.66 ID:H4zd5jav.net]
いやそんなの組み込むのは無理か、間違い

745 名前:デフォルトの名無しさん mailto:sage [2016/01/11(月) 09:54:45.69 ID:EOECSf3M.net]
>>733
JavaScriptを組み込んでTypeScriptで書く
IDEサポートも VisualStudio なり VisualStudio Code なりがある
v8なりJsRTが使える環境なら性能面でもかなり良い選択だと思う

746 名前:デフォルトの名無しさん [2016/01/11(月) 17:05:44.51 ID:if9kJcKP.net]
>>736
v8をアプリに組み込むのは手間だし(クロスプラットフォームを考えると尚更)
altJs系の言語はeval出来るって要件満たしてない

747 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 15:56:16.83 ID:pvMT9PCj.net]
jsのエンジンってposix系のapiってあるの?
commonjsのnode組み合わせたり必要なんだよね?

v8意外にもあるみたいだけど。
mattn.kaoriya.net/software/lang/c/20150815003033.htm



748 名前:デフォルトの名無しさん mailto:sage [2016/01/12(火) 15:58:08.09 ID:pvMT9PCj.net]
cljsだとeval出来るようだ。

749 名前:デフォルトの名無しさん mailto:sage [2016/01/15(金) 01:33:01.12 ID:9hWfybeU.net]
>>733
AngelScript|Д`)ノ<静的型付き言語と聞いて。Anyもあるよ!

750 名前:デフォルトの名無しさん mailto:sage [2016/01/19(火) 20:51:03.31 ID:0e0GcKQy.net]
PSLってのはどうよ?
俺はスクリプト言語に静的型はそれ程魅力無いと思ってるし実績あるからLuaでいいやってなってるけど

751 名前:デフォルトの名無しさん mailto:sage [2016/01/24(日) 13:23:45.64 ID:xtpCszE9.net]
>>58
Lua の文法って簡単なんだなーと思って試しにパーサを書いてみてたんだけど、
マニュアルの BNF 通りだと左再帰になってるから無限ループに陥ってしまった。
間接的な左再帰だから俺のへぼい知識では除去できなかった。

実際に Lua の実装では再帰下降してるっぽいからなんとかしてるんだとは思うけど、
左再帰を除去した文法規則の表とかってどっかにないかな?
ソースコード読むしかない?

752 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 02:54:56.98 ID:kn/5LVuq.net]
Lua使ってる人binderは何使ってる?
そんなもん要らん!標準のstack APIで充分だ!って人もどれくらい居るんかな

753 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 11:34:52.69 ID:Pw2nI7hG.net]
わしはstack形にすっかり慣れた

754 名前:デフォルトの名無しさん mailto:sage [2016/01/31(日) 23:47:27.75 ID:kn/5LVuq.net]
慣れても面倒くさいものは面倒くさくね?
C++のオブジェクトをLuaから使えるようにするだけでもやりたくなくなる

755 名前:デフォルトの名無しさん mailto:sage [2016/02/02(火) 07:57:29.11 ID:lmUWOHWt.net]
英語より面倒な日本語にもすっかり慣れたしなんとかなるもんだよ

756 名前:デフォルトの名無しさん mailto:sage [2016/02/03(水) 23:36:18.56 ID:8yWl5BHB.net]
Lua ってパッチ当てないと日本語つかわれへんの?
21世紀にもなってなんでや。

757 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 00:44:14.34 ID:lRklN/w3.net]
>>747
utf8ならそれなりに使える
21世紀にもなってSJISは使ってないんだろ?

とはいえファイル名はOSネイティブの文字コードが要るとか
幾つか注意点や手を入れたくなる所はあるが



758 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 01:00:10.15 ID:Jx1/Vtha.net]
>>747
使えるけど?

759 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 23:42:25.61 ID:wmCOjGkS.net]
SJIS使ってないなんて都合が良いことありえないw
Winだと何しても所詮SJISから逃れることはできん。

むしろSJISに対応してないプログラムの方が大問題だ。

760 名前:デフォルトの名無しさん mailto:sage [2016/02/04(木) 23:52:14.71 ID:wmCOjGkS.net]
>>747
今の言語だと、ソースをマルチバイトで記述しようが、utf8で記述しようが、
マルチバイト書いたソースから、utf8で書いたクラス呼ぼうが、
変換などソースのどこを探しても1行たりとも表れないのが常識なんだけれども
Luaは変換だらけ。

761 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 00:44:16.88 ID:FMLvAXOG.net]
string型をバイナリ配列として利用しようとするコードが存在する限りもう無理ぽ

762 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 01:33:38.19 ID:XGMa0UOY.net]
swigでsample.iに

typedef struct {
int a;
int b[4];
}hoge_t;

int hogehoge(hoge_t * test);

と書いて swig -lua sample.i 実行で吐き出されるグルー関数を使う場合

luaの記述は

test = require "xxx"

test_t = hoge_t()
test. a =10
result = hogehoge(test_t )

とかすればよいのですが、

test.b[1]=3とか
test.b[2]=4とかするとグルー関数でパラメータチェックで弾かれます。
構造体のポインタ渡しで構造体の中に配列がある場合は
LUA側でどんな記述をすればいいのだろう?

763 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 01:35:33.28 ID:XGMa0UOY.net]
間違えた↑訂正

test_t = hoge_t()
test_t. a =10
result = hogehoge(test_t )

とかすればよいのですが、

test_t.b[1]=3とか
test_t.b[2]=4とかするとグルー関数でパラメータチェックで弾かれます。
構造体のポインタ渡しで構造体の中に配列がある場合は
LUA側でどんな記述をすればいいのだろう?

764 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 06:22:46.35 ID:pWou2Qho.net]
>>750
ANSI 版の API を使ってるやつこそクソ。
正直言って A 付きの Windows API は全部廃止してもいいくらいだ。
UNICODE 版の API 使えよ。

765 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 08:17:19.47 ID:ToPlCIrz.net]
>>755
Luaの話ならstringはchar固定でwchar_t等に変更するのは本体の改造が要る。

Luaのstringは、byte-arrayという名前のほうが適切だと言える。
不適切な変換はしないが、「UTF8として解釈するならutfモジュールを使え」というスタンス。
同様に、SJISに対応したいなら自分でsjisモジュールを作ることになる。

Windowsがsetlocale("UTF8")をサポートしていないのが面倒の原因なんだよな。
他のOSならできるから、もうみんなUTF8に統一して満足しちゃってる。

766 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 15:39:47.51 ID:brMGa4PB.net]
いち早くUnicode()に対応したはいいけど2バイトに収まりきらず、固定長じゃなくなってメリットが何もなくなった上に
他のプラットフォームは軒並みUTF-8になってしまって孤立してしまったが互換性のためにSJISを捨てられないWindowsさん
MSVCで設定とかでUTF-8版のCライブラリ(中でUTF-16に変換するような)を使えるようにしてくれたらいいような気もするんだけど何か問題あるんだろうか

767 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 16:03:19.95 ID:TvHQKkN9.net]
ラテン語圏のやつらが作る言語はいつもこう。



768 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 19:16:06.06 ID:brMGa4PB.net]
ははっ、
RubyのWindowsでの日本語対応がマトモだったと思ってる?

769 名前:デフォルトの名無しさん mailto:sage [2016/02/05(金) 19:54:12.16 ID:Jcxd0Fsw.net]
Windows切るだけで解決する






[ 続きを読む ] / [ 携帯版 ]

前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