繁体   English   中英

OOP静态变量更改值

[英]OOP static variable changing value

我最近在漫画中遇到了这个代码,但我不理解。 有人可以向我解释一下吗? 有什么理由为什么变量应该更改其值?

static bool isCrazyMurderingRobot =  false;

void interact_with_humans(void) {
   if (isCrazyMurderingRobot = true)
      kill(humans);
   else 
      be_nice_to(humans)
}

这是漫画: http : //oppressive-silence.com/comics/oh-no-the-robots

原因可能是在许多编程语言中,通过使用==来检查是否相等,而使用单个=符号会将值分配给变量。

所以代码

if (isCrazyMurderingRobot = true)

会将true赋给变量,并且始终满足第一个条件(因为赋值的结果为true)。

正确的行是:

// use  '==' here instead of '=' to check if variable is set
// using a single '=' would assign the value instead
if (isCrazyMurderingRobot == true)

有关更多详细信息,请检查这些描述(它们适用于C#语言,但运算符在其他语言(如Java等)中的行为类似。)

赋值(=)运算符。
等于(==)运算符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM