You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NASM宏语言:如何判断参数非数值或小于1并抛出错误

NASM宏:参数非数值或小于1的校验实现

NASM没有直接提供%if_not_num指令,但可以通过对内置的%ifnum取反来实现“非数值”的判断。要实现「参数非数值」或「数值小于1」时抛出错误的逻辑,只需将两个条件用逻辑或(||)组合即可。

修改后的宏代码如下:

%macro my_macro 1
    %if !%ifnum %1 || %1 < 1
        %error "参数1必须是大于等于1的整数常量"
    %endif
%endmacro

逻辑说明:

  • !%ifnum %1:对%ifnum %1的结果取反,判断参数%1不是一个可带正负号的整数常量
  • ||:逻辑或运算符,只要两个条件任意一个成立,就会执行%error抛出错误
  • %1 < 1:判断参数的整数值小于1的情况

注意:%ifnum仅能检测整数常量,如果参数是表达式、符号或字符串,都会被判定为非数值,刚好符合需求。

内容的提问来源于stack exchange,提问作者user4035

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 16:39:20