Operator Ternary
Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 40 dari 56.
Operator ternary adalah cara singkat satu baris untuk if/else yang mengembalikan nilai. Sintaksnya adalah condition ? value_if_true : value_if_false.
age = 20
status = age >= 18 ? "Eligible" : "Not Eligible"
puts status # EligibleSama seperti menulis:
status = if age >= 18
"Eligible"
else
"Not Eligible"
endGunakan operator ternary saat kedua cabang mengembalikan nilai singkat. Jika salah satu cabang memerlukan lebih dari satu ekspresi, gunakan if/else biasa: terlalu banyak hal dalam operator ternary membuatnya sulit dibaca.
Kamu bisa menggunakannya langsung di dalam ekspresi lain, termasuk interpolasi:
count = 1
puts "#{count} item#{count == 1 ? "" : "s"}" # 1 item
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}" # 5 itemTantangan
MudahBaca sebuah bilangan bulat n dari input. Gunakan operator ternary (tanpa blok if/else), lalu cetak persis:
<n> is <label>dengan label bernilai:
positivesaatn > 0negativesaatn < 0zerosaatn == 0
Petunjuk: gunakan ternary bertingkat, condition ? a : (other_condition ? b : c).
Untuk input 5, output-nya adalah 5 is positive. Untuk 0, output-nya adalah 0 is zero.
Coba sendiri
n = gets.to_i
# TODO: gunakan ekspresi ternary untuk membuat label, lalu panggil puts
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Mendalami String
Ringkasan Method StringInterpolasi StringMenelusuri StringMemisahkan dan MenggabungkanRekap: Perangkai String4Block, Proc, dan Lambda
Apa Itu Block?do..end vs Kurung KurawalKata Kunci yieldParameter BlockProc dan LambdaRangkuman, Iterator Kustom5Andalan Enumerable
Select dan RejectMerangkai MapReduce / Injectcount, all?, any?, none?group_by dan partitionsort_by, min_by, max_byRekap: Alur Data8Pengambilan Keputusan Lanjutan
Case dengan class & regexwhen dengan Banyak NilaiOperator Ternaryif / unless SebarisUlasan, Pengklasifikasi NilaiLatihan sendiri: Compiler Ruby online