Naming collision between Processing `map()` and Python `map()`
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 38/100
Rechercherichtung
Beginne mit dem im Issue beschriebenen Array-Beispiel und der map()-Kollision und vergleiche dann den referenzierten processing.py-Dispatch in PAppletJythonDriver.java mit der remap()-API von py5. Bestimme, welches Benennungs- oder Dispatch-Verhalten libprocessing übernehmen sollte, und berücksichtige die Auswirkungen auf die Kompatibilität mit den in Python integrierten Funktionen. Als erledigt gilt die Aufgabe, wenn die gewählte API das Beispiel ohne Mehrdeutigkeit auflöst und entsprechend dokumentiert oder getestet ist.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Trying to port the array example (See issue: Port Basics / Arrays / Array #3) and I'm running into this error:
coswave = [abs(cos(map(i, 0, width, 0, pi))) for i in range(width)]
~~~^^^^^^^^^^^^^^^^^^^^
TypeError: 'int' object is not iterable
I suppose this is because Python has its own map() function (a list transformation) different from the map() function in Processing (a linear interpolation function).
Processing.py handles this by wrapping map() and dispatching based on the arguments (see source code). It uses the Processing version when called with five numeric arguments, and otherwise falls back to Python’s built-in. Note: the same approach is used for filter().
By contrast, py5 avoids the conflict by renaming the function to remap() instead.
- Vorherrschende Sprache
- Rust
- Sterne
- 69
- Forks
- 14
- Ø Merge
- 15 T. 22 Std.
- Gemergte PRs (30 T.)
- 3
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus processing/libprocessing
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
processing/libprocessing#233 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
processing/libprocessing#229 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
processing/libprocessing#201 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
processing/libprocessing#194 ·
-
documentation
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
processing/libprocessing#146 · 1 Kommentar ·
Alle Issues in processing/libprocessing
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
bug rules
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
app bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
IronCoreLabs/ironcore-alloy#346 ·
-
good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100