Character position setter / rewind
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece rastreando a extensão native de strscan e o setter existente da posição de byte; em seguida, inspecione como as posições de caractere são representadas juntamente com as posições de byte. Adicione cobertura para definir e retroceder a posição de caractere e considere o comportamento solicitado completo quando os chamadores puderem retroceder sem roundtrips Ruby/native por caractere.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I'm implementing look-behind in a parser library based on strscan; currently the only way to rewind the character position is this:
pos = @str.charpos - nchars
@str.reset
@str.getch while @str.charpos < pos
which is not the most efficient it could be, with per-character roundtrips to the native extension and back to Ruby… Would be a lot nicer to have a setter for the character position and not just the byte one.
- Linguagem predominante
- C
- Estrelas
- 88
- Forks
- 51
- Merge médio
- 5d 2h
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ruby/strscan
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 54/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
-
Caret lost its meaningAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 25/100
Todas as issues de ruby/strscan
Issues semelhantes
-
runtime: lf_f128_mod is documented as fmodq (truncating) but implements floor-based modulo; unusedAbertainternal correctness low priority rt_lib
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
Mantenedores costumam responder em até 1 dia
-
Unreachable code warningAbertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
SanderMertens/flecs#2395 ·
Mantenedores costumam responder em até 1 dia
-
Memory leak: "Add to Playlist" (`CMD_EVENT_ADD_TO_PLAYLIST`) never frees the playlist it loadsAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Signed/unsigned mix in the EOCD backward scan rejects valid archives with a 65535-byte commentAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
OpenXiangShan/NEMU#1287 ·
Mantenedores costumam responder em até 1 dia