ruby 参数名称的字符串

qij5mzcb  于 2022-11-22  发布在  Ruby
关注(0)|答案(2)|浏览(133)

假设我有一个带命名参数(foo和bar)的ruby函数(func),我可以通过提供其中一个或两个参数来调用它,如下所示:

func(foo: "whatever")
func(bar: "whatever")
func(foo: "whatever", bar: "whatever")

我需要的是一种通过传递参数名称的字符串来调用此函数的方法:

name = "foo"
func(name: "whatever")

我读到了to_sym,但不知道如何使用它。至少这是行不通的:

name = "foo"
func(name.to_sym: "whatever")

有办法吗?

  • 谢谢-谢谢
oxcyiej7

oxcyiej71#

func(name.to_sym => "whatever")

在Ruby 3.1中似乎可以工作

zqdjd7g9

zqdjd7g92#

您可以使用下列项目:

func("#{name}": "whatever")

名称将被插入并转换为符号

相关问题