Cuireann Ruby ar fáil sreabhadh rialaithe caighdeánach (, , ) ach le gné shainiúil agus léiritheach: (), , an cumhachtach, agus roghanna a thabhairt do thar lúpaí traidisiúnta. Léann sreabhadh rialaithe i Ruby go nádúrtha.
ifcasewhiledo_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
Tá foirm modhnóra Ruby (puts "x" if condition) ag cur an choinníoll ag deireadh do aon-línte geal is léite. unless (= "mura bhfuil") a léamh níos nádúrtha ná múiriú. Agus is slonn if a thugann luach ar ais.
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
Tá case/when Ruby cumhachtach — meaitseálann sé luachanna, raontaí, cineálacha, agus (i Ruby 3) patrúin struchtúrtha, ag úsáid === faoin bhonnspréachta. I bhfad níos solúbtha ná bogadh bunúsach.
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| ... }
Tá while/until ag Ruby, ach roghnaíonn Ruby idiomatic athrá le blocanna (each, times, map) thar lúpaí soiléir — níos léiritheach agus níos Ruby-like.
Tá tuiscint ar shreabhadh rialaithe Ruby bunúsach, eolas gach lá, agus léiríonn roinnt gné shainiúil fealsunaacht soiléire agus léite Ruby.
Ligint an fhoirm modhnóra (do_x if condition) agus unless (= "mura bhfuil") scríobh coinníollacha geal agus Béarla-like atá idiomatic Ruby agus atá le feiceáil i gconstairt.
An fhíric go bhfuil if ina slonn (ag filleadh luach) cumasú sanasanna beoga.
Tá case/when Ruby go háirithe cumhachtach — meaitseáil luachanna, raontaí, cineálacha, agus (i Ruby 3) patrúin struchtúrtha trí === — ag déanamh i bhfad níos solúbtha ná bogadh bunúsach agus úsáideach do bhrainseoireacht gheal-bhealach.
Go tábhachtach, roghnaíonn Ruby idiomatic athrá le blocanna (each, times, map, upto) thar lúpaí for/while traidisiúnta — pointe stíl sainmhínitheach athu: athrú bailiúcháin agus raontaí le modhanna bunaithe ar bhlocanna a dhéanann forbróirí Ruby seachas lúpaí soiléir, atá níos léiritheach agus níos Ruby-like.
Tuiscint ar na tógála seo agus idiom — an fhoirm modhnóra agus unless do choinníollacha léite, an case/when cumhachtach, agus go háirithe an roghanna dó athrá bunaithe ar bhlocanna thar lúpaí soiléir — tábhachtach do scríobh agus léamh Ruby idiomatic.
Os rud é go bhfuil sreabhadh rialaithe i gach clár, agus ó tharla go bhfuil foirmeacha léiritheach Ruby (modhnóra, unless, case cumhachtach, athrá bhloc) a innill a fhealsunacha grúpa-dhírithe, is eolas bunúsach, bunúsach an máistir a dhéanamh ar an spréachta, spréachta nádúrtha, idiomatic Ruby a scríobh seachal patrúin lúpa-dhroma a aistriú ó theangacha eile.