Ich habe ein Array in Ruby, mit allen Schlüsselwörtern.Programmatische Möglichkeit, Ruby Schlüsselwörter zu erhalten
Zum Beispiel:
RUBY_KEYWORDS = %w(
alias and BEGIN begin break case class def defined
do else elsif END end ensure false for if in module
next nil not or redo rescue retry return self super
then true undef unless until when while yield
)
Meine Frage ist einfach:
Gibt es eine eingebaute Möglichkeit, programmatisch auf alle Keywords zugreifen?
Einige meiner Projekte müssen eine Abfrage gegen Benutzereingabe, führen, und es ist ein bisschen ärgerlich, um das gleiche Array in all diese Projekte zu definieren.
Welche Abfrage laufen Sie? Warum müssen Sie die Eingabe anhand dieser Keyword-Liste überprüfen? Validierst du die Eingabe? Was ist mit anderen Ruby-Methoden, die gefährlich sein könnten (z. B. FileUtils.rm_r)? – spickermann
Ich vervollständige die vorherige Frage mit einem Zitat von Matz: "_Der Ruby-Parser ist flexibel und beschwert sich nicht, wenn Sie diesen Schlüsselwörtern Präfixe mit @, @@ oder $ voranstellen und sie als Instanz-, Klassen- oder globale Variablennamen verwenden. Die beste Vorgehensweise besteht darin, diese Schlüsselwörter als reserviert zu behandeln. " Wenn Sie der Meinung sind, dass Sie Eingaben mit diesen Schlüsselwörtern nicht akzeptieren sollten, könnte dies ein Fehler sein. Daher wiederhole ich die Frage: Warum brauchen Sie die Keyword-Liste? – romainsalles