Version: Unity 6.0 (6000.0)
言語 : 日本語
検索クエリ演算子
Manage search queries

関数リファレンス

カテゴリ別の関数

集合の操作

説明
distinct
{Variadic
AnyExpression} 複数の式の一意の和集合を作成します。
except
{Iterable, Variadic
Iterable} 2 つのシーケンスの差集合を作成します。
first
{Number, Variadic
Iterable} 各式の最初の結果を返します。
groupBy
{Iterable, Optional
Selector} 指定した @selector で検索結果をグループ化します。 ヒント: ExpandSupported
intersect
{No signature}
2 つのシーケンスの積集合を作成します。
last
{Number, Variadic
Iterable} 各式の最後の結果を返します。
map
{Iterable, AnyValue}
式の結果をマップし、変数を使用して新しい式を作成します。
select
{No signature}
取得する値とプロパティを選択して新しい結果を作成します。
sort
{No signature}
条件に基づいて式の結果をソートします。
union
{Variadic
AnyExpression} 複数の式の一意の和集合を作成します。

集合のフィルタリング

説明
eq
{Iterable, Selector, Literal
QueryString} 値が等しい検索結果を保持します。
gt
{Iterable, Selector, Literal
QueryString} 値がより大きい検索結果を保持します。
gte
{Iterable, Selector, Literal
QueryString} 値がより大きいまたは等しい検索結果を保持します。
lw
{Iterable, Selector, Literal
QueryString} 値がより小さい検索結果を保持します。
lwe
{Iterable, Selector, Literal
QueryString} 値がより小さいまたは等しい検索結果を保持します。
neq
{Iterable, Selector, Literal
QueryString} 値が異なる検索結果を保持します。
where
{Iterable, Text
Selector QueryString} 式が有効でない検索結果を除外します。

数学

説明
avg
{Selector, Variadic
Iterable} 各式の平均値を求めます。
count
{Variadic
Iterable} 式の結果の数をカウントします。
max
{Selector, Variadic
Iterable} 各式の最大値を求めます。
min
{Selector, Variadic
Iterable} 各式の最小値を求めます。
sum
{Selector, Variadic
Iterable} 各式の合計値を計算します。

ユーティリティ

説明
alias
{Iterable, Text
Selector Iterable} 式にエイリアスを割り当てます。 ヒント: AlwaysExpand
constant
{Literal
Function} 各式の最初の結果を返します。
format
{Text
Selector, Variadic AnyValue} 引数を文字列に変換し、結果の形式を設定できます。
print
{Text
Selector, Variadic Iterable} コンソールに式の結果を出力します。
query
{No signature}
ヒント:ExpandSupported
random
{Variadic
Iterable} 各式の結果をランダムに選択します。
set
{Variadic
Iterable} 任意の式から要素の集合を返します。
text
{No signature}
任意の式のテキストをリテラル文字列に変換します。

アルファベット順の関数

alias

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

エイリアス “number” を要素 1、2、3 に割り当てます。

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

形式文字列から動的に計算されたエイリアスを 1、2、3 に割り当てます。

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

avg

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

constant{value} -> {constant value}

値を定数リテラル値 (数値、文字列、ブーリアンのいずれか) に変換しようとします。これは、一部の関数でパラメーターの型を明確にするために使用できます。

first{constant{5}, t:material}

count

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

パラメーターとして渡された各集合の結果の数をカウントします。

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

“assets” という名前のインデックスから、タイプ別にアセットをグループ化し、それらの各アセットグループをカウントします。グループを大きいものから 5 つ取得します。

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

distinct

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}

“project” という名前のインデックス内の各アセットの @type を選択し、項目の @value に従って重複が計算されるため、各タイプのアセットを 1 つ保持します。

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

eq

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

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

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

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

first は、パラメーターとして渡された各集合で見つかった最初の要素の集合を返します。count がパラメーターとして渡された場合は、各集合の最初の 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 ファイルをサイズの降順にソートし、大きいものから 3 つ表示します。

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

format

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}

format は 2 つの方法で使用できます。式引数を 1 つだけ使用する場合、項目の現在の @value を文字列表現に変換しようとします。

