Ruby Ranges As Conditional Expressions
Join the DZone community and get the full member experience.
Join For FreeSource: Ruby Ranges - Techotopia [techotopia.com]
Ruby Ranges can also be used as conditional expressions in looping conditions. The range start value represents the start of the loop, which runs until the range end marker is detected.
while input = gets
puts input + " triggered" if input =~ /start/ .. input =~ /end/
end
output (test performed within an IRB session):
test
ready
go
do it
start
start
triggered
fun fun fun
fun fun fun
triggered
rest
rest
triggered
that's enough
that's enough
triggered
stop
stop
triggered
end
end
triggered
sigh
hello?
^CIRB::Abort: abort then interrupt!!
Note: This syntax also works:
while input = gets
puts input + " triggered" if input[/start/] .. input[/end/]
end
Opinions expressed by DZone contributors are their own.
Trending
-
Introduction to Domain-Driven Design
-
10 Traits That Separate the Best Devs From the Crowd
-
AI and Cybersecurity Protecting Against Emerging Threats
-
Manifold vs. Lombok: Enhancing Java With Property Support
Comments