Localizador de Padrões
Parte da seção Fundamentos do Journey de GDScript da Coddy. Lição 91 de 92.
Desafio
MédioEscreva a função find_occurrences acima de _ready(). Ela:
- Recebe duas strings:
textepattern - Conta quantas vezes
patternaparece emtext, incluindo ocorrências sobrepostas - Retorna um array com três elementos:
truese o padrão foi encontrado,falsecaso contrário- O número de ocorrências
- Um array com a posição em que cada ocorrência começa
Por exemplo, se text for "abababab" e pattern for "aba", a função retorna [true, 3, [0, 2, 4]], porque "aba" começa nas posições 0, 2 e 4.
Se o padrão não for encontrado, retorne [false, 0, []].
O _ready() fornecido lê as duas strings, chama sua função e imprime o resultado. Substitua pass pelo corpo da função.
Experimente você mesmo
extends Node
func find_occurrences(text, pattern):
# Escreva seu código aqui
pass
func _ready():
var text := OS.read_string_from_stdin()
var pattern := OS.read_string_from_stdin()
# Chame a função e imprima o resultado
var result = find_occurrences(text, pattern)
print(result)
Todas as lições de Fundamentos
4Operadores - Parte 1
Operadores aritméticosDivisão inteiraOperador móduloAtalhos aritméticosRevisão - Matemática básicaOperadores de comparação7Entrada e Saída Básicas
SaídaSaída com VariáveisFormatação de StringsEntradaConversão de TipoRevisão - Até 120Revisão - Verdadeiro ou Falso10Funções
Declare uma funçãoArgumentosRetornoTipos de retornoRevisão - Função SigmaRevisão - Função de validaçãoValores padrão13Percorrendo Arrays
Percorrendo elementosPercorrendo com índicesPercorrendo strings — Parte 1Percorrendo strings — Parte 216Rastreador de Despesas Diárias
Visão Geral do ProjetoSair do Programa5Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Revisão - Lógica simplesOperadores lógicos Parte 3Operador ternário8Calculadora de Divisão da Conta
Mensagem de Boas-vindasObtendo Dados de Entrada11FizzBuzz com uma Reviravolta
Visão Geral do JogoA Função FizzBuzz3Variáveis - Parte 2
Declaração de tipoInferência de tipoConstantesRevisão - Inicialização de variáveisConversão de tipo6Tomada de decisões
Instrução ifIf - ElseRevisão - Calculadora simplesIf - Else aninhadoInstrução match9Laços de repetição
Laço forLaço whileInterromperContinuarRevisão - FatorialA função rangeLaço aninhadoRevisão - Entrada dinâmicaPratique por conta própria: Compilador de GDScript online