Language agnostic “一词;但是";在编程中

Language agnostic “一词;但是";在编程中,language-agnostic,conditional,Language Agnostic,Conditional,这是非常初级的,但是如何将“but”表示为条件语句呢?语言真的不重要。我试着用代码解释它,但在研究时似乎找不到任何信息 例如,在伪代码中 I like Apples, but I like Washington apples more 我想不出任何上下文中“but”的意思不是“and”(除了它意味着一种矛盾感,但我不知道这会如何翻译成代码),所以只需使用语言的“and”-运算符,即对大多数语言来说是&&。是对一项知识的陈述,不是必须的。你说“我不喜欢豌豆,但有时我会把它们放在沙拉里吃” 像大

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

例如,在伪代码中

 I like Apples, but I like Washington apples more

我想不出任何上下文中“but”的意思不是“and”(除了它意味着一种矛盾感,但我不知道这会如何翻译成代码),所以只需使用语言的“and”-运算符,即对大多数语言来说是
&&

是对一项知识的陈述,不是必须的。你说“我不喜欢豌豆,但有时我会把它们放在沙拉里吃”

像大多数语言一样,命令式语言的编程是根据命令式命令完成的。“做X”。“如果X做Y”。与“但是”最接近的是
else
else if
,即:

if (value == 1)
{
   #do something
}
else
{
   #do something else
}
所以,如果我们给服务员下达命令,我们可能会把之前关于豌豆的声明信息(“我不喜欢豌豆,但有时我会在沙拉中吃它们”)变成命令“服务员,如果主菜沙拉中有豌豆,就上主菜,否则如果主菜只有豌豆,就不要上主菜”。在psuedocode中,如果我们的服务员(或计算机服务员)理解php5,则可能会显示:

if (entree->hasPeasInSalad())
{
    serve(entree);
}
else if (entree->isPeas())
{
    discard(entree);
}

我们在Ruby中有
除非
关键字,但我无法想象使用
但是
可能作为
其他

如果x小于5,则执行此操作;如果x大于5,则执行此操作


这句话纯粹是陈述性的,并没有说明喜欢苹果或其他东西的后果——不过我想它会是这样的

var degreeOfLikeness = neutral;

if (object.type = Apple) {
    degreeOfLikeness = like_Degree_5;
    if (object.spicies = "Washington")
        degreeOfLikeness = like_Degree_8;
}

if (degreeOfLikeness > like_Degree_2) {
    object.eat();
    if (degreeOfLikeness > like_Degree_6) {
      output.say("Ummm!!!");
    }
}

我认为将
但是
直接翻译成编程语言可能很难,但是(/咯咯笑)你可以看看具体的实例,找到一种翻译它们的方法

例如(使用之前海报上的小便示例)

你可以把这个理解为

I don't eat peas but I'll eat them in salads
根据这种解释,您可以将其视为一个特例,并将其编码为

if(hasPeas()) {
    if(inSalad()) {
        willEat();
    } else {
        willNotEat();
    }
}
你几乎可以把它想象成一个保护或边缘情况。例如,在读取文件时(使用非常糟糕的代码来说明此想法):

text=”“;
while(true){

虽然((count=canRead(fd))你能给我们一个完整的句子,用“但是”让我们翻译:)你的意思不清楚。如果你能给出一个真正有用的具体例子。“但是”我不确定是否可以精确地用数学表达。如果你能找到某个事物的数学表达式,很容易找到它的逻辑。但是,ASAIK不能总是用数学表达。你能给我们一个上下文吗?我在想——“我喜欢苹果,但我更喜欢芒果”.这就是你想要的吗?我在翻译“我喜欢苹果”时遇到的困难比其他任何东西都多。可能像
苹果=[Cox,Washington,Granny_Smith];like_for(苹果)>0&&like_for(华盛顿)>like_for(苹果);
。正如大家所说,“但是”的意义这与读者的预期相矛盾:他们认为你说的苹果是你喜欢的,但是你告诉他们你喜欢某种苹果。计算机一开始猜得不多,所以他们不需要更正他们的猜测。对我来说,这句话是关于偏好的。在这种情况下,它是正确的在代码中,你可能会认为它是
如果(isWashingtonApple){stuffyourself();}如果(isApple){eat();}如果(isApple){eat();}如果(isApple){eat();}其他{complainloudy();}
,但这只是我的看法。或者
如果$entre->isPeas())
而不是
hasPeas
?可能是因为php标签已经被编辑掉了,所以无辜的读者不希望对php5进行冗长的阐述。@Ingo我没有注意到它被删除了。我已经尝试删除了一些PHPIMs,只是使用了psuedocode。@Doug我想是的,正如您在编辑之前发布的那样。请注意,不是我这么做的我投了你的票,我只是想让你知道为什么其他人可能会投你的票。+1.这显然是正确的答案。“但是”的意思是“一”,就像“任何”的意思是“一”,但有一种矛盾感(“不是没有”和“一”,或者“不是没有”和“有”)。
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);
}