치킨 스키마에 해시 테이블이 있습니다. 해시 테이블에는 해당 키 값이 해시 값과 해시 값으로 다시 해시됩니다. "안쪽 해시"의 키에는 문자열 인 해당 값이 있습니다. (에 익숙한 경우, 해시의 관련 부분이스키마의 다차원 해시 테이블에서 키에 액세스하는 방법은 무엇입니까?
the_hash[group_name][section_name][part_name] = some_text
처럼 보일 수 있습니다 또는 문자열을 읽고 설정, 루비 말 :.
a_string = the_hash[group_name][section_name][part_name]
, 예를 들어)
에서 내가 문자열을 읽었을 때, group_name
, section_name
및 part_name
이 무엇인지 알고 있어야하며 각 문자열의 값과 for-each
및를 기반으로 특정 작업을 수행 할 수 있어야합니다. Scheme의기능은 주어진 순간에 세 개의 키/하위 키 문자열 중 하나만 사용 가능하기 때문에 충분하지 않은 것으로 보입니다. 각각의 문자열이 가질 수있는 패턴을 모르겠습니다. 웹 검색은 효과적인 해결책을 찾지 못했습니다. 동시에, 나는 상대적으로 계획에 익숙하지 않고 내가해야하는만큼 익숙하지 않을 수도 있습니다. 누구든지 해결책의 방향으로 나를 가리킬 수 있습니까?
나는 group_name, section_name 및 part_name의 어떤 값을 미리 알지 못하기 때문에 답변을 감사 하긴하지만 multi-hash-ref를 호출 할 때이 값이 어떻게 도움이되는지 알지 못합니다. –
또한, 다중 해시 -ref의 람다에서 매개 변수 시퀀스가 (h k)가 아니라 (k h)가되어야한다고 생각합니다. –
@xuinkrbin. 그것은 매개 변수로 전달하기 만하면됩니다.'(multi-hash-ref the_hash group_name section_name part_name)'. 그리고 Scheme 인터프리터에서'foldl'에있는'lambda'의 매개 변수는'(현재 요소, 누적 값)'입니다. 그래서 그것은 저에게 효과적입니다. 그것이 치킨 계획에있는 경우가 아니라면, 그들을 반전하십시오. –