format を形式文字列とともに使用する場合、形式文字列内のすべてのセレクターが項目の選択された値に置き換えられ、項目の @value にこの形式文字列が設定されます。

print{format{“value=@value”, [1,2,3,4]}} は Console ウィンドウに [“value=1”,”value=2”,”value=3”,”value=4”] と出力します。

groupBy

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

プロジェクト内の各タイプのアセット数をカウントする場合は、groupBy 関数と Expand 演算子を組み合わせることで、セレクターに従って項目を自動的にグループ化することができます。以下の例では、同じタイプの項目の集合を作成します。Expand 演算子 を使用すると、この項目の集合を同じタイプの複数の集合に展開できます。

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

gt

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

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

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

intersect は、すべての集合に @value が含まれる要素の新しい集合を作成します。セレクターがパラメーターとして渡された場合、セレクターの値は要素の比較に使用されます。

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

サイズが 4000 バイトより大きいテクスチャをすべて検索し、パスに “rock” という語が含まれるすべてのテクスチャと intersect します。

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

last

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

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

last は、パラメーターとして渡された各集合で見つかった最後の要素の集合を返します。count がパラメーターとして渡された場合は、各集合の最後の 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 ファイルをサイズの昇順にソートし、最後の 3 つを取得します。

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

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:texture によって返された各テクスチャに対してクエリ t:prefab ref=@id を実行しています。

これは、以下を実行するのと同等です。

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

max

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

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

パラメーターとして渡された各集合に対して、最大の @value を検索します。セレクターがパラメーターとして渡された場合は、@selector の値が最大の要素を検索します。@value` for each set passed as parameters. If a selector is passed as a parameter, find the element with maximum

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 を検索します。セレクターがパラメーターとして渡された場合は、@selector の値が最小の要素を検索します。@value` for each set passed as parameters. If a selector is passed as parameter, find the element with minimum

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

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

print(FormatString | selector, set)

print は、形式文字列 (またはセレクター) と項目の集合を受け取り、コンソールに各項目の形式適用結果を出力します。これは項目の値をデバッグするのに役立ちます。

プロジェクトで、以下の式はテクスチャとそのパスを Search ウィンドウに返し、Console ウィンドウに出力します。

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

print{@value, [1,2,3,4]} は Console ウィンドウに [1,2,3,4] と出力します。

query

query{value} -> {query expression}

値をクエリ式に変換しようとします。これは、特定の関数でパラメーターの型を明確にするために使用できます。

count{t:material} は以下と同等です。

count{query{t:material}}

random

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

パラメーターとして渡された項目の各集合から取得したランダムな要素の集合を作成します。

random{[1,3,5], [6,4,2]} -> {3, 2} は、各集合のランダムな結果を返します。

select

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

select は、新しい検索項目の集合を作成し、元の検索項目の集合からプロパティを抽出または変換する関数です。

select 関数の 2 番目のパラメーター (selectorForLabel) は、選択された値を新しい項目のラベルに割り当てます。

3 番目のパラメーター (selectorForDesc) は、選択された値を新しい項目の説明に割り当てます。

select 関数の最後のセレクターは、項目の値も指定します。

プロジェクトでテクスチャを検索する場合、select を使用すると、ラベルがパス、説明がテクスチャのサイズになる項目の集合が生成されます。

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

select ステートメントの最後のセレクターは、項目の値も設定します。select{t:texture, @path, @size} の例では、これは @size が検索項目の @value にもなることを意味しています。Table ビューに切り替えて、ラベルが検索式で置き換えられ、説明が値を設定する様子を確認します。

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 プロパティが抽出され、select 関数によって作成された新しい検索項目の pow という検索項目フィールドに割り当てられます。

set

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

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

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

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

パラメーターとして渡された各集合内の各項目の @value の合計を求めます。セレクターがパラメーターとして渡された場合は、各集合内の各要素の @selector の値の合計を求めます。of each item in each set passed as parameters. If a selector is passed as parameter, find the sum

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

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

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

where は一般的なフィルタリング関数です。セレクター、またはセレクターの使用法と演算子 (>、==、…) を含む文字列を受け取って、集合の要素をフィルタリングし、新しいフィルタリングされた集合を返します。

例値に基づく数値のフィルタリング:

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}

検索クエリ演算子
Manage search queries