_Core/Lang/Plugins/Parser/DayPlugin.cs

(开头部分) 4KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ComLib.Lang;


namespace ComLib.Lang.Extensions
{

    /* *************************************************************************
    <doc:example>	
    // Day plugin allows days of the week to be used as words. 
    // lowercase and uppercase days are supported:
    // 1. Monday - Sunday
    // 2. monday - sunday
    // 3. today, tomorrow, yesterday
    
    var day = Monday;
    var date = tomorrow at 3:30 pm;
    
    if tommorrow is Saturday then
	    print Thank god it's Friday
    </doc:example>
    ***************************************************************************/

    /// <summary>
    /// Combinator for handling days of the week.
    /// </summary>
    public class DayPlugin : ExprPlugin
    {
        private static Dictionary<string, DayOfWeek> _days;
        private static Dictionary<string, Func<DateTime>> _dayAliases;


        static DayPlugin()
        {
            _days = new Dictionary<string, DayOfWeek>();            
            _days["monday"]     = DayOfWeek.Monday;
            _days["tuesday"]    = DayOfWeek.Tuesday;
            _days["wednesday"]  = DayOfWeek.Wednesday;
            _days["thursday"]   = DayOfWeek.Thursday;
            _days["friday"]     = DayOfWeek.Friday;
            _days["saturday"]   = DayOfWeek.Saturday;
            _days["sunday"]     = DayOfWeek.Sunday;

            _dayAliases = new Dictionary<string, Func<DateTime>>();
            _dayAliases["today"]     = () => DateTime.Now;
            _dayAliases["yesterday"] = () => DateTime.Now.AddDays(-1);
            _dayAliases["tomorrow"] = () => DateTime.Now.AddDays(1);
        }


        private static string[] _tokens = new string[]
        { 
            "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday",
            "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday",

            "today", "tomorrow", "yesterday",
            "Today", "Tomorrow", "Yesterday"
后面还有 82 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。