not.as

来自「用于flash/flex的 as3的 2D图形图像图表的动态生成」· AS 代码 · 共 80 行

AS
80
字号
package flare.query
{	
	/**
	 * Expression operator that returns the logical "not" of a sub-expression.
	 */
	public class Not extends Expression
	{
		private var _clause:Expression;
		
		/** The sub-expression clause to negate. */
		public function get clause():Expression { return _clause; }
		public function set clause(e:*):void { _clause = Expression.expr(e); }
		
		/**
		 * @inheritDoc
		 */
		public override function get numChildren():int { return 1; }
		
		/**
		 * Creates a new Not operator.
		 * @param clause the sub-expression clause to negate
		 */
		public function Not(clause:*) {
			_clause = Expression.expr(clause);
		}
		
		/**
		 * @inheritDoc
		 */
		public override function clone():Expression
		{
			return new Not(_clause.clone());
		}
		
		/**
		 * @inheritDoc
		 */
		public override function eval(o:Object=null):*
		{
			return predicate(o);
		}
		
		/**
		 * @inheritDoc
		 */
		public override function predicate(o:Object):Boolean
		{
			return !_clause.eval(o);
		}
		
		/**
		 * @inheritDoc
		 */
		public override function getChildAt(idx:int):Expression
		{
			return (idx==0 ? _clause : null);
		}
		
		/**
		 * @inheritDoc
		 */
		public override function setChildAt(idx:int, expr:Expression):Boolean
		{
			if (idx == 0) {
				_clause = expr;
				return true;
			}
			return false;
		}
		
		/**
		 * @inheritDoc
		 */
		public override function toString():String
		{
			return "NOT " + _clause.toString();
		}
		
	} // end of class Not
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?