- 【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って色々弄って思ったのですが想像以上に柔軟なんですね。 お三方、親身に教えてくださってありがとうございます。
|