En irb, ¿por qué hay una variable predefinida "d"?

Por alguna razón hay una variable llamada d que se define inmediatamente después de ingresar a irb. ¿Alguna idea de qué es?

preguntado el 12 de junio de 12 a las 16:06

Usar method puede ayudarte a resolverlo tú mismo. -

Andrew, ¿qué quieres decir con 'método de uso'? -

3 Respuestas

¿Está utilizando irbtools ¿por casualidad? En caso afirmativo, hay un método predefinido llamado d, que más o menos se parece a esto:

def d
  self.tap { |v| puts v }
end

Se puede usar para depurar cadenas de mensajes como esta: obj.some_method.d.other_method.

Dado que está definido en el Object nivel, debería funcionar si simplemente lo llama en el nivel superior de IRB donde regresaría main.

Respondido el 12 de junio de 12 a las 16:06

Tu puedes correr irb con -f interruptor para suprimir la carga de ~/.irbrc:

irb -f

Esto le dirá rápidamente si d viene de algún lugar de tu ~/.irbrc (que lo más probable es que sea, vea la respuesta de Michael).

Respondido el 12 de junio de 12 a las 16:06

No para mí:

$ irb
>> d
NameError: undefined local variable or method `d' for main:Object
        from (irb):1

Respondido el 12 de junio de 12 a las 16:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.