Pyth wird ständig weiterentwickelt, was bedeutet, dass ständig neue Funktionen hinzugefügt werden.
Ich mag Pyth ein besseres Langauge machen, so würde Ich mag wissen, welche Funktionen für die Menschen suchen.
Hier finden Sie die Post-Ideen, mit denen Sie Pyth verbessern können.
Bitte geben Sie in Ihrer Antwort an:
Was möchten Sie geändert / hinzugefügt sehen.
Eine beispielhafte Verwendung der Änderung.
Ich werde einen Kommentar abgeben, wenn ich vorhabe, den Vorschlag umzusetzen.
Bitte überprüfen Sie, ob die Idee, die Sie vorschlagen möchten, bereits vorgeschlagen wurde. Upvote-Ideen, die Sie gerne umgesetzt hätten.
Umgesetzte Vorschläge:
Bewertungsstring in Pyth , as
.v
Bewerben während als
.W
Nested Loops und mehr Lambdas (Sie verwenden den gleichen Mechanismus unten)
Dies war auf Thema gemäß dieser Meta Frage , wenn ich die Frage gestellt, es ist nicht mehr klar.
Antworten:
Verschachtelte Schleifen
Wenn Sie
for
Schleifen verschachteln möchten , müssen Sie derzeit ein Byte für die Verwendung verschwendenF<var><seq>
innerhalb einesV<seq>
oder umgekehrt. Ich würde gerne das Gleiche wie mit Lambda - Ausdrücke haben, wo die Variable für die Schleife verwendet würde sich ändern , wenn Schleifen nisten.quelle
L
, die beispielsweiseC
den zweiten Aufruf neu definieren könnten .Turt
Pyth-Äquivalent zu Turtle-Grafiken , wie pro
import turtle
.quelle
Einfacheres Importieren von Modulen
Bisher war jedes Mal, wenn ich es benutzt
$
habe, so etwas wie:Es könnte eine neue Funktion geben, die dies zum Beispiel zusammenfasst
.$
:Oder mit der neueren Syntax, wie
_M
sie möglicherweise nicht einfach / möglich ist:Zusätzlich könnte eine Funktion mit jeder Arität einen Makronamen mit einem Buchstaben erhalten, so dass diese Aufrufe kürzer sein könnten (mit Ausnahme der
_$
Option).quelle
Schlafen
Dies verursachte hier Probleme und @ mbomb007 schlug vor, es als Verbesserung für Pyth zu verwenden . Grundsätzlich muss ich jetzt, um für die angegebene Anzahl von Sekunden zu schlafen, Folgendes tun:
Was nervig und verdammt lang ist.
quelle
f>.d1Q0
Zum Beispiel schläftQ
Sekunden.J.d0f>-.d0JQ0
. Es ist allerdings ziemlich lang ... Ich stimme zu, eine Schlaffunktion wäre schön.Noch mehr Lambdas
Das ist wirklich die Idee von FryAmTheEggman , aber ich sie, um sie .
Manchmal stelle ich fest, dass die Verwendung von zwei unterschiedlichen Lambdas mit einem Argument den Code verkürzen würde, während die Verwendung eines Lambdas mit zwei Argumenten für einen Lambda dies nicht tun würde.
Es wäre schön zu haben
L
,M
und Freunde neu definieren eine andere Funktion jedes Mal verwendet wird ; Zum Beispiel dieser Code:könnte kompilieren zu:
Die genaue Auswahl der Funktionen kann natürlich geändert werden.
quelle
Verbesserte mehrdimensionale Arrays
Die Verwendung mehrdimensionaler Arrays ist derzeit ziemlich schwierig. Zum Beispiel
A[B][C][D]
würde der C-Code@@@ABCD
in Pyth übersetzt. Sowas@A[BCD)
wäre viel schöner (wenn auch hier nicht kürzer). Das gleiche gilt auch fürX
;A[B][C][D] = E
ist aktuellX@@ABCDE
, wann es sein könnteXA[BCD)E
.quelle
Einige kleine Ideen
abs(val1 - val2)
. Derzeit ist es.a-<val1><val2>
.min
/max
für Werte. Derzeit ist eshS,<val1><val2>
/eS,<val1><val2>
oder dasselbe mit mehr Werten. (hS<seq>
/eS<seq>
für Sequenzen ist kurz genug.)quelle
Kein Pyth-Feature, aber trotzdem ...
Modularisieren Sie den Pyth-Code
Dies betrifft nur Pyth unter der Haube. Einige Teile der Pyth-Implementierung sind ziemlich chaotisch. Viele globale Variablen und andere hackige Dinge.
Ich war vor ein paar Tagen wirklich frustriert, als ich versuchte, einige Funktionen der Pyth-Implementierung (wie das Ausführen einer Reihe von Pyth-Befehlen) von einem anderen Python-Skript aus zu verwenden.
So etwas wie das Folgende wäre schön:
Nun, ich denke, das ist nur ein Hilferuf für Pyth5.
quelle
Einzigartige Elemente
Pyth hat derzeit keine Möglichkeit, eindeutige Elemente einer Sequenz zu erhalten. Sie können testen, ob es eindeutig ist, aber Sie können nicht die Elemente erhalten, die tatsächlich einzigartig sind. Derzeit ist der kürzeste Weg :
6 Bytes! Vergleichen Sie das mit K, wo die einzigartigen Elemente bekommen ist ein Ein-Byte - Betrieb:
=x
.Vielleicht
.}
würde hier arbeiten?quelle
.&
resp._&
erscheint in vielen Antworten. Es ist sehr nützlich.{Q
?