Unity 6.3
0 онлайн 102 гостей 3 в системе
Вход
Unity Editor interface Шаг 47 из 131

Справочная информация о функциях

На этой странице объясняются функции, которые можно использовать в выражениях поиска. Функции используются для манипулирования результатами поиска и выполнения операций с ними. Функции перечислены по категориям и в алфавитном порядке:

Функции с разбивкой по категориям

Манипулирование набором

Выражение Описание
отдельное
{Variadic | AnyExpression}
Создает уникальное объединение множества выражений.
кроме
{Iterable, Variadic | Iterable}
Получает разность двух последовательностей.
первый
{Number, Variadic | Iterable}
Возвращает первый результат для каждого выражения.
groupBy
{Iterable, Optional | Selector}
Результаты поиска по группе @selector | Подсказки: ExpandSupported
пересекаются
{Нет сигнатуры}
Создает набор пересечений двух последовательностей.
последний
{Number, Variadic | Iterable}
Возвращает последний результат для каждого выражения.
карта
{Iterable, AnyValue}
Сопоставляет результат выражения для создания нового выражения с помощью переменных.
выбрать
{Нет сигнатуры}
Создает новые результаты путем выбора значения и свойства, которые будут взяты.
сорт
{Нет сигнатуры}
Сортировка результатов выражения на основе критерия.
союз
{Variadic | AnyExpression}
Создает уникальное объединение множества выражений.

Установить фильтрацию

Выражение Описание
экв
{Iterable, Selector, Literal | QueryString}
Сохраняет результаты поиска, имеющие равное значение.
гт
{Iterable, Selector, Literal | QueryString}
Сохраняет результаты поиска, которые имеют большую ценность.
ГТЭ
{Iterable, Selector, Literal | QueryString}
Сохраняет результаты поиска, имеющие большее или равное значение.
Лв
{Iterable, Selector, Literal | QueryString}
Сохраняет результаты поиска, имеющие более низкое значение.
2004 год
{Iterable, Selector, Literal | QueryString}
Сохраняет результаты поиска, имеющие меньшее или равное значение.
Нек
{Iterable, Selector, Literal| QueryString}
Сохраняет результаты поиска, имеющие другое значение.
где
{Iterable, Text | Selector | QueryString}
Исключает результаты поиска, для которых выражение не является действительным.

Тип

Выражение Описание
средний
{Selector, Variadic | Iterable}
Находит среднее значение для каждого выражения.
Количество
{Variadic | Iterable}
Подсчитывает число результатов в выражении.
макс.
{Selector, Variadic | Iterable}
Находит максимальное значение для каждого выражения.
мин.
{Selector, Variadic | Iterable}
Находит минимальное значение для каждого выражения.
сумма
{Selector, Variadic | Iterable}
Вычисляет сумму для каждого выражения.

Утилита

Выражение Описание
псевдоним
{Iterable, Text | Selector | Iterable}
Назначает выражению псевдоним. | Подсказки: AlwaysExpand
константа
{Literal | Function}
Возвращает первый результат для каждого выражения.
формат
{Text | Selector, Variadic | AnyValue}
Преобразует аргументы в строку, позволяющую форматировать результат.
печать
{Text | Selector, Variadic | Iterable}
Печатает результаты выражения в консоли.
поиск
{Нет сигнатуры}
Советы: ExpandSupported
случайные
{Variadic | Iterable}
Случайно выбирает результат для каждого выражения.
набор
{Variadic | Iterable}
Возвращает набор элементов из любого выражения.
текст
{Нет сигнатуры}
Преобразует текст любого выражения в буквальную строку.

Функции в алфавитном порядке

псевдоним

alias{set, aliasName} -> {each element in set gets assigned an aliasName}

alias{set, formatString} -> {each element in set gets assigned an alias computed from the formatString}

Эта функция фактически назначает выражению псевдоним. Это эквивалентно использованию ключевого слова “as”. См. также раздел Использование псевдонимов.

Пример:

count{t:material as material} эквивалентно:

count{alias{t:material, material}}

Пример:

Назначить псевдоним «число» элементам: 1, 2 и 3.

alias{[1, 2, 3], 'number'}

Пример:

Назначение и псевдоним динамически вычисляются из форматной строки для 1,2 и 3:

alias{[1,2,3], 'number @value}'}

средний

avg{selector, sets...} -> {Average of selector value in each set}

avg{set...} -> {Average of @value in each set}

Найти среднее значение каждого элемента в каждом наборе, переданном в качестве параметров.

Пример:

avg{[1,2,3,4, 5,6], [1, 1, 1], []} -> {3.5, 1, 1}

Пример:

avg{@size, t:texture, t:material} -> {1100576, 3618}

