zoukankan      html  css  js  c++  java
  • 计划添加的复杂语法

    区域字段

    void substrig(params Range range) {}
    // 以上函数可以这样调用:
    
    //  最原始的调用方式。
    substring(  new Range( 1, 5  )  ) 
    
    // 通过命名参数调用。
    substring(  start:1,  end: 5  ) 
    substring(  start:1,  length: 4  ) 
    substring(   length: 4, end:1  ) 
    substring(  start:1  ) 
    substring(  end:4  ) 
    
    // 通过直接传参方式调用。
    substring(  1,  4  ) // 即 substring(  start:1,  length: 4  ) 
    substring(  1    )    // 即 substring(  start:1,  end: this.length  ) 

    只读属性

    class A{
       int _p;
       public int p {
          get{
             return _p;
          }
       }
    }

    以上代码简化为:

    class A{
       public int p get;
    }

    (内部使用 p 来读写字段)

    初始化值

    class A{
        int _value;
    
        public int value {
            get {
                if(_value == 0){
                     _value = loadValue();
                }
                return _value;
            }
        }
    
    }

    以上代码简化为:

    class A{
        public int value = once(loadValue());
    }

    子列表

    class A{
    
        public class IntCollection {
            A _owner;
            List<int> _items;
       
            public IntCollection(A owner){
                _owner = owner;
            }
    
            public void add(int item){
                 _owner.onAddItem(iterm);
                 _items.add(item);
            }
    
        }
    
        IntCollection _items;
        
        public A() {
            _items = new IntCollection(this);
        }
    
        public IntCollection items {
            get {
                return _items;
            }
        }
    
        protected virtual void onAddItem(Int item){
             // 对子元素进行管理
        }
    
    }

    以上代码简化为:

    class A{
        public List<int> items {
            add {
                  // 对子元素进行管理。使用 value 代表子元素
            }
        }
    }
  • 相关阅读:
    洛谷P2580(trie)
    bzoj4373:算数天才与等差数列
    校门外的树(3)
    Ubuntu系统配置的一些要点
    字符串hash
    洛谷P3387 缩点模板
    3dmax多个版本软件的安装包以及安装教程
    【3dsmax2016】安装图文教程、破解注册以及切换语言方法
    photoshop常用快捷键大全
    unity3d脚本语言中的引用类型
  • 原文地址:https://www.cnblogs.com/xuld/p/3391182.html
Copyright © 2011-2022 走看看