Version: 6000.3
语言: 中文
搜索查询运算符
管理搜索查询

函数参考

本页介绍可在搜索表达式中使用的函数。函数用于作搜索结果并对其执行作。这些功能按类别和字母顺序列出:

按类别划分的功能

设置作

表达 描述
distinct
{可变参数 |任意表达式}
生成多个表达式的唯一集合并集。
除了
{Iterable, Variadic |可迭代}
产生两个序列的集合差值。
第一个
{Number, Variadic |可迭代}
返回每个表达式的第一个结果。
groupBy
{可迭代,可选 |选择器}
按指定的搜索结果分组@selector|提示:ExpandSupported

{无签名}
生成两个序列的集交点。
last
{数字,可变参数 |可迭代}
返回每个表达式的最后一个结果。
map
{Iterable, AnyValue}
映射表达式结果以使用变量形成新表达式。
选择
{无签名}
通过选择要采用的值和属性来创建新结果。
排序
{无签名}
根据条件对表达式结果进行排序。
union
{可变参数 |任意表达式}
生成多个表达式的唯一集合并集。

设置过滤

表达 描述
eq
{可迭代,选择器,文字 |查询字符串}
保留具有相同值的搜索结果。
gt
{Iterable, Selector, Literal |查询字符串}
保留具有更大价值的搜索结果。
gte
{Iterable, Selector, Literal |查询字符串}
保留具有更大或相等值的搜索结果。
lw
{Iterable, Selector, Literal |查询字符串}
保留具有较低值的搜索结果。
lwe
{Iterable, Selector, Literal |查询字符串}
保留具有较低或相等值的搜索结果。
neq
{Iterable, Selector, Literal|查询字符串}
保留具有不同值的搜索结果。
其中
{Iterable, Text |选择器 |查询字符串}
排除表达式无效的搜索结果。

数学

表达 描述
avg
{选择器,可变参数 |可迭代}
查找每个表达式的平均值。
计数
{可变参数 |可迭代}
计算表达式中的结果数。
max
{选择器,可变参数 |可迭代}
查找每个表达式的最大值。
min
{选择器,可变参数 |可迭代}
查找每个表达式的最小值。
sum
{选择器,可变参数 |可迭代}
计算每个表达式的总和值。

效用

表达 描述
别名
{Iterable, 文本 |选择器 |Iterable}
为表达式分配别名。 | 提示:总是展开
常量
{文字 |函数}
返回每个表达式的第一个结果。
format
{文本 |选择器,可变参数 |任意值}
将参数转换为字符串,允许您格式化结果。
print
{文本 |选择器,可变参数 |可迭代}
在控制台中打印表达式结果。
查询
{无签名}
提示:ExpandSupported
随机
{可变参数 |可迭代}
为每个表达式随机选择一个结果。
集合
{可变参数 |可迭代}
从任何表达式返回一组元素。
text
{无签名}
将任何表达式的文本转换为文字字符串。

按字母顺序排列的功能

别名

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'}

例:

从格式字符串动态计算的 assign 和 alias 到 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}

例:

从名为“assets”的索引中,按类型对资产进行分组,并对每个资产组进行计数。以五个最大的群体为例。

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

不同

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

Distinct 创建一组在作为参数传递的所有集合中找到的所有元素。与 union 一样,不保留重复的元素。

例: 此示例显示删除了重复项。

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

例:

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

例:

选择@type索引中名为“project”的每个资产,并保留每种类型的单个资产,因为重复项是根据@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序列化属性 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}

首先返回一组在每个集合中找到的第一个元素,作为参数传递。如果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将项目转换为字符串表示。

如果格式与格式字符串一起使用,它会将格式字符串中的所有选择器替换为项目的选定值,并将此格式化字符串设置为@value项目的。

例:

print{format{“value=@value”, [1,2,3,4]}}会在控制台窗口Unity 编辑器窗口,显示 Unity 或您自己的脚本生成的错误、警告和其他消息。更多信息
请参阅术语表
.

groupBy

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

例:

要计算项目中每种类型的资产数量,请groupBy功能与“展开运算符”相结合,允许您根据选择器自动对项目进行分组。在下面的示例中,它创建了一组相同类型的项。“展开运算符”(Expand Operator) 允许您将这组项扩展为多个相同类型的集合。

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

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

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}

LWE

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{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 采用格式字符串(或选择器)和一组项,并在控制台中打印每个项的格式化结果。这对于调试项的值非常有用。

在项目中,以下表达式在 搜索(Search) 窗口中返回纹理及其路径,并在 控制台(Console) 窗口中打印它们:

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 是一种函数,用于创建一组新的搜索项,并从一组原始搜索项中提取或转换属性。

select 函数的第二个参数 (selectorForLabel) 将所选值分配给新项目的标签。

第三个参数 (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}

Union 创建一组在作为参数传递的所有集合中找到的所有元素。喜欢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}

例: 查找全部音频剪辑Unity 中音频数据的容器。Unity 支持单声道、立体声和多声道音频资产(最多 8 个声道)。Unity 可以导入 .aif、.wav、.mp3 和 .ogg 音频文件格式,以及 .xm、.mod、.it 和 .s3m 跟踪器模块格式。更多信息
请参阅术语表
包含单词effect:

where{t:AudioClip, @path:effect}

其他资源

搜索查询运算符
管理搜索查询