Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Naming collision between Processing `map()` and Python `map()`

Aberta
#131 3 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
38/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Pouca atividade
Stack de tecnologia
python, rust
Domínio
api

Direção de pesquisa

Comece com o exemplo de array e a colisão de map() descritos na issue e, em seguida, compare o dispatch referenciado de processing.py em PAppletJythonDriver.java com a API remap() do py5. Determine qual comportamento de nomenclatura ou dispatch o libprocessing deve adotar e considere as implicações de compatibilidade com os recursos integrados do Python. A tarefa estará concluída quando a API escolhida resolver o exemplo sem ambiguidade e estiver documentada ou testada de acordo.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

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.

Linguagem predominante
Rust
Estrelas
69
Forks
14
Merge médio
15d 22h
PRs com merge (30d)
3

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de processing/libprocessing

Todas as issues de processing/libprocessing

Issues semelhantes

Mais issues de Rust

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.