首页 > 解决方案 > Ruby 将符号作为关键字参数传递?

问题描述

我有一个方法,我想在其中使用关键字参数和 case/when 语句,我更喜欢使用符号:

  def navigate_to(page:)
    case page
    when :inbox
      # some code
    when :archive
      # some code
    else
      # some code
    end
  end

调用方法时这是正确的语法吗?

navigate_to page: :inbox

: :好像有点奇怪。

标签: ruby

解决方案


关键字参数语法是:

key: value

如果 key 是page并且 value 是符号:inbox,你确实有:

page: :inbox

您也可以改用位置参数:

def navigate_to(page)
  # same as your code
end

navigate_to :inbox

推荐阅读