developer tip

루비 연산자 "= ~"

optionbox 2020. 8. 13. 08:17
반응형

루비 연산자 "= ~"


이 질문에 이미 답변이 있습니다.

루비에서 연산자 중 일부를 읽었지만 =~. 무엇을 =~위해, 또는 무엇을 의미합니까? 내가 본 프로그램은

regexs = (/\d+/)
a = somestring
if a =~ regexs

나는 그것이 somestring숫자와 같으면 비교하고 있다고 생각 하지만 다른 사용법이 있으며 =~연산자 의 적절한 정의는 무엇입니까?


=~연산자는 문자열에 대한 정규 표현에 일치하고, 그렇지 않으면 nil을 반환 중 하나가 발견되면 문자열에서 경기의 오프셋 (offset)입니다.

/mi/ =~ "hi mike" # => 3 
"hi mike" =~ /mi/ # => 3 

"mike" =~ /ruby/ # => nil 

위에서 볼 수 있듯이 연산자의 양쪽에 문자열 / 정규식을 배치 할 수 있습니다.


이 연산자는 정규식에 대해 문자열을 찾습니다.

s = 'how now brown cow'

s =~ /cow/ # => 14
s =~ /now/ # => 4
s =~ /cat/ # => nil

문자열이 표현식과 일치하면 연산자는 오프셋을 반환하고 그렇지 않으면 nil을 반환합니다. 그것보다 약간 더 복잡합니다 : 여기 문서를보세요; 이것은 String 클래스의 메서드입니다.


= ~는 일치하는 정규 표현식을위한 연산자로, 일치 시작의 색인을 반환합니다 (또는 일치하는 항목이 없으면 nil).

문서는 여기참조 하십시오 .

참고 URL : https://stackoverflow.com/questions/5781362/ruby-operator

반응형