Menu
CoddyTech

if / unless Sebaris

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

Ruby memungkinkan kamu menempatkan if dan unless di akhir satu pernyataan, sebagai modifier satu baris. Sintaksnya hampir seperti bahasa Inggris.

puts "Adult" if age >= 18
puts "Save your work" unless saved

Ini sama dengan:

if age >= 18
  puts "Adult"
end

unless saved
  puts "Save your work"
end

Bentuk inline cocok untuk pemeriksaan penjaga di awal method, atau untuk pembaruan kondisional sekali saja di dalam perulangan:

return if name.nil? || name.empty?

counts = Hash.new(0)
words.each do |w|
  counts[w] += 1 unless w.start_with?("#")
end

Seperti operator ternary, gunakan modifier inline untuk pernyataan singkat. Jika isi pernyataan lebih dari satu baris, tulis blok if sungguhan.

challenge icon

Tantangan

Mudah

Baca list bilangan bulat yang dipisahkan dengan koma. Untuk setiap angka, cetak satu baris, tetapi hanya jika angkanya bukan nol:

  • Cetak positive: <n> jika n > 0
  • Cetak negative: <n> kecuali jika n >= 0

Kedua baris harus menggunakan bentuk modifier inline (tanpa blok if, tanpa else). Setelah perulangan, cetak Skipped zeros: <count>, dengan jumlah nol sebagai hitungannya, yang juga dihitung tanpa blok if (gunakan count).

Untuk input 3,-2,0,5,0, output-nya adalah:

positive: 3
negative: -2
positive: 5
Skipped zeros: 2

Coba sendiri

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

# TODO: cetak setiap angka menggunakan `if` / `unless` sebaris
# TODO: cetak Skipped zeros: <n> menggunakan count
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