함수 호출에 비해 $ 1, $ ~ 등의 값을 유지하는 방법이 궁금합니다. 나는 정규 표현식을 인자로 받아들이는 몇가지 함수를 작성하고 있는데, 함수가 호출 된 후에 이것들을 사용할 수 있다면 유용 할 것이다. (나는 MatchData를 다른 리턴 값과 함께 전달할 수 있다고 생각한다. 그러나이 방법은 루비 방법 ...). 나를 위해루비 - 함수 호출에 대한 정규식 전역 보존
def foo()
"abc123" =~ /(\d+)/
puts "I see $1: #{$1}"
end
foo()
puts "I see $1: #{$1}"
이 출력합니다, :
다음은이 문제를 보여줍니다 간단한 스크립트입니다 여담으로
I see $1: 123
I see $1:
변수 이러한 유형의 몇 가지 정식 이름이? 그냥 "정규식 전역"이라고 부르면 Google에서 검색하기가 어렵습니다.
루비가 아닙니다. 그것은 perl 방식입니다. 그것도하려고하지 마십시오. 전역 변수에 상태를 전달하는 것은 좋지 않습니다. :) –
BTW : http://stackoverflow.com/a/3747135/125816 –