Menu
CoddyTech

Verificações de Pertinência

Parte da seção Lógica e fluxo do Journey de GDScript da Coddy. Lição 10 de 78.

Você já verifica se um elemento pertence a uma coleção com in e not in: "cat" in pets procura um elemento em um array e "ell" in "hello" procura texto dentro de uma string. Três outros casos aparecem o tempo todo.

Em um dicionário, in verifica apenas as chaves. Para procurar um valor, verifique o array retornado por values():

var grades := {"Alice": 85, "Bob": 90}
print("Alice" in grades)
print(90 in grades)
print(90 in grades.values())
true
false
true

A pertinência também compara tipos. O texto lido com OS.read_string_from_stdin() é uma string, e a string "90" não é o inteiro 90:

var scores := [70, 90]
print("90" in scores)
print(int("90") in scores)
false
true

Uma matriz constante de valores permitidos com in substitui uma longa cadeia de or e também funciona em uma guarda:

const DIRECTIONS = ["north", "south", "east", "west"]
var dir := "west"
match dir:
	var d when d in DIRECTIONS:
		print("Going ", d)
	_:
		print("You cannot go there")
Going west
challenge icon

Desafio

Fácil

O programa tem um array names com os alunos de uma turma e um dicionário grades com os alunos que já têm uma nota. Ele lê o nome de um aluno em student e uma nota em grade (como texto).

Imprima três linhas:

  1. NAME is in the class. ou NAME is not in the class., verificando names
  2. NAME has a grade. ou NAME has no grade., verificando as chaves de grades
  3. Someone scored GRADE. ou Nobody scored GRADE., verificando os valores de grades

Substitua NAME e GRADE pelas entradas. Para as entradas Dana e 85, a saída é:

Dana is in the class.
Dana has no grade.
Someone scored 85.

Experimente você mesmo

extends Node

func _ready():
	var names := ["Alice", "Bob", "Charlie", "Dana"]
	var grades := {"Alice": 85, "Bob": 90, "Charlie": 78}
	var student := OS.read_string_from_stdin()
	var grade := OS.read_string_from_stdin()
	# Imprima as três linhas
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e fluxo

Pratique por conta própria: Compilador de GDScript online