class Command
def foo(arg)
puts "#{arg}: foo"
arg == 1 ? nil : self
end
def bar(arg)
puts "#{arg}: bar"
arg == 2 ? nil : self
end
def baz(arg)
puts "#{arg}: baz"
arg == 3 ? nil : self
end
end
command = Command.new()
[0,1,2,3,4].each do |x|
command.foo(x)&.bar(x)&.baz(x)
end
Y2xhc3MgQ29tbWFuZAogICAgZGVmIGZvbyhhcmcpCiAgICAgICAgcHV0cyAiI3thcmd9OiBmb28iCiAgICAgICAgYXJnID09IDEgPyBuaWwgOiBzZWxmCiAgICBlbmQKCiAgICBkZWYgYmFyKGFyZykKICAgICAgICBwdXRzICIje2FyZ306IGJhciIKICAgICAgICBhcmcgPT0gMiA/IG5pbCA6IHNlbGYKICAgIGVuZAoKICAgIGRlZiBiYXooYXJnKQogICAgICAgIHB1dHMgIiN7YXJnfTogYmF6IgogICAgICAgIGFyZyA9PSAzID8gbmlsIDogc2VsZgogICAgZW5kCmVuZAoKCmNvbW1hbmQgPSBDb21tYW5kLm5ldygpClswLDEsMiwzLDRdLmVhY2ggZG8gfHh8CiAgICBjb21tYW5kLmZvbyh4KSYuYmFyKHgpJi5iYXooeCkKZW5kCg==