language-agnostic - "if"语句是否被视为方法?

标签 language-agnostic if-statement programming-languages conditional-statements

我的同行之间进行了有趣的讨论,即“if”语句是否被视为一种方法?尽管“if”附加了单词语句,但它的行为仍然类似于简单的非返回值方法。

例如:

if(myValue) //myValue is the parameter passed in
{
    //Execute
}

同样,方法可以执行相同的操作:

public void MyMethod(myValue)
{
    switch(myValue)
    {
        case true:
            //Logic
            break;
        case false:
            //Logic
            break;
    }
}

将“if”语句称为(考虑)编程语言中的简单预定义方法是否准确?

最佳答案

在 C、C++、C#、Java 等语言中,IF 是作为保留字实现的语句,是语言核心的一部分。在 LISP 系列编程语言中(想到了 Schema),IF 是一个表达式(意味着它返回一个值),并作为特殊形式实现。另一方面,在纯面向对象语言(例如 Smalltalk)中,IF 实际上是一种方法(更准确地说:一条消息),通常在 Boolean 类或其子类之一上实现。

底线:条件指令 IF 的真正本质取决于编程语言以及该语言的编程范例。

关于language-agnostic - "if"语句是否被视为方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8673759/

相关文章:

java - Java if 语句的简写形式

java - 员工入围

algorithm - 通过插入一个括号最大化表达式的计算

algorithm - 如何将无向图转换为没有循环的有向图(Directed acyclic graph)

vba - If 语句移动单元格

programming-languages - 编程语言如何保持向后兼容性并修复设计错误?

string - 如何找到给定输入中的所有循环移位字符串?

bash - tcsh 中的 IF 语句错误

language-agnostic - 哪些语言功能可以消除一整类错误?