I've made a small DSL-like program for adding drinks to an array. It's a pretty basic example for using instance_eval and &block to create a quick program.
Here's the program:
class Drinks
def initialize(&block) # Initialize drinks
@drinks = []
instance_eval &block
end
def drink(d)
@drinks << d
end # Add drink
def all_drinks
puts @drinks
end
end
add_drinks = Drinks.new do
drink "water"
drink "soda"
drink "juice"
end
add_drinks.all_drinks
The plan is to make add_drinks auto-return itself so you don't have to use add_drinks.all_drinks. Would this be possible? Thanks.