.match方法如何与其args相关?

时间:2014-11-30 03:05:31

标签: ruby methods arguments

我正在学习如何通过RubyMonk.com网站(目前为止我所知道的神奇网站)在Ruby中编程。

我在理解RegEx的概念以及它如何与.match方法一起工作时遇到了一些麻烦。

'RubyMonk Is Pretty Brilliant'.match(/ ./, 9)

.match中的参数有什么用途?

2 个答案:

答案 0 :(得分:2)

String#match的可选参数是指定搜索开始的起始位置:

'RubyMonk Is Pretty Brilliant'.match(/ ./, 0)
# => #<MatchData " I">
'RubyMonk Is Pretty Brilliant'.match(/ ./, 9)
# => #<MatchData " P">
'RubyMonk Is Pretty Brilliant'.match(/ ./, 12)
# => #<MatchData " B">

答案 1 :(得分:0)

  

.match中的参数有什么用途?

阅读String#match

的文档
  

将模式转换为Regexp(如果它不是一个),然后在str上调用它的匹配方法。 如果第二个参数存在,它会指定字符串中开始搜索的位置。

因此,在您的示例中,#match将从 10 th 字符或 9 th 开始工作位置上的。