【Lua】組み込み系言語総合 その6【Squirrel】at TECH【Lua】組み込み系言語総合 その6【Squirrel】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト700:デフォルトの名無しさん 15/05/19 16:23:48.21 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:デフォルトの名無しさん 15/05/19 16:28:09.88 Nw+B6083.net >>690 違うな。質問の意図を取り違えていたかも? str[1]の代わりになるのは >>692 だが、 元々の目的が「変数に入っている変数名を経由したアクセスがしたい」ならば _G を使う: str = "tbl01" assert(_G[str] == tbl01) tbl01 等がグローバル変数、ローカル変数、他テーブルの要素で処理が違うものになるから、これでダメならまた聞いてくれ。 702:デフォルトの名無しさん 15/05/19 22:19:05.65 dht99EFe.net >>692 >>693 お二方、ありがとうございます! エスパーみたいな質問になってしまいましたね。すみません。 実現したいことの詳細をより細かく記載します。どうしても実現したいので。もう3日悩んでます。 ゲームを制作しています。 ゲームエンジンからluaを呼んでluaで処理させることができるのですが、 ゲームエンジンの仕様でlua側に渡せる値が文字列のみです。 luaで何をしたいかというと、上記のように大量にテーブルを作って中身も代入しておきます。 すべて文字列のデータです。 ゲームエンジン側から①文字列②テーブル名の二つの値を渡します。(もちろん両方文字列でしか渡せません) その二つの値がlua側に渡ったら、②を使ってテーブルを探し、①を使ってそのテーブルの中に ①と同じ文字列があるか比較します。 文字列があったら1を返して、なかったら2を返す…ということを実現したいのです。 >>690の例で行くと、ゲームエンジンから①"a"と②tbl01をもらって、lua側のtbl01をforで回して 探していけばいいや…と思っていました。しかし、 strにtbl01が入っていたとして、 for i=1 , table.maxn(str) , 1 do …なんてことをすると、文字列なのでエラーが返ってきますorz いろいろ試してみてstr[i]なんてことまでやってみる始末。もちろん動 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch