找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

查看: 59|回复: 0

[分享] 定义一个NaN的数据类型

[复制链接]
  • TA的每日心情
    开心
    2025-2-4 10:31
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    2

    主题

    4

    回帖

    54

    积分

    3期培训会员

    积分
    54
    来自: 中国广东东莞
    发表于 2025-4-8 09:39:47 | 显示全部楼层 |阅读模式 来自: 中国广东东莞
    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    本帖最后由 HeavenZone 于 2025-4-8 09:43 编辑

    aardio有必要定义这么一个NaN吗?还是已经有类似的?

    [AAuto] 纯文本查看 复制代码
    import console.int;
    
    var NaN = {	
    	show = false;
    		@{
    		_type = "number";
    	    	_get = function() {
                	return "NaN"
            	}; 
            	_tostring = function(show) {
                	if(owner.show) {
                		return "NaN";
                	}
                	if(show) {
                		return "NaN";
                	}
                	return ""
            	}; 
    		_add = function(b) { return owner;}
    		_sub = function(b) { return owner;}
    		_mul = function(b) { return owner;}
    		_div = function(b) { return owner;}
    		_mod = function(b) { return owner;}
    		_pow = function(b) { return owner;}
    		_unm = function(b) { return owner;}
    		_len = function() {return 0;}
    		_tonumber = function() { return 0; }
    		_concat = function(b) { 
    			return tostring(owner) ++ b 
    		}
    	};	
    }
    
    
    console.log("NaN =",  NaN)  
    console.log("NaN len = ",  #NaN)  
    console.log(" =============================")
    console.log("NaN tostring =", tostring(NaN))  
    console.log("NaN tostring show =", tostring(NaN, true))  
    console.log("NaN tonumber =", tonumber(NaN))  
    console.log(" =============================")
    console.log( type(NaN) ) 
    
    console.log(type.rget(NaN) == type.number)
    console.log(type.rget(NaN))
    console.log(" =============================")
    var test2 = NaN + 2 -3
    console.log("test 2 = ", tostring(test2, 1 ))
    console.log("test 2 = ", NaN ++ "a")
    console.log(" =============================")
    NaN.show = true;
    console.log("NaN.show = true: NaN tostring =", tostring(NaN)) 
    console.log("NaN.show = true: test 2 = ", NaN ++ "a")
    console.log(" =============================")
    NaN.show = false;
    console.log("NaN.show = false: NaN tostring =", tostring(NaN)) 
    console.log("NaN.show = false: test 2 = ", NaN ++ "a")


    输出

    [AAuto] 纯文本查看 复制代码
    NaN =
    NaN len =       0
     =============================
    NaN tostring =
    NaN tostring show =     NaN
    NaN tonumber =  0
     =============================
    table   number
    true
    number
     =============================
    test 2 =        NaN
    test 2 =        a
     =============================
    NaN.show = true: NaN tostring = NaN
    NaN.show = true: test 2 =       NaNa
     =============================
    NaN.show = false: NaN tostring =
    NaN.show = false: test 2 =      a
    请按任意键继续 ...


    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|非业余 - aardio 编程语言 - 非官方问答社区 知道创宇云防御

    GMT+8, 2025-4-18 14:36 , Processed in 0.132309 second(s), 27 queries .

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表