Domanda

Sono informazioni di data-mining da un sito web, e una delle cose che devo fare è cambiare un pezzo di informazioni da ciò che la pagina mi dà in un altro pezzo di informazione, e di trasformare questo secondo pezzo di informazioni in una variabile . Ho semplicemente non riesco a capire un modo per fare questo, però.

In base alla tabella qui di seguito:

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

... come posso fare in modo quando lo faccio:

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

... e corrispondono a big, posso restituire il valore di tall ma trasformarlo in una tabella? Ho provato ad utilizzare una funzione, che non ha funzionato, e non ho voglia di fare qualcosa di simile t[adj]={} perché non ho voglia di fare un sub-tavolo di t.

mi sento come se mi sta guardando dritto in faccia, ma sto disegnando un vuoto.

Modifica di chiarimenti:

So come ottenere l'aggettivo che ho bisogno, o il modo di mostrare il valore per la grande, ecc Quello che sto parlando è la capacità di fare questo:

  1. Trova il valore in base l'aggettivo trovato. In questo caso, big è stato trovato, il valore è tall.
  2. Prendere il valore trovato (ancora una volta, in questo caso, tall) e girare il valore nella propria tabella. Poi mi piacerebbe avere il tavolo dall'alto, e uno nuovo che non è stato popolato con, chiamato tall. In questo modo, dopo aver popolarlo con le informazioni, posso chiamarla con tall["somekeyvalue"]

Questo fa un po 'più senso ora?

È stato utile?

Soluzione

Se non si è preso la briga di variabile globale, è possibile utilizzare la tabella environement globale.

Dopo aver ottenuto il vostro valore (da t [AGG]), è possibile creare il vostro tavolo in questo modo:

_G[t[adj]] = {}

Si potrà quindi accedere alla tabella alto in tutto il mondo

Altri suggerimenti

Sembra a me che quando si corrisponde un aggettivo, si vuole guardare in su nel vostro tavolo e ritorno tutto ciò alias che hai dentro.

Per fare questo in lua, utilizza [] di guardare la tabella:

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

Se abbinato "Aggettivo: big" in page, stamperà tall. È questo che vuoi? La parte di "trasformarlo in un tavolo" è fonte di confusione per me.

Dal momento che non so come creare una variabile dinamica in Lua vi posso suggerire per creare una tabella che sarà il contenitore degli altri tavoli si crea in modo da poter usare per riferimento come questo "result.tall" e questo sarà un tavolo con gli elementi si aggiunge ad esso.

Dai un'occhiata a questo esempio:

-- 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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top