[pyar] Configurar IPython

fisa fisadev en gmail.com
Mar Jun 26 02:06:39 ART 2012


El día 26 de junio de 2012 01:33, Alejandro J. Cura
<alecu en protocultura.net> escribió:
> 2012/6/25 fisa <fisadev en gmail.com>:
>> El día 25 de junio de 2012 19:55, Milton Labanda
>> <1000ton.lab en gmail.com> escribió:
>>> alguien me puede ayudar con:
>>>  como configurar ipython para que soporte mas de un nivel de autocomplateado
>>> (cuando se presiona . y TAB)  Que tengo que tocar en el ipythonrc?
>>>
>>
>> A qué te referís con "más de un nivel"?
>>
>> Si te referis a que cuando escribas:
>> a.una_funcion().otr
>> y presiones tab, te autocomplete "otra_funcion", no es un tema de
>> configuración, es un tema de que es imposible de hacer.
>
> Imposible?
> Acá te mando un ninja para que te asesore: http://youtu.be/auVJF44XSnM
>
> saludos,
> --
> alecu

Sí, quizás "imposible" a secas fue demasiado. Debería haber dicho
"complicado, y en muchos casos imposible".
Casos donde es imposible: en los que se pueden devolver objetos de
diferente tipo, como None vs otra cosa, y que la elección depende de
valores que se van a conocer recién en ejecución.
Ejemplo:

def funcion_mala(texto):
    if len(texto) > 5:
        return texto.upper()
    else:
        return None

valor = raw_input()
x = funcion_mala(valor).

Al apretar ese "." del final, ninja no puede saber con seguridad el
tipo de lo que va a devolver funcion_mala(valor), así que simplemente
muestra una lista con cosas que hay en el archivo (variables,
funciones, etc).

De hecho yo también tengo algo como eso de ninja andando en vim :)
En mi vim escribo:

a = [x for x in range(100)]
a.

Y al apretar ese "." aparece autocompletado ofreciendo append(),
count(), etc.. Cosa que incluso ninja no supo adivinar :p

Saludos!

-- 
fisa  -  Juan Pedro Fisanotti



More information about the pyar mailing list