什么时候Ruby对象需要被污染,什么时候应该解开它们?受污染对象的概念如何使Ruby脚本以安全模式运行?任何人都可以详细说明这一点,以便用一些代码片段清楚地理解这个概念吗?
试图解开Perl中的一些变量,以下代码很有用:
if ($year =~ /^(\d{4})$/) {
$year = $1;
} else {
&invalid("year");
}
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,如果有效,$ 1包含$ year.但是,使用?:运算符时,$ 1在有效时包含"1":
($year =~ /^(\d{4})$/) ? $year = $1 : &invalid("year");
Run Code Online (Sandbox Code Playgroud)
有人看到我可能有过错吗?我很困惑为什么会这样.它只发生在这台机器上.或者说,我已成功使用了?运算符用于返回多年的正确匹配变量.我还没有在任何其他机器上尝试过这段代码.
This is Perl, v5.8.8 built for x86_64-linux-thread-multi
Run Code Online (Sandbox Code Playgroud)