2011-10-28 14 views
8

estoy usando RubyMine la que me informa de que¿Cuál es la longitud máxima de un nombre de método en ruby?

unsubscribe_from_all_notifications 

... es demasiado largo para un nombre de método. ¿Cuál es la longitud máxima?

+4

Supongo que es un problema de RubyMine; Probé un método con el nombre 'unsubscribe_from_all_notifications_and_keep_making_this_bloody_thing_longer_and_longer_and_longer_and_longer_and_longer' y funciona perfectamente en Ruby 1.8.7 y 1.9.2 ... – BaronVonBraun

+0

¿Metaprogramando a alguien? –

+0

@AndrewGrimm hecho :-) –

Respuesta

13

RubyMine mentiras :-) O al menos no significa que sea una limitación del intérprete de Ruby.

looong_name = "a" * 10000; # => "aaaaaaaaa..... 
a_class = Class.new 
a_class.__send__(:define_method, looong_name) { :hello } 
a_class.new.__send__(looong_name) # => :hello 

puts a_class.instance_methods.inspect # you better not run this :-) 
1

AFAIK no existe un límite para el tamaño del nombre de un método en ruby.

Lo más probable es que tenga alguna configuración de estilo de codificación en RubyMine que le muestra esta advertencia. Si está en un mac, compruebe RubyMine> Preferencias> Estilo de código> Ruby y vea si hay algún tipo de preferencia allí.

Solo para decirte que utilizo RubyMine también pero no veo este tipo de estilo de codificación establecido para mí.

14

En RubyMine, puede cambiar la longitud máxima para todas las categorías de nombres de Ruby por:

  1. Seleccionar elemento de menú RubyMine -> Preferencias
  2. En el resultante cuadro de diálogo modal en el panel izquierdo bajo Editor, seleccione Inspecciones.
  3. En el panel resultante de la derecha, seleccione Ruby ->Convenciones de nomenclatura.
  4. Tiene nueve categorías de nombres Ruby para cambiar. Cada uno muestra un campo de edición para Longitud máxima. Entonces, por ejemplo, los cambié a todos de 20 o 30 a 60. Haga clic en Aplique para cada una de las nueve categorías que modifique.
Cuestiones relacionadas