包含此页的版本:
不含此页的版本:
本页介绍可在搜索表达式中使用的函数。函数用于作搜索结果并对其执行作。这些功能按类别和字母顺序列出:
| 表达 | 描述 |
|---|---|
|
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{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{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}
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}}
t:texture)@path纹理的 (@path)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}