1

私はWebサイトから情報をデータマイニングしていますが、私がしなければならないことの1つは、ページが提供する情報から別の情報に変更し、その2番目の情報を変数に変換することです。しかし、私はこれを行う方法を単純に理解することはできません。

以下の表を前提としています。

t = {big = "tall", little = "short", fat = "wide", skinny = "thin"}

...どうすればそうすることができますか?

adj = string.match(page,'Adjective: (%w+)')

...そしてそれは一致しますbig、私はの値を返すことができますがtall、それをテーブルに変えることができますか?うまくいかなかった関数を使ってt[adj]={}みましたが、のサブテーブルを作りたくないので、こんなことはしたくありませんt

真正面から見つめているような気がしますが、空白を描いています。

明確にするために編集:

必要な形容詞を取得する方法や、bigの値を表示する方法などを知っています。私が話しているのは、これを実行する機能です。

  1. 見つかった形容詞に基づいて値を見つけます。この場合、bigが見つかりました、値はtallです。
  2. 見つかった値(この場合もtall)を取得し、その値を独自のテーブルに変換します。次に、上からテーブルを作成し、が入力されていない新しいテーブルを作成します。これは、と呼ばれtallます。そうすれば、情報を入力した後、次のように呼び出すことができます。tall["somekeyvalue"]

それは今もう少し意味がありますか?

4

3 に答える 3

1

形容詞を一致させるときは、それをテーブルで調べて、そこにあるエイリアスを返したいと思うようです。

luaでそれを行うには[]、テーブルを検索するために使用します。

t = {big = "tall", little = "short", fat = "wide", skinny = "thin"}
adj = string.match(page,'Adjective: (%w+)')
print(t[adj])

の「形容詞:大きい」と一致した場合はpage、を出力しますtall。これは、あなたの望むことですか?「それをテーブルに変える」という部分は私を混乱させます。

于 2012-02-17T10:08:42.900 に答える
1

グローバル変数に悩まされていない場合は、グローバル環境テーブルを使用できます。

(t [adj]によって)値を取得したら、次のようにテーブルを作成できます。

_G[t[adj]] = {}

そうすれば、どこでも背の高いテーブルにアクセスできるようになります

于 2012-02-17T20:35:02.360 に答える
0

Luaで動的変数を作成する方法がわからないので、この「result.tall」のように参照して使用できるように、作成する他のテーブルのコンテナーとなるテーブルを作成することをお勧めします。追加する要素を含むテーブルになります。

この例を確認してください。

-- you have to initialize it
result = {}
result.tall = {}
result.little = {}

--insert the elements that can be another tables or not
table.insert (result.tall, 'enormous')
table.insert (result.little , {s = 'short'})

-- so you can access it later
for k,v in pairs(result.tall) do
    print(k,v)
end
于 2012-02-17T12:21:03.423 に答える