Ruby தரமான கட்டுப்பாட்டு-ப்রவாহத்தை (, , ) வழங்குகிறது, ஆனால் தனித்துவமான, வெளிப்படையான அம்சங்களுடன்: (), , சக்திவாய்ந்த , மற்றும் பாரம்பரிய loops-ஐ விட . Ruby-ல் control flow இயல்பாகவே படிக்க முடிகிறது.
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
Ruby-ல் modifier form (puts "x" if condition) நிபந்தனையை முடிவில் வைத்து சுருக்கமான, படிக்கக்கூடிய one-liners-க்கு உதவுகிறது. unless (= "if not") மறுப்பை விட இயல்பாகவே படிக்க முடிகிறது. மேலும் if என்பது ஒரு expression ஆகும், இது ஒரு value-ஐ திரும்பவும் தருகிறது.
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
Ruby-ல் case/when சக்திவாய்ந்தது — இது values, ranges, types, மற்றும் (Ruby 3-ல்) structural patterns-ஐ பொருத்தமாகத் தொடர்ந்து ===-ஐ உபயோகப்படுத்துகிறது. அடிப்படை switch-ஐ விட மிகவும் நমনீயமாக உள்ளது.
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-ல் while/until உண்டு, ஆனால் idiomatic Ruby blocks-உடன் iteration-க்கு முன்னுரிமை வழங்குகிறது (each, times, map) வெளிப்படையான loops-ஐ விட — மிகவும் வெளிப்படையாக மற்றும் Ruby-ல் போன்றது.
Ruby-ல் control flow-ஐ புரிந்துகொள்வது அடிப்படை அன்றாட அறிவாக உள்ளது, மேலும் பல தனித்துவமான அம்சங்கள் Ruby-ல் வெளிப்படையான, படிக்கக்கூடிய தத்துவத்தை பிரதிபலிக்கிறது.
modifier form (do_x if condition) மற்றும் unless (= "if not") உங்களை சுருக்கமான, ஆங்கிலம் போல் readable conditionals-ஐ எழுத உதவுகிறது, இவை idiomatic Ruby-ஆக உள்ளன மற்றும் தொடர்ந்து தோன்றுகின்றன.
if என்பது ஒரு expression (value-ஐ திரும்பவும் தரும்) என்பது உண்மையாகும், இது நேர்த்தியான assignments-ஐ செயல்படுத்த உதவுகிறது.
Ruby-ல் case/when குறிப்பிடத்தக்கவாறு சக்திவாய்ந்தது — values, ranges, types, மற்றும் (Ruby 3-ல்) structural patterns-ஐ ===-மூலம் பொருத்தமாக — இது அடிப்படை switch-ஐ விட நிச்சயமாக மிகவும் நমனீயமாக உள்ளது மற்றும் சுத்த multi-way branching-க்கு பயனுள்ளதாக உள்ளது.
முக்கியமாக, idiomatic Ruby blocks-உடன் iteration-க்கு முன்னுரிமை வழங்குகிறது (each, times, map, upto) பாரம்பரிய for/while loops-ஐ விட — இது ஒரு வரையறுக்கப்பட்ட stylistic point ஆகும்: Ruby developers collections மற்றும் ranges-ஐ block-based methods-உடன் iterate செய்கின்றனர், explicit loops-ஐ விட, இது மிகவும் வெளிப்படையாக மற்றும் Ruby-ல் போன்றது.
இந்த constructs மற்றும் idioms-ஐ புரிந்துகொள்வது — readable conditionals-க்கான modifier form மற்றும் unless, சக்திவாய்ந்த case/when, மேலும் குறிப்பாக explicit loops-ஐ விட block-based iteration-க்கான முன்னுரிமை — idiomatic Ruby-ஐ எழுத மற்றும் படிக்க முக்கியமாக உள்ளது.
Control flow ஒவ்வொரு program-ல் தோன்றுவதால், மற்றும் Ruby-ல் வெளிப்படையான forms-கள் (modifiers, unless, சக்திவாய்ந்த case, block iteration) அதன் readability-focused philosophy-ஐ உள்ளடக்கியிருப்பதால், அவற்றை தேர்ச்சி பெறுவது அத்தியாவசிய, அடிப்படை அறிவாக உள்ளது, loop-heavy patterns-ஐ மற்ற மொழிகளிலிருந்து மொழிபெயர்க்கும் மாறாக, இயல்பான, idiomatic Ruby-ஐ எழுத.