константа

constant{value} -> {constant value}

Попытка преобразовать значение в постоянное буквальное значение: число, строку или логическое значение. Это может использоваться для разъяснения типов параметров в некоторых функциях.

Пример:

first{constant{5}, t:material}

Количество

count{sets...} -> {count of each set}

Подсчитывает количество результатов в каждом наборе, переданном в качестве параметров.

Пример:

count{t:texture, t:material} -> {359, 194}

Пример:

Из индекса под названием «ассеты» группировать ассеты по типу и подсчитать каждую из этих групп ассетов. Возьмите пять самых больших групп.

first{5, sort{count{...groupBy{a:assets, @type}}, @value, desc}}

отдельное

distinct{sets...} -> {Unified set of all unique elements in all sets}

Distinct создает множество из всех элементов, найденных во всех множествах, переданных в качестве параметров. Как и при объединении, дублирующие элементы не сохраняются.

Пример: В этом примере показано удаление дубликатов.

distinct{[1,2,3], [3,4,5]} -> {1,2,3,4,5}

Пример:

distinct{*.mat, t:shader} -> {all materials and shaders in the project}

Пример:

Выберите @type каждого ассета в индексе под названием «проект» и сохраните один ассет каждого типа, поскольку дубликаты рассчитываются в соответствии с @value элемента.

distinct{select{a:project, @type}}

экв

eq{set, value} -> {all elements equal to value}

eq{set, selector, value} -> {all selector value equal to value}

Фильтрует набор элементов, сохраняя их равными заданному значению.

Пример:

eq{[2,4,5,6,4,3], 4} -> {4,4}

это эквивалентно:

where{[2,4,5,6,4,3], “@value=4”}

Пример:

Найти все текстуры с #width serialized property 256.

