我似乎无法在一个普通的字符串上工作

时间:2013-02-12 06:09:03

标签: ruby-on-rails ruby

我是初学者,请原谅我这个相当简单的问题:

当我尝试运行以下代码时:

c = "hey there you you"
newarray = c.grep("you")
puts newarray

我在ST2中收到错误:<main>': undefined method grep'代表“嘿,你呢”:字符串(NoMethodError)

但是,当我使用数组运行此代码时,它可以工作:

c = ["hey", "there", "you"]
newarray = c.grep("you")
puts newarray

我正在学习的书中的示例显示了grep直接应用于字符串的示例,因此我不确定为什么会发生这种情况。谁能开导我?

1 个答案:

答案 0 :(得分:4)

grep是一个可枚举的方法,因此可以应用于数组和哈希。 “嘿,你是你”是一个字符串,所以你正在寻找include?matchscan

"hey there you you".match 'you'
"hey there you you".scan 'you' # returns 2 results