我是ruby的新手,想要了解如何传递与ruby中的键对应的值。 我在下面的rubylike中有一个哈希 -
instance1
shutdown_port: 1234
startup_port: 1678
instance2
shutdown_port: 2234
startup_port: 2678
我想将每个实例的shutdown_port
和startup_port
传递给某个方法但不想混合shutdown_port
& startup_port
值。
类似于if keyname = shutdown_port
,传递相应的值和if
if keyname = startup_port
,传递相应的值。
答案 0 :(得分:0)
Ruby实际上允许keyword argument as of Ruby 2,它将解析哈希。 (如果您正确使用YAML.parse(file)
来获取哈希值。)
在您的情况下,您需要以下内容:
# method takes keyword args
def idk(startup_port:, shutdown_port:)
p "#{startup_port}, #{shutdown_port}"
end
# which you call like this:
idk({ startup_port: '22', shutdown_port: '80' })
# or without explicit hash
idk(startup_port: '22', shutdown_port: '80')