eq{t:texture, #width, 256}

это эквивалентно

t:texture #width=256

кроме

except{set, sets...} -> {New set of elements}

Except создает множество всех элементов, которые не входят ни в одно из множеств, переданных в качестве параметров.

Пример:

except{[1,2,3,4,5], [2,3], [5], [6]} -> {1,4}

Пример:

except{t:prefab, t:prefab ref=select{t:texture, @path}}

первый

first{sets...} -> {all first element in each sets}

first{count, sets...} -> {first count elements in each sets}

First возвращает множество первого элемента, найденного в каждом наборе, переданном в качестве параметра. Если count передан в качестве параметра, будет взят первый элемент подсчёта в каждом наборе.

Пример:

first{[3, 4,5], [9, 28, 3]} -> {3,9}

Пример:

first{3, [9, 28, 3, 4, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7]} -> {9, 28, 3, 1, 2, 3}

Пример:

Сортировать все файлы .fbx в проекте в убывающем порядке размера и показать три самых больших.

first{3,sort{*.fbx, @size, desc}}

формат

format{expression} -> {set of items where the value is converted to a string}

format{formatString, expression} -> {set of items where the value is set by applying a format string}

Формат может быть использован двумя способами. Когда используется только один аргумент выражения, он попытается преобразовать текущее @value элемента в строковое представление.

Если format используется со строкой формата, то он заменит все селекторы в строке формата выбранным значением элемента и установит эту форматированную строку в @value элемента.

Пример:

print{format{“value=@value”, [1,2,3,4]}} выведет [“value=1”,”value=2”,”value=3”,”value=4”] в окне Console.

groupBy

groupBy{set, selector} -> {multiple sets of items grouped by their selector}

Пример:

Чтобы подсчитать количество ассетов для каждого типа в проекте, функция groupBy в сочетании с оператором Expand позволяет автоматически группировать элементы в соответствии с селектором. В примере ниже она создает набор элементов одного и того же типа. Оператор Expand позволяет расширить этот набор элементов на несколько наборов одного и того же типа.

count{...groupBy{a:assets, @type}} -> {numberOfAssetType1, numberOfAssetType2, .. numberOfAssetTypeN}

гт

gt{set, value} -> {all elements greater than value}

gt{set, selector, value} -> {all elements with selector value greater than value}

Фильтрует набор элементов, сохраняя те из них, которые больше заданного значения.

Пример:

gt{[2,4,5,6,4,3], 4} -> {5,6}

ГТЭ

gte{set, value} -> {all elements greater or equal than value}

gte{set, selector, value} -> {all with a selector value greater or equal than value}

Фильтрует набор элементов, сохраняя только те, которые больше или равны заданному значению.

Пример:

gte{[2,4,5,6,4,3], 4} -> {4,5,6,4}

пересекаются

intersect{sets...} -> {elements that are in all sets}

intersect{sets…, selector} -> {elements whose selector value is contained in all sets}

Пересечение создает новый набор элементов, @value которых содержится во всех наборах. Если в качестве параметра передан селектор, то значение селектора используется для сравнения элементов.

Пример:

intersect{[1,2,3,4,5], [3, 5], [6, 3]} -> {3}

Пример:

Найти все текстуры, размер которых больше 4000 байт и пересекаются со всеми текстурами, путь которых содержит слово “rock”.

intersect{t:texture size>4000, t:texture @path:rock}

последний

last{sets...} -> {all last element in each sets}

last{count, sets...} -> {last count elements in each sets}

Last возвращает множество последнего элемента, найденного в каждом наборе, переданном в качестве параметра. Если count передан в качестве параметра, будет взято последнее число элементов в каждом наборе.

Пример:

last{[3, 4,5], [9, 28, 3]} -> {5, 3}

Пример:

last{3, [9, 28, 3, 4, 6, 7, 8, 9], [1, 2, 3, 4, 5, 6, 7]} -> {7,8,9,5,6,7}

Пример:

Сортируйте все файлы .fbx в проекте по возрастающему порядку размера и возьмите последние три.

last{3,sort{*.fbx, @size}}

Лв

lw{set, value} -> {all elements less than value}

lw{set, selector, value} -> {all elements with selector value less than value}

Фильтрует набор элементов, сохраняя те из них, которые меньше заданного значения.

Пример:

lw{[2,4,5,6,4,3], 4} -> {2,3}

2004 год

lwe{set, value} -> {all elements less or equal than value}

lwe{set, selector, value} -> {all with a selector value less or equal than value}

Фильтрует набор элементов, сохраняя те из них, которые меньше или равны заданному значению.

Пример:

lwe{[2,4,5,6,4,3], 4} -> {2,4,3,4}

карта

map{set, <string containing selectors to replace>}

Оператор map является функциональным способом выражения выражения поиска в. Он отображает результат выражения, чтобы с помощью переменных сформировать новое выражение.

Следующий пример:

map{t:texture, t:prefab ref=@id} -> {t:prefab ref=<textureId1>} {t:prefab ref=<textureId2>} ... {t:prefab ref=<textureIdN>}

запустит запрос t:prefab ref=@id для каждой из текстур, возвращенных t:texture.

Это эквивалентно запуску:

{t:prefab ref={t:texture}}

макс.

max{sets...} -> {max value element in each set}

max{selector, sets...} -> {max selector value element in each set}

Находит максимальное значение @value` for each set passed as parameters. If a selector is passed as a parameter, find the element with maximum@selector`.

Пример:

max{[1,2,3,4,5,6], [2,4,5]} -> {6, 5}

Пример:

Найдите самый большой файл .png и самый большой файл .jpg.

max{@size, *.png, *.jpg} -> {<largest .png file>, <largest .jpg file>}

мин.

min{sets...} -> {min value element in each set}

min{selector, sets...} -> {min selector value element in each set}

Находит минимальное значение @value` for each set passed as parameters. If a selector is passed as parameter, find the element with minimum@selector`.

Пример:

min{[1,2,3,4,5,6], [2,4,5]} -> {1, 2}

Пример:

Найдите самый маленький файл .png и самый большой файл .jpg.

min{@size, *.png, *.jpg} -> {<smallest .png file>, <smallest .jpg file>}

Нек

neq{set, value} -> {all elements not equal to value}

neq{set, selector, value} -> {all selector value not equal to value}

Фильтрует набор элементов, оставляя только те, которые не равны заданному значению.

Пример:

neq{[2,4,5,6,4,3], 4} -> {2,5,6,3}

печать

print(FormatString | selector, set)

Print принимает строку формата (или селектор) и набор элементов и печатает форматированные результаты каждого элемента в консоли. Это может быть полезно для отладки значений элемента.

В проекте следующее выражение возвращает текстуры и их пути в окне Поиск и печатает их в окне Консоли:

print{'path=@path', t:texture}

Пример:

print{@value, [1,2,3,4]} отобразит [1,2,3,4] в окне Консоли.

поиск

query{value} -> {query expression}

Попытки преобразовать значение в выражение запроса. Это может использоваться для разъяснения параметров типа в некоторых специфических функциях.

Пример:

count{t:material} эквивалентно

count{query{t:material}}

случайные

random{sets...} -> {random elements in each set}

Создает набор случайных элементов, взятых из каждого набора элементов, переданных в качестве параметра.

Пример:

random{[1,3,5], [6,4,2]} -> {3, 2} возвращает случайные результаты в каждом наборе.

выбрать

select(<set>, selectorForLabel, selectorForDesc, otherSelectors...)

Select — это функция, которая создает новый набор элементов поиска и извлекает или преобразует свойства из первоначального набора элементов поиска.

Второй параметр (selectorForLabel) функции select присваивает выбранное значение к метке нового элемента.

Третий параметр (selectorForDesc) назначает выбранное значение для описания нового элемента.

Последний селектор в функции select также указывает значение элемента

Пример:

При поиске текстур в проекте, используя select, генерируется набор элементов, где метка является путем, а описание становится размером текстуры:

select{t:texture, @path, @size}

Результаты поиска показывают путь и размер файлов
Результаты поиска показывают путь и размер файла

Последний селектор в команде select также устанавливает значение элемента. Для примера select{t:texture, @path, @size} это означает, что @size также станет @value элемента поиска. Переключитесь на вид Таблицы, чтобы увидеть, как выражение поиска заменяет метку и описание устанавливает значение:

Результаты поиска показывают путь в столбце метки
Результаты поиска показывают путь в столбце метки

Селекторы функции select также могут быть сами по себе функциями. Селекторы в этих функциях оцениваются в соответствии с обрабатываемым элементом поиска.

Пример:

select{t:texture, @path, count{t:prefab ref=@id}}

  1. Для каждой текстуры в проекте создать новый элемент поиска (t:texture)
  2. , метка которого равна @path текстуры (@path)
  3. и описание которого равно количеству префабы, относящихся к этой текстуре (count{t:prefab ref=@id}). В примере @id относится к SearchItem.id каждого элемента текстуры.

Значение свойства можно назначить полю элемента поиска, если использовать оператор псевдонима.

Пример:

print{"@pow", select{t:script, @path as pow}}

Это извлекает свойство @path из элемента поиска и назначает его полю элемента поиска с именем pow в новом элементе поиска, созданном функцией select.

набор

set{sets...} -> {set of all elements in all sets}

Создаёт множество из всех элементов, содержащихся во всех множествах, переданных в качестве параметров. Это эквивалентно использованию нотации «[set, of , element]».

Пример:

set{[1, 2,3], [4,5,6]} эквивалентно:

[[1,2,3], [4,5,6]], что эквивалентно:

[1,2,3,4,5,6]

сорт

sort{set, selector} -> {set of items sorted in ascending order according to selector value}

sort{set, selector, desc} -> {set of items sorted in descending order according to selector value}

Сортировка набора элементов по значению селектора в восходящем или нисходящем порядке.

Пример:

Сортировка этого набора в восходящем порядке (от наименьшего к наибольшему).

Sort{[4,2,7,5,8,1,9], @value} -> {1,2,4,5,7,8,9}

Пример:

Сортировка этого набора в убывающем порядке (от наибольшего к наименьшему).

sort{[4,2,7,5,8,1,9], @value, desc} -> {9,8,7,5,4,2,1}

Пример:

Сортировать все текстуры в моем проекте по их @size в убывающем порядке (от наибольшего к наименьшему).

sort{t:texture, @size, desc}

сумма

sum{sets...} -> {sum of all elements in each set}

sum{selector, sets...} -> {sum of all elements in each set}

Найти сумму `@value каждого элемента в каждом наборе, переданном в качестве параметра. Если селектор передан в качестве параметра, найти сумму @selector значения каждого элемента в каждом наборе.

Пример:

sum{[1,2,3,4,5,6], [2,4,5]} -> {21, 11}

Пример:

Найти сумму всех текстур @size в проекте.

sum{@size, t:texture}

текст

text{expression} -> {“text of the expression”}

Создает строку из выражения. Это эквивалентно использованию разделителей "" или "".

Пример:

[text{hello}] эквивалентно

[“hello”] или [‘hello’]

союз

union{sets...} -> {Unified set of all unique elements in all sets}

Объединение создает множество всех элементов, найденных во всех множествах, переданных в качестве параметра. Как и distinct, дубликаты элементов не сохраняются.

Пример:

Этот пример показывает, что дубликаты удаляются.

union{[1,2,3], [3,4,5]} -> {1,2,3,4,5}

Пример:

union{*.mat, t:shader} -> {all materials and shaders in the project}

где

where{set, filterString | selector} -> {filtered set of items}

Где является общей функцией фильтрации, которая принимает селектор или строку, содержащую использование селекторов и операторов (>, ==, …) для фильтрации элементов множества и возвращает новое отфильтрованное множество.

Пример: Фильтрация чисел в соответствии с их значением:

where{[1,2,3,4,5,6,7,8,9,10], '@value>4 and @value<9'} -> {5,6,7,8}

Пример: Поиск всех аудиоклипов, содержащих слово effect:

where{t:AudioClip, @path:effect}

Дополнительные ресурсы