Indentasi Signifikan
Kurung kurawal opsional.
Indentasi Signifikan adalah pelajaran Scala for Backend Engineering & Functional Programming gratis di CoddyKit. Ini adalah pelajaran 1 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 Scala for Backend Engineering & Functional Programming, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Scala for Backend Engineering & Functional Programming mencakup 4 pelajaran total.
Kurung Kurawal Opsional
Scala 3 memperkenalkan indentasi signifikan, yang juga disebut sintaks kurung kurawal opsional. Alih-alih membungkus blok dengan { }, Anda dapat menggunakan indentasi untuk membatasinya.
- Kurung kurawal tetap dapat digunakan dan sepenuhnya valid.
- Kode berbasis indentasi lebih bersih dan menyerupai Python.
object Main:
def main(args: Array[String]): Unit =
println("No braces needed")Badan Metode Berindentasi
Badan metode yang mengikuti = dapat berupa blok berindentasi. Setiap pernyataan pada tingkat indentasi yang sama menjadi bagian dari badan tersebut.
Ekspresi terakhir merupakan nilai yang dikembalikan.
object Main:
def square(x: Int): Int =
val result = x * x
result
def main(args: Array[String]): Unit =
println(square(5))Ekspresi if Berindentasi
Struktur kontrol menggunakan sintaks ringkas yang baru. Setelah if cond then, Anda membuat cabangnya menjorok, dan else sejajar dengan if.
thenwajib digunakan dalam gaya tanpa kurung kurawal.- Tidak diperlukan tanda kurung di sekitar kondisi.
object Main:
def main(args: Array[String]): Unit =
val n = 7
val label =
if n % 2 == 0 then "even"
else "odd"
println(label)Perulangan for Berindentasi
Perulangan for menggunakan do untuk efek samping atau yield untuk membangun koleksi, dan keduanya menggunakan indentasi.
object Main:
def main(args: Array[String]): Unit =
for i <- 1 to 3 do
println(s"line $i")
val doubled =
for i <- 1 to 3 yield i * 2
println(doubled)Perulangan while Berindentasi
Perulangan while menggunakan do yang diikuti blok berindentasi dalam gaya kurung kurawal opsional.
object Main:
def main(args: Array[String]): Unit =
var i = 0
while i < 3 do
println(s"i = $i")
i += 1Ekspresi match Berindentasi
Pencocokan pola secara alami cocok dengan indentasi. Klausa case dibuat menjorok di bawah match.
object Main:
def describe(n: Int): String =
n match
case 0 => "zero"
case 1 => "one"
case _ => "many"
def main(args: Array[String]): Unit =
println(describe(1))
println(describe(9))Badan Class dan Trait
Class, trait, dan objek juga dapat menghilangkan kurung kurawal. Titik dua : setelah header membuka badan berindentasi.
class Point(x: Int, y: Int):
def show: String = s"($x, $y)"
object Main:
def main(args: Array[String]): Unit =
println(Point(2, 3).show)Penanda end
Untuk blok berindentasi yang panjang, Anda dapat menambahkan penanda end untuk memperjelas tempat definisi berakhir. Ini meningkatkan keterbacaan metode atau class yang besar.
- Bentuk:
end <name>atauend if,end while, dan sebagainya. - Penanda ini opsional dan diperiksa oleh compiler.
object Main:
def greet(name: String): String =
val msg = s"Hello, $name"
msg
end greet
def main(args: Array[String]): Unit =
println(greet("Ada"))
end main
end MainMencampur Kurung Kurawal dan Indentasi
Anda dapat dengan bebas mencampur kedua gaya tersebut. Sebagian tim tetap menggunakan kurung kurawal agar kasus bertingkat lebih jelas. Aturan indentasi hanya diberlakukan saat kurung kurawal tidak digunakan.
object Main:
def main(args: Array[String]): Unit = {
val xs = List(1, 2, 3)
val total =
xs.foldLeft(0)((acc, x) => acc + x)
println(total)
}Kesalahan Umum pada Indentasi
Indentasi memiliki makna, jadi gunakan secara konsisten.
- Gunakan spasi, jangan mencampur tab dengan spasi.
- Baris yang tidak sejajar dapat secara tidak terlihat berada di luar blok.
- Titik dua
:diperlukan untuk badan templat (class/objek), tetapi tidak untuk badan metode setelah=.
object Main:
def main(args: Array[String]): Unit =
val items = List("a", "b")
items.foreach: item =>
println(item.toUpperCase)Sintaks Argumen dengan Lebih Sedikit Kurung
Scala 3 juga memungkinkan penerusan argumen blok setelah titik dua. items.foreach: x => membuka badan lambda berindentasi sehingga tanda kurung bertingkat dan kurung kurawal dapat dihindari.
object Main:
def main(args: Array[String]): Unit =
val nums = List(1, 2, 3, 4)
val evens = nums.filter: n =>
n % 2 == 0
println(evens)Pemeriksaan Singkat
Uji pemahaman Anda tentang indentasi signifikan.
Ringkasan
Anda telah mempelajari indentasi signifikan Scala 3.
- Blok dapat menggunakan indentasi sebagai pengganti
{ }. - Struktur kontrol menggunakan
then,do, danyield. - Badan class/objek/trait dibuka dengan titik dua
:. - Penanda
endmemperjelas blok yang panjang. - Kedua gaya dapat dicampur; tetap konsisten dalam penggunaan spasi.
object Main:
def main(args: Array[String]): Unit =
for i <- 1 to 2 do
if i == 1 then println("first")
else println("second")
end main
end MainBelajar Scala 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
- 39
- Pelajaran
- 143
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Indentasi Signifikan” gratis?
Ya — teks lengkap “Indentasi Signifikan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Scala for Backend Engineering & Functional Programming, upgrade ke CoddyKit PRO. Kursus Scala for Backend Engineering & Functional Programming mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Indentasi Signifikan”?
Kurung kurawal opsional. Kamu berlatih Scala for Backend Engineering & Functional 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 Scala for Backend Engineering & Functional Programming?
Tidak diperlukan pengalaman sebelumnya. Scala for Backend Engineering & Functional 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 1 dari 4.
Berapa lama pelajaran “Indentasi Signifikan” 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 Scala for Backend Engineering & Functional Programming ini?
Ya. Setiap pelajaran Scala for Backend Engineering & Functional 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
- Indentasi Signifikan
- Enum di Scala 3
- Tipe Opaque
- Tipe Union dan Irisan