问题标签 [undef]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 即使定义被注释掉,是否真的有必要明确定义“取消定义”?
我在执行此代码时遇到了一些问题:
即使“TRACE”在上面被注释掉了,就在一大块一般性评论之后,这种情况还是发生了:
一旦我在它下面添加了这个:
......所以它是:
...不过,它可以按需要工作(“#if TRACE”代码不执行)。
是否真的有必要取消定义尚未定义的东西(被注释掉)?这似乎很奇怪。
regex - 使用 perl 的多个正则表达式
嗨,这个网站已经帮助我几次解决我在 perl 中的问题。这是我第一次不得不问一个问题,因为我在谷歌和堆栈溢出上都找不到答案。
我要做的是获取两个单词之间的内容。但他们必须匹配的模式正在发生变化。我正在尝试获取产品详细信息。品牌、描述、名称等。我试图一个接一个地进行正则表达式匹配,但不幸的是这不起作用,因为 $1 保持定义。尝试取消定义 $1 变量会给我错误消息“只读”,这是合乎逻辑的。我将在下面发布我的代码,也许有人有一个如何使其工作的想法。
有什么建议么?
excel - Spreadsheet::ParseExcel $cell->value() 返回 undef
我是 perl 新手,并且在使用电子表格 excel 解析器模块时遇到了问题。
当我在自己的行上使用 $cell->value() 时,似乎没有问题,但是当我尝试使用它将值插入数组时,它返回 undef,代码如下所示:
这里打印 $cell->value; 返回单元格的内容但打印 Dumper $line; 返回 undef
c# - 似乎在 #if false 块内评估预处理器代码
我正在通过 MonoDevelop 4.0.1(Unity 的当前版本)在 C# 中工作,并且遇到了一种看似奇怪的语言。
这是我的整个 .cs 文件:
我了解在声明令牌后不使用预处理器符号的规则,但在#undef
这种情况下,我不知道 #undef
,因为.#undef
#if false
这个例子并不是完全人为的,它试图通过这里描述的方法来获得一个在 C# 和 C++ 中编译的源文件。
xml - DateTime::Format::Strptime::new 的“模式”参数(undef)是一个“undef”,它不是允许的类型之一:标量标量
我目前在本地机器上显示 perl cgi 脚本浏览器时遇到问题(http://localhost:8080/Monitoring/www/user_status.xml.pl?user=xxxxxx)。由于这是 Perl 的第一次安装,我知道可能缺少库,所以我通过将所需的“pm”拉到我的本地机器(从 cgi 运行良好的公司 Ubuntu 服务器)来弥补,然后重新启动 Apache 以获取最新修复。当我解决“无法定位...”问题时,一切看起来都很好,直到我遇到以下问题。
在我看来,Perl 库存在内部问题并抱怨自己的代码。在 Google 上进行了搜索,找不到有关标题中描述的问题的任何解决方案/建议。在我看来,这不像是缺少图书馆的问题。
任何人都知道这里有什么问题,我能做些什么来解决它?
干杯戴尔
compiler-errors - LLVM中的毒值和未定义值
LLVM 引入了“毒物价值”的概念,我永远无法确定理解。例如,对于语句
如果%x+1
严格大于最大的 i32 整数,则将任意值分配给 %add。声称上面的陈述,即 %add = add nsw i32 %x, 1
,可以在语义上描述为:
?
perl - Perl 中的布尔函数应该返回什么值?
简短的问题
在 Perl 代码库中一致地表示真假的最佳方法是什么?
1
/0
?1
/ Perl 的本机布尔运算符
返回的特殊空字符串?undef
?()
(即空列表)?
问题背景
我们都知道 Perl 在布尔值方面非常灵活,就像在大多数情况下一样。
例如,Perl 将以下内容视为 false:、undef()
数字0
(即使写为 000 或 0.0)、空字符串'0'
(包含单个 0 数字的字符串)。Perl 将以下内容视为 true:任何其他标量值、, 1
、-1
其中带有空格的字符串 ( ' '
)、'00'
字符串中的多个 0、"0\n"
('0' 后跟换行符)、, ,'true'
等。另外,数组-到标量和列表到标量的转换意味着您通常可以避免使用空数组作为假值。(感谢http://perlmaven.com/boolean-values-in-perl获取被 Perl 接受为真或假的标量值的部分列表。)'false'
'undef'
但是考虑到所有这些被视为真或假的值,Perl 布尔函数应该返回什么?
1/0
-1/0
(不)1/undef
1/""
如果您使用这些约定中的任何一种,您将很快发现您编写的代码的行为不如普通 Perl 代码好。您将无法替换$a<$b
为custom_less_than($a,$b)
并使其工作完全相同。
考虑:
当您自己编写时,从 Perl 中的布尔函数返回值的最著名方法是什么?
也许您希望您的代码与 Perl 类似,可以替代 Perl 现有的布尔运算符。或者您可能想要像 1/0 这样的数值。或者您可能来自 LISP,并期望 Perlundef
被用于 LISP 的nil
false(但随后您会绊倒 Perl 将许多其他值视为 false 的隐式处理)。
perl - Perl `defined' 和 `undef' 子例程范围
请看下面的代码:
输出是
第一条print
语句可以打印,这是否意味着解释器(或编译器?)进一步查看并看到子例程定义?如果是这样,为什么它不将第二个语句undef &myf;
视为第二个print
语句?
谢谢
perl - 为什么打开undef不会失败?
这段代码像我期望的那样死掉:
但这不会:
这里发生了什么?
arrays - 如何使阵列中的 STDIN 停止?(PERL)
我的@array 不会停止接受标准输入...