Rebol 2에는 해시가있었습니다! MAP뿐만 아니라 유형! 유형. 이는 모두가뿐만 아니라 경로 기반 선택에 의해 찾기 및 선택 기능에 의해 지원되었다 :MAP의 멤버쉽을 테스트하는 일반적인 방법! Rebol 2와 3 모두에서 일하고 있습니까?
>> m: to map! [someKey someValue]
== make hash! [someKey someValue]
>> m/someKey
== someValue
>> select m 'someKey
== someValue
는 키가지도에없는 것을 감지하려면 NONE
에 대해 찾기 및 테스트 사용할 수 있습니다>> find m 'someOtherKey
== none
그러나 경로 기반 선택이 경우 오류가 발생하는 것입니다 : 한편
>> m/someOtherKey
** Script Error: Invalid path value: someOtherKey
** Near: m/someOtherKey
는 REBOL 3 만 MAP가 있습니다! 그러나
및 SELECT
은 시리즈 유형 만 지원하고 MAP! 더 이상 시리즈로 간주되지 않습니다. (?) :
>> m/someOtherKey
== none
... 당신의 키 (변수에있는 경우 또는 내가 볼 수있는 유일한 방법지도와 상호 작용하는 경로의 비 회원의 경우 오류가 발생하지 않는 선택을 통해 문자열) PAREN을 사용해야합니다! 또한 REBOL 2에서 작동하지만 오류를 던지는 대신에 존재하지 않는 무언가를 요청할 때 NONE을 반환하지 동일한주의와
>> var: 'someKey
== someKey
>> m/(var)
== someValue
.
그렇다면 경로 선택은 Rebol 2와 3의 키 값을 검색하는 "일반적인"방법입니다. 그럼에도 불구하고 일반적인 테스트 방법은 보이지 않습니다. 회원이 부족합니다.. 어떻게 처리하나요?
아아! 나는 FIND를 점검하고 그것이 시리즈 전용 타입을위한 것인지를 확인한 다음 SELECT를 체크하지 않았다. 그리고 당신은'해시! '에 대해 옳았습니다. 절대로 다시 입력하지 마십시오. 나는 항생제를 비난하기로 결정했다. :-) – HostileFork