procs/symbol_blocks_no_parens.rb
tests/_examples/procs/symbol_blocks_no_parens.rb in the metorex repository.
labels = [1, 2].map &:to_s
p labels
p [3, 4].map &:succ
p :+.to_proc.call 1, 2
def handle = yield
begin
handle &:upcase
rescue ArgumentError => error
p error.message
end
begin
:upcase.to_proc.call
rescue ArgumentError => error
p error.message
end
begin
[1].map &:missing_name
rescue NoMethodError => error
p error.backtrace.last.sub /\A.*:(\d+):/, 'line \1:'
end
shout = :upcase.to_proc
begin
shout.call 1
rescue NoMethodError => error
p error.backtrace.map { |line| line.sub /\A.*:(\d+):/, 'line \1:' }
end
flag = true
p flag &:anything
mask = 6
bits = 3
p mask &bits
Output:
["1", "2"]
[4, 5]
3
"no receiver given"
"no receiver given"
"line 21:in '<main>'"
["line 28:in '<main>'"]
true
2