parse
을 사용하여 데이터에서 값을 추출 할 때 종종 글로벌 선언을 통해 copy
데이터를 캡처합니다. 예를 들어 ,구문 분석을 사용하여 데이터를 복사 할 때 네임 스페이스 오염 최소화
numbers: none
rule: [ thru 5 copy numbers to 10 to end ]
parse [ 1 2 3 4 5 6 7 8 9 10 ] [ rule ]
무엇 글로벌로 numbers
를 사용하지 않고이 작업을 수행하는 가장 좋은 방법이 될 것입니다? 을 전체적으로 래퍼로 정의해야합니까? 아니면 좀 더 우아한 솔루션이 있습니까?
CONTEXT를 사용할 필요가 있으므로이 경우 "numbers : none"을 입력 할 필요가 없습니다. – endo64
Endo 네, 규칙이이 예제와 같이 성공하지만 처음 네 개의 숫자 만 들어 있고 "numbers : none"이 없으면 숫자에 아무런 값이 없으므로 설정이 해제됩니다. 이는 Rebol 2에서 USE를 사용하는 기본 동작입니다. 원할 수도 있고 그렇지 않을 수도 있습니다. Rebol 3의 USE는 다른 동작을 가지며 숫자를 자동으로 none으로 설정합니다. – Brett
Brett, 고맙습니다. USE가 R3에서 다르게 동작한다는 것을 몰랐습니다. – endo64