私はRubyですべてのキーワードを持つ配列を持っています。例えばRubyのキーワードを取得するためのプログラム的な方法
:
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
)
私の質問は簡単です:
は、プログラムですべてのキーワードをアクセスするための内蔵方法はありますか?
私のプロジェクトの中には、ユーザー入力に対して というクエリを実行する必要があります。 これらのプロジェクトで同じ配列を定義する必要があります。
クエリのどのような種類を実行していますか?なぜあなたはこのキーワードのリストに対して入力をチェックする必要がありますか?あなたは入力を 'eval'しますか?危険な他のRubyメソッド(例えば 'FileUtils.rm_r')はどうですか? – spickermann
私はMatzから引用して前の質問を完成させます: "_ Rubyパーサは柔軟性があり、これらのキーワードの前に@、@@、$接頭辞をつけてインスタンス、クラス、またはグローバル変数名として使用すると文句を言うことはありません。これらのキーワードを予約語として扱います。 "また、これらのキーワードで入力を受け入れるべきでないと思われる場合は、エラーになる可能性があります。したがって、私は質問を繰り返します:なぜあなたはキーワードリストが必要ですか? – romainsalles