oop/body_locals_and_collection_variables_no_parens.rb
tests/_examples/oop/body_locals_and_collection_variables_no_parens.rb in the metorex repository.
class Settings
if false
path = "/etc/app.conf"
end
DEFAULT_PATH = path || "/usr/local/etc/app.conf"
end
p Settings::DEFAULT_PATH
module Labels
def label! text
@label = text
end
def label
@label
end
end
orders = [1042, 1043]
orders.extend Labels
orders.label! "open orders"
p orders.label
p orders.instance_variables
class Hash
def stamp(value) = (@stamp = value)
def stamped = @stamp
end
ledger = {}
ledger.stamp "2024-06-01"
p ledger.stamped
p [].freeze.then { |frozen| frozen.instance_variable_set(:@x, 1) rescue $!.class }
pairs = [[:a, 1], [:b, 2]].map do |key, value|
it = value * 10
[key, it]
end
p pairs
Output:
"/usr/local/etc/app.conf"
"open orders"
[:@label]
"2024-06-01"
FrozenError
[[:a, 10], [:b, 20]]