Menu
CoddyTech

do..end vs Kurung Kurawal

Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 16 dari 56.

Ruby memberimu dua cara untuk menulis blok. Keduanya memiliki arti yang sama, tetapi masing-masing lebih cocok digunakan dalam situasi tertentu.

do...end digunakan untuk blok multi-baris:

[1, 2, 3].each do |n|
  doubled = n * 2
  puts "#{n} -> #{doubled}"
end

Kurung kurawal { ... } digunakan untuk blok satu baris yang singkat dan berbentuk ekspresi:

[1, 2, 3].each { |n| puts n * 2 }

Keduanya memiliki prioritas yang sedikit berbeda, tetapi aturan yang perlu kamu ingat adalah aturan gaya: kurung kurawal untuk satu baris, do...end untuk beberapa baris.

Kedua bentuk dapat mengembalikan nilai. Ekspresi terakhir dalam blok akan diteruskan ke method seperti map:

[1, 2, 3].map { |n| n * 10 }    # [10, 20, 30]
[1, 2, 3].map do |n|
  n * 10
end                              # [10, 20, 30]
challenge icon

Tantangan

Mudah

Baca daftar bilangan bulat yang dipisahkan koma dari input. Cetak dua baris:

  1. Setiap angka dikalikan dua, lalu digabungkan dengan , . Gunakan bentuk kurung kurawal dari map.
  2. String "<n> squared is <n*n>" untuk setiap angka, satu per baris. Gunakan bentuk do...end dari each.

Untuk input 1,2,3, outputnya adalah:

2, 4, 6
1 squared is 1
2 squared is 4
3 squared is 9

Coba sendiri

numbers = gets.chomp.split(",").map(&:to_i)

# TODO: baris 1, gandakan nilainya dengan map berbentuk kurung kurawal, lalu gabungkan dengan ", "
# TODO: baris 2..n, kuadratkan nilainya dengan each berbentuk do...end
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 Ruby online