Mam tablicę w języku Ruby ze wszystkimi słowami kluczowymi.Programowy sposób uzyskiwania słów kluczowych w Ruby
Na przykład:
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
)
Moje pytanie jest prosta:
Czy jest wbudowany sposób programowo dostęp do wszystkich słów kluczowych?
Niektóre z moich projektów trzeba uruchomić kwerendę przeciwko wejścia użytkownika, i jest to trochę irytujące, aby zdefiniować tę samą tablicę w wszystkich tych projektów.
Jakie zapytania Biegasz? Dlaczego musisz sprawdzić dane wejściowe w odniesieniu do tej listy słów kluczowych? Czy "eval" to wejście? A co z innymi metodami Rubiego, które mogą być niebezpieczne (np. 'FileUtils.rm_r')? – spickermann
Podsumowuję poprzednie pytanie cytatem z Matza: "Parser Ruby jest elastyczny i nie narzeka, jeśli przedrostkujesz te słowa kluczowe przedrostkami @, @@ lub $ i używasz ich jako nazw instancji, klas lub zmiennych globalnych. traktuje te słowa kluczowe jako zastrzeżone._ ". Ponadto, jeśli uważasz, że nie powinieneś akceptować danych wejściowych z tymi słowami kluczowymi, może to być błąd. Dlatego powtarzam pytanie: dlaczego potrzebujesz listy słów kluczowych? – romainsalles