Menu
CoddyTech

Pencocokan dengan Variabel

Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 6 dari 78.

Dalam pelajaran Match Statement, setiap pola berupa nilai literal, seperti 1: atau "bow":. Pola juga bisa berupa konstanta atau variabel: match membandingkan nilai dengan nilai yang dimiliki nama tersebut saat baris itu dijalankan:

const SECRET := 42
var guess := 42
match guess:
	SECRET:
		print("You found it!")
	_:
		print("Try again")
You found it!

Pola baru kedua adalah pola pengikatan: var diikuti nama baru. Seperti _, pola ini cocok dengan nilai apa pun, dan juga menyimpan nilai tersebut dalam variabel baru, yang bisa kamu gunakan di dalam bloknya:

var level := 5
match level:
	1:
		print("Tutorial")
	var n:
		print("Level %d is locked" % n)
Level 5 is locked

Pola pengikatan paling berguna saat kamu mencocokkan hasil dari sebuah ekspresi yang tidak memiliki nama sendiri:

var roll_a := 4
var roll_b := 6
match roll_a + roll_b:
	12:
		print("Double six!")
	var total:
		print("You rolled ", total)
You rolled 10

Pola pengikatan cocok dengan semuanya, jadi letakkan pola ini paling akhir, seperti _. Namanya harus baru: var level: pada contoh kedua akan menimbulkan error karena level sudah ada. Pola ini juga tidak boleh berada pada baris yang sama dengan pola lain yang dipisahkan oleh koma.

match membandingkan tipe secara ketat: string "5" tidak cocok dengan pola 5, begitu juga float 5.0. Ubah teks yang dibaca dari input dengan int() sebelum mencocokkannya dengan angka.

challenge icon

Tantangan

Mudah

Buat pemeriksaan tebakan angka. Konstanta SECRET menyimpan angka rahasia, dan program membaca tebakan pemain sebagai bilangan bulat ke dalam guess.

Tulis pernyataan match untuk guess dengan tiga pola:

  • Konstanta SECRET: cetak Correct!
  • 0: cetak You gave up.
  • Pola pengikatan untuk tebakan lainnya: cetak tebakan diikuti is not the number.

Untuk input 17, output-nya adalah:

17 is not the number.

Coba sendiri

extends Node

func _ready():
	const SECRET := 42
	var guess := int(OS.read_string_from_stdin())
	# Tulis pernyataan match di bawah ini
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler GDScript online