这是非常初级的,但是如何将“但是”表达为条件语句?语言真的不重要。我试图用代码来解释它,但在研究时似乎找不到任何信息。
例如在伪代码中
I like Apples, but I like Washington apples more发布于 2012-01-11 02:55:38
我认为从but到编程语言的字面翻译可能很难,但是(/chuckle)您可以查看特定的实例并找到一种方法来翻译它们。
例如(使用上一张海报的pees示例)
I dislike peas but I'll sometimes eat them in salads您可以将其理解为
I don't eat peas but I'll eat them in salads根据这种解释,您可以将其视为特殊情况,并按如下方式进行编码
if(hasPeas()) {
if(inSalad()) {
willEat();
} else {
willNotEat();
}
}您几乎可以将其视为保护或边缘情况。例如,在读取文件时(使用非常糟糕的代码来说明想法):
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);
}发布于 2012-01-07 01:23:23
我想不出任何上下文中“但是”的意思不是“和”(除了它暗示着一种自相矛盾的感觉,但我不知道如何将其转化为代码),所以只使用语言的“和”-operator,即大多数语言的&&。
发布于 2012-01-07 01:26:30
“但是”是关于一段知识的声明式的,而不是强制性的。你说“我不喜欢豌豆,但我有时会把它们放在沙拉里吃”。
在命令式语言中编程,就像大多数都是通过命令式命令来完成的。"Do X“。"If X do Y“。最接近“但是”的词应该是else或else if,例如:
if (value == 1)
{
#do something
}
else
{
#do something else
}因此,如果我们向服务员发出命令式指令,我们可能会更早地将关于豌豆的声明信息(“我不喜欢豌豆,但我有时会在沙拉中吃它们”)转变为命令“服务员,如果entree在沙拉中有豌豆,那么上entree,否则如果entree只有豌豆,那么不要上entree”。在psuedocode中,如果我们的服务员(或计算机服务员)理解php5,这可能是这样的:
if (entree->hasPeasInSalad())
{
serve(entree);
}
else if (entree->isPeas())
{
discard(entree);
}https://stackoverflow.com/questions/8761752
复制相似问题