반응형
루비 연산자 "= ~"
이 질문에 이미 답변이 있습니다.
루비에서 연산자 중 일부를 읽었지만 =~
. 무엇을 =~
위해, 또는 무엇을 의미합니까? 내가 본 프로그램은
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
반응형
'developer tip' 카테고리의 다른 글
에뮬레이션과 시뮬레이션의 차이점은 무엇입니까? (0) | 2020.08.14 |
---|---|
compare ()와 compareTo ()의 차이점은 무엇입니까? (0) | 2020.08.13 |
Java EE 개발자 용 Eclipse를 업그레이드하는 방법은 무엇입니까? (0) | 2020.08.13 |
virtualenvwrapper로 환경 이름 바꾸기 (0) | 2020.08.13 |
AltGr 키가 작동하지 않습니다. 대신 Ctrl + AltGr [닫힘]을 사용해야합니다. (0) | 2020.08.13 |