_Core/Lang/Plugins/Parser/SortPlugin.cs
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComLib.Lang;
namespace ComLib.Lang.Extensions
{
/* *************************************************************************
<doc:example>
// Sort plugin allows you to sort a list
// Case 1: sort list of basic types
var numbers = [4, 3, 1, 7, 5, 2, 6];
sort numbers asc
sort numbers desc
// Case 2: start with source <books> and system auto creates variable <book>
var books = [
{ name: 'book 1', pages: 200, author: 'homey' },
{ name: 'book 2', pages: 120, author: 'kdog' },
{ name: 'book 3', pages: 140, author: 'homeslice' }
];
sort books by book.pages asc
sort books by book.pages desc
sort i in books by i.pages desc
</doc:example>
***************************************************************************/
/// <summary>
/// Combinator for handling comparisons.
/// </summary>
public class SortPlugin : ExprPlugin
{
private static string[] _tokens = new string[] { "sort", "Sort" };
private static IDictionary<Token, bool> _terminators;
private string _variableName;
private Expr _source;
private Expr _filter;
static SortPlugin()
{
_terminators = new Dictionary<Token, bool>();
_terminators[new IdToken("asc")] = true;
_terminators[new IdToken("desc")] = true;
}
/// <summary>
/// Initialize
/// </summary>
public SortPlugin()
{
_startTokens = _tokens;
后面还有 198 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
