2009-12-17 5 views
2

J'écris un moteur de recherche en utilisant le Lucene Java framework.Liste des mots d'arrêt pour Ruby

Ce que je veux faire est de créer un index de fichiers de code source Ruby. Pour cela, j'aimerais avoir l'option d'utiliser un filtre de mot d'arrêt, c'est-à-dire que je veux que les mots d'arrêt du langage ruby ​​soient ignorés lors de l'indexation des fichiers.

-> Est-ce que quelqu'un connaît une bonne liste complète de mots d'arrêt Ruby? (par exemple, def, end, module, ...)

Assez étonnamment, Google ne m'a pas donné de réponse ... Donc toute aide serait appréciée!

Répondre

5
 
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 

De Ruby QuickRef.

Pour ce que ça vaut, ils sont généralement appelés "mots réservés" - et j'ai trouvé cette liste par Googling pour Ruby reserved words.

+0

C'est une bonne liste pour commencer, mais je suis à la recherche plus: Par exemple, je voudrais aussi avoir: comprennent, exiger, étendre, privé, public, ... Ce sont aussi souvent utilisé et ne devrait pas être lu dans l'index ... – fgysin

+0

'rescue' ne peut pas être réservé, du moins pas dans le sens des mots-clés d'une grammaire contextuelle: j'ai pu faire' a = ""; def a.rescue; 42; fin; a.rescue' ... – akuhn

+0

Semble fonctionner avec 'self' ou tout autre mot "réservé". Évidemment, Ruby ne vous dit pas que ces mots sont réservés au moment de la compilation, mais ignore simplement les nouvelles définitions pendant la course. – fgysin

Questions connexes