我是初学者,请原谅我这个相当简单的问题:
当我尝试运行以下代码时:
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直接应用于字符串的示例,因此我不确定为什么会发生这种情况。谁能开导我?
答案 0 :(得分:4)
grep是一个可枚举的方法,因此可以应用于数组和哈希。 “嘿,你是你”是一个字符串,所以你正在寻找include?
或match
或scan
"hey there you you".match 'you'
"hey there you you".scan 'you' # returns 2 results