Wie konvertiere ich einen String-Text in einen Klassennamen?

7

Ich habe eine Zeichenfolge als

%Vor%

mit diesem möchte ich ein Objekt der Textklasse erstellen

Wenn ich das jetzt versuche,

%Vor%

Ich bekomme den Text als Modul und nicht als Klasse. Bitte schlagen Sie etwas vor.

Danke und Grüße

Rohit

    
Rohit 26.08.2010, 10:04
quelle

5 Antworten

17

Sie könnten verwenden:

%Vor%     
OscarRyz 26.08.2010, 10:21
quelle
3

Versuchen Sie es.

%Vor%

Was "Text" angeht, hängt wirklich von Ihrem Code ab. Wenn es mit einem Modul zurückkommt, dann ist Text ein Modul, weil Sie nicht sowohl ein Modul als auch eine Klasse mit demselben Namen haben können. Vielleicht gibt es eine Textklasse in einem anderen Modul, auf das du dich beziehen willst? Es ist schwer, mehr zu sagen, ohne mehr über Ihren Code zu wissen.

    
AboutRuby 26.08.2010 10:16
quelle
2
%Vor%

Der Trick wird hier erklärt: Ссылка wo der Autor es benutzt, um StandardError abzuleiten.

    
steenslag 26.08.2010 10:41
quelle
1

Versuchen Sie:

%Vor%

Für Ihre eigenen definierten Module:

%Vor%     
Daniel O'Hara 26.08.2010 10:16
quelle
1

Dies würde ein neues Objekt der Klasse classname zurückgeben:

eval(classname).new

    
Tom Rossi 26.08.2010 13:26
quelle

Tags und Links