首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编程中的“但是”一词

编程中的“但是”一词
EN

Stack Overflow用户
提问于 2012-01-07 01:20:05
回答 6查看 229关注 0票数 3

这是非常初级的,但是如何将“但是”表达为条件语句?语言真的不重要。我试图用代码来解释它,但在研究时似乎找不到任何信息。

例如在伪代码中

代码语言:javascript
复制
 I like Apples, but I like Washington apples more
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-01-11 02:55:38

我认为从but到编程语言的字面翻译可能很难,但是(/chuckle)您可以查看特定的实例并找到一种方法来翻译它们。

例如(使用上一张海报的pees示例)

代码语言:javascript
复制
I dislike peas but I'll sometimes eat them in salads

您可以将其理解为

代码语言:javascript
复制
I don't eat peas but I'll eat them in salads

根据这种解释,您可以将其视为特殊情况,并按如下方式进行编码

代码语言:javascript
复制
if(hasPeas()) {
    if(inSalad()) {
        willEat();
    } else {
        willNotEat();
    }
}

您几乎可以将其视为保护或边缘情况。例如,在读取文件时(使用非常糟糕的代码来说明想法):

代码语言:javascript
复制
text = "";
while(true) {
    while((count = canRead(fd)) <= 0) { // nothing to read
        if(count == EOF) { // EOF is a magic value meaning there will never be more to read
            return text;
        }
        wait(1000); // wait a bit to see if more text shows up to read
    }
    text += read(fd, count);
}
票数 2
EN

Stack Overflow用户

发布于 2012-01-07 01:23:23

我想不出任何上下文中“但是”的意思不是“和”(除了它暗示着一种自相矛盾的感觉,但我不知道如何将其转化为代码),所以只使用语言的“和”-operator,即大多数语言的&&

票数 3
EN

Stack Overflow用户

发布于 2012-01-07 01:26:30

“但是”是关于一段知识的声明式的,而不是强制性的。你说“我不喜欢豌豆,但我有时会把它们放在沙拉里吃”。

在命令式语言中编程,就像大多数都是通过命令式命令来完成的。"Do X“。"If X do Y“。最接近“但是”的词应该是elseelse if,例如:

代码语言:javascript
复制
if (value == 1)
{
   #do something
}
else
{
   #do something else
}

因此,如果我们向服务员发出命令式指令,我们可能会更早地将关于豌豆的声明信息(“我不喜欢豌豆,但我有时会在沙拉中吃它们”)转变为命令“服务员,如果entree在沙拉中有豌豆,那么上entree,否则如果entree只有豌豆,那么不要上entree”。在psuedocode中,如果我们的服务员(或计算机服务员)理解php5,这可能是这样的:

代码语言:javascript
复制
if (entree->hasPeasInSalad())
{
    serve(entree);
}
else if (entree->isPeas())
{
    discard(entree);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8761752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档