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