Execute
Execute a SearchEXpression givent a certain SearchContext Depending on flags the expression might be valuated in a worker thread (by default) or in the main thread. It returns a an enumerable list of SearchItem.
Read time 2 minutesLast updated 10 days ago
Definition
- Type: Method
- Namespace: UnityEditor.Search
- Assembly: UnityEditor
Execute(SearchContext)
Execute a SearchEXpression givent a certain SearchContext Depending on flags the expression might be valuated in a worker thread (by default) or in the main thread. It returns a an enumerable list of SearchItem.
public IEnumerable<SearchItem> Execute(SearchContext searchContext)
Parameters
SearchContext used to initialize the SearchExpressionContext that will encapsulate all information relative to expression evaluation.
Returns
Type | Description |
|---|---|
| IEnumerable<SearchItem> | Returns an enumerable list of SearchItem. |
Examples
[SearchExpressionEvaluator(SearchExpressionType.Iterable | SearchExpressionType.Variadic)][SearchExpressionEvaluatorSignatureOverload(SearchExpressionType.Number, SearchExpressionType.Iterable | SearchExpressionType.Variadic)][Description("Extract and returns the X first results for each expression.")]public static IEnumerable<SearchItem> TakeXFirst(SearchExpressionContext c){ var argIndex = 0; var takeNumber = 1; if (c.args[0].types.HasFlag(SearchExpressionType.Number)) { ++argIndex; takeNumber = Math.Max((int)(c.args[0].GetNumberValue(takeNumber)), 0); } for ( ; argIndex < c.args.Length; ++argIndex) { var iterable = c.args[argIndex].Execute(c); var taken = 0; foreach (var item in iterable) { if (item == null) yield return null; else { yield return item; ++taken; if (taken == takeNumber) { c.Break(); break; } } } }}
Execute(SearchExpressionContext)
Execute a SearchEXpression givent a certain SearchContext Depending on flags the expression might be valuated in a worker thread (by default) or in the main thread. It returns a an enumerable list of SearchItem.
public IEnumerable<SearchItem> Execute(SearchExpressionContext c)
Parameters
SearchExpressionContext that will encapsulate all information relative to expression evaluation.
Returns
Type | Description |
|---|---|
| IEnumerable<SearchItem> | Returns an enumerable list of SearchItem. |
Examples
[SearchExpressionEvaluator(SearchExpressionType.Iterable | SearchExpressionType.Variadic)][SearchExpressionEvaluatorSignatureOverload(SearchExpressionType.Number, SearchExpressionType.Iterable | SearchExpressionType.Variadic)][Description("Extract and returns the X first results for each expression.")]public static IEnumerable<SearchItem> TakeXFirst(SearchExpressionContext c){ var argIndex = 0; var takeNumber = 1; if (c.args[0].types.HasFlag(SearchExpressionType.Number)) { ++argIndex; takeNumber = Math.Max((int)(c.args[0].GetNumberValue(takeNumber)), 0); } for ( ; argIndex < c.args.Length; ++argIndex) { var iterable = c.args[argIndex].Execute(c); var taken = 0; foreach (var item in iterable) { if (item == null) yield return null; else { yield return item; ++taken; if (taken == takeNumber) { c.Break(); break; } } } }}