2013-07-08 31 views
12

Solitamente ignoro questo errore quando ottengo il problema e correggo qualsiasi errore di sintassi causato, ma per curiosità, cosa significa esattamente tLABEL in tLABEL inaspettato?In Ruby, cosa significa esattamente tLABEL?

Ho provato a cercare la risposta, ma ho solo un sacco di persone che cercano di ottenere aiuto con i loro errori.

Ho anche trovato questa definizione:

TLabel è un controllo nonwindowed VCL che visualizza il testo non modificabile su un modulo. È definito nell'unità StdCtrls.pas.

ma non credo che sia una definizione molto accessibile.

+1

Questa domanda riguarda il linguaggio Ruby e non è specifica per Rails. Modificato per riflettere questo. – PinnyM

risposta

14

Un tLABEL è un 'etichetta' token. È spesso utilizzato quando si specifica un hash nel nuovo formato 1.9:

{ key: value } 

Nell'esempio precedente, key: è riconosciuto internamente come un token per un'etichetta. Il parser 1.9+ lo converte in un simbolo, mentre il parser 1.8 no.

L'errore che si sta verificando si verifica quando il parser trova quello che ritiene essere un token Label in cui non si aspetta uno.

Inoltre, il riferimento al controllo 'TLabel' non-finestra è molto correlato - che TLabel classe è parte del Visual Component Library usato da Delphi, come accennato dall'estensione .pas (Pascal).

+0

Risposta eccezionale, ed esattamente quello che stavo cercando. Grazie! – Arel

1

Un esempio di tale errore accade perché ci sono spazi tra i due punti, dovrebbe essere ActiveRecord::Base anziché ActiveRecord: :Base

+0

Capisco perché succede, e di solito come risolverlo. Stavo cercando una definizione di alto livello di tLABEL. – Arel

Problemi correlati