2017-11-15 11 views
0

나는 텍스트를 가져 와서 사용하려는 수직 패널 안에 9 개의 텍스트 상자가 중첩되어 있습니다. 편의상, 나는 단지 select을 사용하여 클래스별로 이들을 가져온 다음 레코드 생성자에 적용합니다. 기본적으로 같은 것을 : 나는 예상대로이 보인다반환하는 요소의 순서에 대한 보증이 있습니까?

(ns example.core 
    (:require [seesaw.core :as sc])) 

(apply ->RecordConstructor 
     (sc/select root [:.textbox])) 

작동합니다,하지만 난 select은 그것의 요소를 반환하는 순서를 정의하는 것을 아무것도의 공식을 찾을 수가 없었다

는 것 같다. 요소가 부모에게 주어진 순서에 따라 결정됩니다. 이 올바른지?

+0

'sc'네임 스페이스 란 무엇입니까? –

+0

@AlanThompson Whoops. 그것은 시소 핵심에 대한 별명입니다. 시소로 질문을 태그했기 때문에 나는 그것을 제거 할 것입니다. – Carcigenicate

+0

개인적으로 스 니펫 앞에'(ns foo.core (: require [seesaw.core : as sc]))'또는'(require '[,,, : as sc)]를 쓰면 개인적으로 훨씬 더 좋아할 것입니다. . Clojure 코어에는 수백 개의 유리 막대가 있으며 어디에서 오는 것인지 알기가 어려울 수 있습니다. 특히이 사이트의 스 니펫 (snippet)에서 공유 컨텍스트를 가진 코드베이스 외부. (코드베이스 내부에서조차도 (거의) 결코 선호하지 않습니다 : 참조하거나 : 아무것도 사용하지 말고, 닫힌 문 뒤에있는 것은 당신과 당신이 함께 일하는 사람들 사이입니다.) 제 2c. – madstap

답변

2

저는 전문가는 아니지만 시소처럼 보이는 것은 문서 모델의 깊이 우선 트리를 보는 것입니다. 따라서 보장 된 것은 없지만, 깊이 우선, 가장 왼손 우선이라는 순서로 물건을 얻을 것 같은데요. 여기서 "왼쪽"은 시소가 물건을 저장하는 순서이며, 반드시 순서를 표시하는 것은 아닙니다. 다시 나는 그것이 어떤 순서인지는 모르지만, "당신이 모델에 물건을 추가 한 순서"에 대한 추측은 나만큼 좋게 보인다.