2013-02-12 4 views
4

일반 문자열에서 작동하는 grep을 수없는 것 :나는 초보자 그래서이 오히려 간단한 질문에 대한 실례입니다

나는 다음과 같은 코드를 실행하려고 :

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

I을 ST2에서 오류가 발생합니다 : <main>': undefined method GREP을 '은 "이 봐 당신이 당신": 문자열 (NoMethodError) 그러나

, 내가 배열을 사용하여이 코드를 실행하면, 작동 :

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

내가 배우는 책의 예는 문자열에 직접 적용되는 grep의 예를 보여주기 때문에 왜 이런 일이 발생하는지 잘 모르겠습니다. 누구나 나를 계몽시킬 수 있습니까?

답변

4

grep은 열거 형 메서드이므로 배열 및 해시에 적용 할 수 있습니다. 당신이 include? 또는 match 또는 scan

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

AH를 찾고 있습니다, 그래서 "이봐, 거기 당신은"나는이 책이 내가 혼란스러워지고 이유입니다 루비의 이전 버전을 사용하고있는 것 문자열입니다 – Zephyr4434

관련 문제