2012-04-08 4 views
0

나는 다음과 같은 프로그램이 있습니다 아무리 패턴으로 무엇을 넣어 문자열 the quickbrown foxRuby Regex 이상한 오류, 무슨 일 이니?

으로 문자, aeiou 일치하지하도록되어

class Matcher 
    include Enumerable 
    def initialize(string, match) 
    @string = string 
    @match = match 
    end 

    def each 
    @string.scan(/[@#match]/) do |pattern| 
     yield pattern 
    end 
    end 
end 

mch = Matcher.new("the quickbrown fox", "aeiou") 
puts mch.inject {|x, n| x+n} 

를, 그것은 이상한 문자를 출력 : thc. 무슨 일이야?

+1

오타 또는 구문 오류가 있습니까? @ # match –

+1

분명히 정규 표현식은 스토너입니다. –

+0

죄송합니다 ... 몇 분 전에, 이렇게하기 전에 2 분 정도 기다려야한다고했습니다. 나는 마실 것을 알아 들었다. 나는 매일 컴퓨터 체크를하지 않는 것에 대해 사과한다. 나는 그것을해야한다는 것을 몰랐다. – Billjk

답변

3

@string.scan(/[@#match]/) do |pattern| 올바르지 않습니다. #{@match}이 당신이 원하는 것입니다.

+3

실제로'# @ match'를 할 수 있습니다. –

+0

@andrew 물론, @ # 일치는 할 수 없습니다. – MysteriousFist

+0

나는 당신이 할 수 있다고 결코 말하지 않았다 ... –

관련 문제