Есть ли гарантии относительно порядка элементов, которые выбирает возврат?

У меня есть девять текстовых полей, вложенных в вертикальные панели, из которых я хочу получить текст и использовать его. Для удобства я просто использую select чтобы захватить их по классу, а затем применить их к конструктору записи. В основном что-то вроде:

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

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

Кажется, это работает, как я ожидаю, но я не смог найти ничего официального о том, что определяет порядок, который select возвращает его элементы в.

Кажется, он основан на порядке, в котором элементы были переданы их родителю. Это правильно?

1 ответ

Решение

Я не эксперт, но похоже, что качели просто прогуливаются по древу своей модели документа. Так что ничего не гарантировано, но конечно, звучит так, как будто вы получите вещи в таком порядке: сначала глубина, слева направо. Здесь "left" - это то, в каком порядке хранятся данные, не обязательно отображать порядок. Опять же, я не знаю, что это за порядок, но ваше предположение о "порядке, в котором вы добавили материал в модель" мне кажется таким же хорошим, как и любой другой.

Другие вопросы по тегам