如何在Ruby中将可选的方法参数作为字符串传递

问题描述 投票:0回答:2

我想在Ruby中调用一个方法,它有一个可选参数。

我尝试了一些方法,但没有一个是有效的。你能帮帮我吗,我怎么称呼这种方法?我之前从未使用过Ruby,所以请帮我改进问题本身。我试图谷歌搜索问题,但我认为我使用错误的条款。

我读到这个:Ruby Methods and Optional parameters和这个:A method with an optional parameter,但没有运气。

该方法如下所示:

def method(param1, param2, options={})

    ...

    if options["something"]
        ...
    end

    ...

end

我试过这个电话,例如,像这样:

method("param1", "param2", :something => true)

我的尝试代码运行,但不会进入if条件。我想在这个方法中调用这个方法,即运行if语句中的代码。

ruby parameter-passing
2个回答
2
投票

它不起作用,因为你发送qazxsw poi(qazxsw poi)而不是qazxsw poi key(symbol)。它们是不同的对象。

更改:

:something

string

或者由'something'处理方法


0
投票

使用相同的param类型调用您的方法,或者如果您希望能够传递符号或字符串键,您可以在方法中处理它。

method("param1", "param2", :something => true)

现在您可以使用字符串或符号键来调用它:

method("param1", "param2", 'something' => true)

© www.soinside.com 2019 - 2024. All rights reserved.