Pyth está en desarrollo continuo, lo que significa que se agregan nuevas características todo el tiempo.
Quiero hacer de Pyth un mejor idioma, así que me gustaría saber qué características está buscando la gente.
Este es el lugar donde tienen las ideas de publicaciones para mejorar Pyth.
En su respuesta, indique:
Lo que le gustaría ver cambiado / agregado.
Un ejemplo de uso del cambio.
Comentaré si planeo implementar la sugerencia.
Verifique si la idea que desea sugerir ya ha sido sugerida. Vota ideas que te gustaría implementar.
Sugerencias implementadas:
Eval cadena en Pyth , como
.v
Aplicar mientras como
.W
Bucles anidados y más lambdas (usan el mismo mecanismo debajo)
Acoplar listas anidadas como
.n
Esto fue sobre el tema según esta meta pregunta cuando publiqué la pregunta, ya no está claro.
Respuestas:
Bucles anidados
Si desea anidar
for
bucles, actualmente tiene que desperdiciar un byte para usarloF<var><seq>
dentroV<seq>
o viceversa. Me encantaría tener lo mismo que con lambdas, donde la variable utilizada para el bucle cambiaría al anidar bucles.fuente
L
, que podrían redefinir, por ejemplo,C
la segunda vez que se llamó.Tortuga
Pyth equivalente de gráficos de tortuga , según
import turtle
.fuente
Importación de módulos más fácil
Hasta ahora, cada vez que lo he usado
$
ha sido algo como:Podría haber una nueva función que resumiera esto, por ejemplo
.$
:O usar la sintaxis más nueva como la
_M
que puede no ser fácil / posible de hacer:Además, una función con cada arity podría recibir un nombre de macro de una sola letra para que estas llamadas sean más cortas (excepto la
_$
opción).fuente
Dormido
Esto causó problemas aquí , y @ mbomb007 sugirió ponerlo como una mejora para Pyth . Básicamente, ahora mismo, para dormir durante la cantidad de segundos dada, necesito hacer algo como:
Lo cual es molesto y largo como diablos.
fuente
f>.d1Q0
por ejemplo duermeQ
segundos.J.d0f>-.d0JQ0
. Sin embargo, es bastante largo ... Estoy de acuerdo, una función de suspensión sería buena.Más lambdas
Esta es realmente la idea de FryAmTheEggman , pero la estoy publicando para que salga a la luz.
A veces encuentro que usar dos lambdas de un argumento diferentes acortaría el código, mientras que tener que usar una lambda de dos argumentos para uno no lo haría.
Sería bueno tenerlo
L
,M
y los amigos redefinen una función diferente cada vez que se usa; por ejemplo, este código:podría compilar para:
La elección exacta de las funciones podría modificarse, por supuesto.
fuente
Matrices multidimensionales mejoradas
El uso de matrices multidimensionales es bastante difícil de hacer actualmente. Por ejemplo, el código C
A[B][C][D]
se traduciría@@@ABCD
en Pyth. Algo así@A[BCD)
sería mucho mejor (aunque no más corto aquí). Lo mismo también vale paraX
;A[B][C][D] = E
es actualmenteX@@ABCDE
, cuando podría serXA[BCD)E
.fuente
Algunas ideas menores
abs(val1 - val2)
. Actualmente lo es.a-<val1><val2>
.min
/max
para valores. Actualmente eshS,<val1><val2>
/eS,<val1><val2>
o lo mismo con más valores. (hS<seq>
/eS<seq>
para secuencias es lo suficientemente corto).fuente
No es una característica de Pyth, pero sin embargo ...
Modularizar el código Pyth
Esto solo afecta a Pyth debajo del capó. Algunas partes de la implementación de Pyth son bastante desordenadas. Muchas variables globales y otras cosas extravagantes.
Realmente me sentí frustrado hace unos días, cuando intenté usar algunas funciones de la implementación de Pyth (como ejecutar una cadena de comandos de Pyth) desde otro script de Python.
Algo como lo siguiente sería bueno:
Bueno, supongo que esto es solo una llamada de ayuda para Pyth5.
fuente
Elementos unicos
Pyth actualmente no tiene una forma corta de obtener elementos únicos de una secuencia. Puede probar si es único, pero no puede obtener los elementos que realmente son únicos. Actualmente, el camino más corto es :
6 bytes! Compare eso con K, donde conseguir los elementos singulares es una operación de un byte:
=x
.Tal vez
.}
trabajaría aquí?fuente
.&
resp._&
aparece en muchas respuestas. Es muy útil.{Q
?