Ruby ngaturi kontrol-alur standar (if, , ) nanging kanthi fitur sing khas lan ekspresif: (), , sing kuwat, lan preferensi kanggo tinimbang loop tradisional. Kontrol alur ing Ruby maca kanthi natural.
casewhiledo_x if conditionunlesscase/whenif age >= 18
puts "adult"
elsif age >= 13
puts "teen"
else
puts "child"
end
# MODIFIER form — condition at the END (reads like English, idiomatic for short cases)
puts "adult" if age >= 18
puts "minor" unless age >= 18 # `unless` = if not (more readable than `if !`)
# everything is an expression — if returns a value
grade = if score >= 90 then "A" else "B" end
Bentuk modifikasi Ruby (puts "x" if condition) ngatakake kondisi ing pungkasan kanggo siji baris sing ringkas lan gampang dibaca. unless (= "yen ora") maca luwih natural tinimbang negasi. Lan if minangka expression sing mbalekake nilai.
case status
when :active then "running"
when :stopped, :paused then "halted" # multiple values
when 1..10 then "small number" # ranges
when String then "it's a string" # types (uses ===)
else "unknown"
end
# case can also do structural pattern matching (Ruby 3)
case data
in { name: String => name, age: Integer } # pattern matching with destructuring
puts name
end
case/when Ruby kuwat — cocoge nilai, jangkauan, tipe, lan (ing Ruby 3) pola struktural, nganggo === ing ngisor. Luwih fleksibel tinimbang switch standar.
while count < 10 do count += 1 end
until done do ... end # until = while not
# ✅ but Ruby PREFERS iteration with blocks over explicit loops:
5.times { |i| puts i } # instead of a for loop
[1, 2, 3].each { |n| puts n } # iterate a collection
(1..10).each { |n| ... } # iterate a range
1.upto(5) { |i| ... }
Ruby duwe while/until, nanging Ruby sing idiomatis luwih seneng iterasi kanthi blok (each, times, map) tinimbang loop eksplisit — luwih ekspresif lan kaya Ruby.
Pamahaman babagan kontrol alur Ruby minangka pengetahuan dasar saben dina, lan sawetara fitur khas nuduhake filosofi Ruby sing ekspresif lan mudah dibaca.
Bentuk modifikasi (do_x if condition) lan unless (= "yen ora") ngidini sampeyan nulis konditional sing ringkas lan kaya basa Inggris sing idiomatis Ruby lan muncul terus-terusan.
Fakta yen if minangka expression (mbalekake nilai) ngidini penugasan sing elegan.
case/when Ruby sing khas kuwat — cocoge nilai, jangkauan, tipe, lan (ing Ruby 3) pola struktural liwat === — nggawekake luwih fleksibel tinimbang switch dasar lan berguna kanggo cabang multi-cara sing bersih.
Secara krusial, Ruby idiomatis luwih seneng iterasi kanthi blok (each, times, map, upto) tinimbang loop for/while tradisional — iki minangka poin stilistik sing nemtokake: pengembang Ruby iterasi koleksi lan jangkauan kanthi metode berbasis blok tinimbang loop eksplisit, sing luwih ekspresif lan kaya Ruby.
Pamahaman konstruksi lan idiom kasebut — bentuk modifikasi lan unless kanggo konditional sing mudah dibaca, case/when sing kuwat, lan khususé preferensi kanggo iterasi berbasis blok tinimbang loop eksplisit — penting kanggo nulis lan maca Ruby idiomatis.
Amarga kontrol alur muncul ing saben program, lan amarga bentuk ekspresif Ruby (modifikasi, unless, case kuwat, iterasi blok) ngrembaka filosofi fokus keterbacaane, ngusahakake iku minangka pengetahuan dasar, fundamental kanggo nulis Ruby sing natural lan idiomatis tinimbang nerjemahake pola loop-abot saka basa liya.