Erlang OTP: Distributed & Fault-Tolerant Systems Programming · Pelajaran

Pencocokan Pola & Guard

Kuasai pencocokan pola dan klausa guard Erlang, dasar dari kode Erlang yang ekspresif dan bebas percabangan.

Pelajaran 4 dari 413 langkah

Pencocokan Pola & Guard adalah pelajaran Erlang OTP: Distributed & Fault-Tolerant Systems Programming gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Erlang OTP: Distributed & Fault-Tolerant Systems Programming, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Erlang OTP: Distributed & Fault-Tolerant Systems Programming mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

Matching, Not Assigning

In Erlang = is the match operator, not assignment: it binds left-side variables to right-side values, or fails if they cannot match.

X = 42.
% X is now bound to 42

Destructuring Tuples

Pattern matching can destructure compound terms like tuples in a single step, pulling values straight out.

{ok, Value} = {ok, 100}.
% Value is bound to 100

Matching Lists

The [Head | Tail] pattern splits a list into its first element and the remaining rest.

[First | Rest] = [1, 2, 3].
% First = 1, Rest = [2, 3]

The Pin / Bound Match

Once a variable is bound, reusing it in a pattern matches against its value rather than rebinding it.

X = 5.
{X, Y} = {5, 10}.  % matches, Y = 10
{X, Y} = {7, 10}.  % fails: X is bound to 5

The Underscore Wildcard

The underscore wildcard _ matches anything and binds nothing — use it for parts you do not care about.

{_, Important} = {ignore_me, 99}.
% Important = 99

Function Clause Matching

Function clauses are tried top to bottom, choosing the first whose arguments match. This replaces many if/else chains.

describe(0) -> zero;
describe(1) -> one;
describe(_) -> many.

What Are Guards?

Guards add extra conditions to a clause with when; the clause fires only if both the pattern and the guard succeed.

classify(N) when N > 0 -> positive;
classify(N) when N < 0 -> negative;
classify(_) -> zero.

Allowed Guard Expressions

Guards must be side-effect-free — only comparisons, arithmetic, and type tests like is_integer or is_list are allowed.

kind(X) when is_integer(X) -> int;
kind(X) when is_list(X) -> list;
kind(_) -> other.

Combining Guards

Combine guard tests with , for AND and ; for OR.

in_range(X) when X >= 1, X =< 10 -> yes;
in_range(_) -> no.

Matching in case

The case expression matches a value against patterns (with optional guards) and returns the branch that fits.

case lists:keyfind(id, 1, List) of
  {id, V} -> V;
  false -> not_found
end.

Why It Matters

Pattern matching and guards make Erlang declarative — you describe data shapes instead of branching, the same skill you will use for messages.

Quick Check

Test your matching knowledge.

Recap

Recap: = matches and binds, you destructure tuples and lists, and function clauses with guards replace manual branching.

Gratis untuk memulai

Belajar Erlang dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
12
Pelajaran
48

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pencocokan Pola & Guard” gratis?

Ya — teks lengkap “Pencocokan Pola & Guard” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Erlang OTP: Distributed & Fault-Tolerant Systems Programming, upgrade ke CoddyKit PRO. Kursus Erlang OTP: Distributed & Fault-Tolerant Systems Programming mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pencocokan Pola & Guard”?

Kuasai pencocokan pola dan klausa guard Erlang, dasar dari kode Erlang yang ekspresif dan bebas percabangan. Kamu berlatih Erlang OTP: Distributed & Fault-Tolerant Systems Programming dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Erlang OTP: Distributed & Fault-Tolerant Systems Programming?

Tidak diperlukan pengalaman sebelumnya. Erlang OTP: Distributed & Fault-Tolerant Systems Programming di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Pencocokan Pola & Guard” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Erlang OTP: Distributed & Fault-Tolerant Systems Programming ini?

Ya. Setiap pelajaran Erlang OTP: Distributed & Fault-Tolerant Systems Programming menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pengenalan Erlang dan VM
  2. Proses dan Pesan Erlang
  3. Pola Konkurensi Dasar
  4. Pencocokan Pola & Guard
← Kembali ke Erlang OTP: Distributed & Fault-Tolerant Systems Programming