小编asd*_*asd的帖子

Ruby:lambda函数参数可以有默认值吗?

我想做类似的事情:

def creator()
        return lambda { |arg1, arg2 = nil|
                puts arg1
                if(arg2 != nil)
                        puts arg2
                end
        }
end

test = creator()

test('lol')
test('lol', 'rofl')
Run Code Online (Sandbox Code Playgroud)

我收到一些语法错误:

test.rb:2: syntax error
        return lambda { |arg1, arg2 = nil|
                                 ^
test.rb:3: syntax error
test.rb:7: syntax error
test.rb:14: syntax error
Run Code Online (Sandbox Code Playgroud)

红宝石有可能吗?我想将参数的默认值设置为lambda函数

ruby parameters lambda anonymous-function default-value

22
推荐指数
2
解决办法
1万
查看次数