通常,我使用\cs_new:Nn \module_function_name:n { Function got parameter: #1 }
。但是,现在我发现自己处于一种情况,我想定义一个根本不接受任何参数的函数。该函数应该封装一个功能,该功能确实使用一些 if 执行一些检查,如果这些检查失败,该函数将发出错误。因此,不需要输入。
但是,目前似乎不支持定义不接受任何参数的函数,因为这会导致错误:
\cs_new:Nn \module_my_func {
Function without parameter
}
更具体地说,错误是
LaTeX3 Error: Function '\module_my_func' contains no ':'.
因此,我的问题是:如何定义一个不带参数的函数?
答案1
事实证明,函数名称中允许使用空参数规范,这确实是声明不带参数的函数的正确方法。因此,只需在函数名称末尾添加“:”即可解决问题:
\cs_new:Nn \module_my_func: {
Function without parameter
}