版本:Unity 6 (6000.0)
语言英语
  • C#

SearchExpression.GetFormatString

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交的建议,但我们会阅读用户建议的每项更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,无法提交您的建议更改。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public static bool GetFormatString(Search.SearchExpression expr, out string formatStr);

参数

expr 要转换为格式字符串的表达式。
formatStr 提取的格式字符串。

返回

bool 如果已成功将 SearchExpression 转换为格式字符串,则返回 true。

说明

从给定表达式中提取格式字符串。此函数应用于从 SearchExpression 的输入参数中提取格式字符串。例如:计算器的 print{"this is it: @label"} 使用格式字符串作为其第一个参数。

[Description("Convert arguments to a string allowing you to format the result.")]
[SearchExpressionEvaluator(SearchExpressionType.Selector | SearchExpressionType.Text, SearchExpressionType.Iterable | SearchExpressionType.Literal | SearchExpressionType.Variadic)]
[SearchExpressionEvaluatorSignatureOverload(SearchExpressionType.Iterable | SearchExpressionType.Literal | SearchExpressionType.Variadic)]
public static IEnumerable<SearchItem> FormatItems(SearchExpressionContext c)
{
    var skipCount = 0;
    if (SearchExpression.GetFormatString(c.args[0], out var formatStr))
        skipCount++;
    var items = c.args.Skip(skipCount).SelectMany(e => e.Execute(c));
    var dataSet = SearchExpression.ProcessValues(items, null, item => SearchExpression.FormatItem(c.search, item, formatStr));
    return dataSet;
}