トップページ > プログラム > 2015年05月19日 > dht99EFe

書き込み順位&時間帯一覧

12 位/199 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000020000000114



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
687
【Lua】組み込み系言語総合 その6【Squirrel】

書き込みレス一覧

【Lua】組み込み系言語総合 その6【Squirrel】
687 :デフォルトの名無しさん[sage]:2015/05/19(火) 14:34:42.08 ID:dht99EFe
Luaで悩んでいます。ご教示お願いいたします。
下記のようなテキストの入った複数の配列があり、

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

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

str[1]

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

詳しい方教えてください。お願いします!
【Lua】組み込み系言語総合 その6【Squirrel】
688 :687[sage]:2015/05/19(火) 14:37:23.12 ID:dht99EFe
↑すみません、間違えました。
strの中に入っている文字列は"tbl"ではなく"tbl01"としています。
いずれにせよ無理ですが…
【Lua】組み込み系言語総合 その6【Squirrel】
692 :デフォルトの名無しさん[sage]:2015/05/19(火) 22:19:05.65 ID:dht99EFe
>>689
>>690
お二方、ありがとうございます!
エスパーみたいな質問になってしまいましたね。すみません。
実現したいことの詳細をより細かく記載します。どうしても実現したいので。もう3日悩んでます。

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

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

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

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

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

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

…なんてことをすると、文字列なのでエラーが返ってきますorz
いろいろ試してみてstr[i]なんてことまでやってみる始末。もちろん動かないですが。
そもそもluaって動的に型を決めてくれるので明示的にこちらから「こいつはtable型だよ!」
って指定できないんですね。(java使っている者でして…)

説明不足なら捕捉します。後出し申し訳ありません。何卒よろしくお願いいたします。
【Lua】組み込み系言語総合 その6【Squirrel】
694 :デフォルトの名無しさん[sage]:2015/05/19(火) 23:29:17.09 ID:dht99EFe
>>693
やりました!!!
要素にアクセスできましたーー!

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

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

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


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。