gpt4 book ai didi

ruby-on-rails - 在 Ruby 中应该如何解释方法签名?

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:51 25 4
gpt4 key购买 nike

对于ActionDispatch::Routing::Mapper::Base module , match 方法定义如下:

match(path, options=nil)

我发现 Rails 文档中的一个挑战是它没有告诉我其中一些参数的类型。那么让我们看一些示例:

match ':controller/:action/:id'

这里,path 是一个字符串。

match 'songs/*category/:title' => 'songs#show'

在这里,它是一个散列。或者它仍然是一个字符串?我不确定如何解释此语法。是吗:

{ match 'songs/*category/:title' => 'songs#show' }

match 'songs/*category/:title' 是键,'songs#show' 是值?或者:

match {'songs/*category/:title' => 'songs#show'}

在哪里调用 match 方法并将散列作为第一个参数?

最佳答案

它可以是字符串或哈希。这是第二个:

  match {'songs/*category/:title' => 'songs#show'}

但是散列实际上是一个参数,所以更正确的说法是:

  match({'songs/*category/:title' => 'songs#show'})

您可以自己尝试使用 irb 中的模拟方法:

irb(main):005:0> def match(foo)
irb(main):006:1> puts foo
irb(main):007:1> end
=> nil
irb(main):008:0> match "somestring"
somestring
=> nil
irb(main):009:0> match :has => "hash"
{:has=>"hash"}
=> nil

关于ruby-on-rails - 在 Ruby 中应该如何解释方法签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231854/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com