如果Y'任何语言都使用'做X句法?

时间:2014-04-28 03:44:43

标签: if-statement syntax programming-languages

出于好奇,有没有人知道使用“反向”if / then语句的语言?

例如,

if(a == b) {
    doC();
}

在大多数语言中都是

{
    doC();
} if(a == b)

用这种语言。

我知道它在大多数语言(例如C#,例如C#)中都无法正常执行,从左到右执行,但是否有使用或支持这种语法的语言?

4 个答案:

答案 0 :(得分:5)

当然,你可以在Perl中做到这一点。这样:

if (a == b) {
    doC();
}

可以这样写:

do {
  doC();
} if (a == b);

它通常用于使前提条件更容易阅读:

while (<>) {
  last if /<END>/;  # Exit loop if current line contains "<END>".
  print;
}

Ruby从Perl借用了这个功能。

答案 1 :(得分:1)

Python

中有A if cond else B声明

例如

print('kid') if age < 18 else print('adult')

答案 2 :(得分:1)

Ruby,Python(如LưuVĩnhPhúc所说)支持这种风格 这是Ruby的方式:

puts :hello if true

在Moonscript中有"line decorators"

print "hello world" if name == "Rob"

他们与Ruby的ifs略有不同,所以我将它们放入另一个类别。

另一组是基于连接或堆栈的编程语言。您可以阅读更多相关信息here 他们并没有完全按照你所描述的那样做,但他们很接近 在Factor中你可以写:

10 3 <
[ "yes" ]
[ "no" ]
if

我相信条件恰好在if之前的语法是可能的。在所有10 3 <被评估为f(因子的假值)后,所以f在堆栈中的位置无关紧要。

答案 3 :(得分:0)

php中的do while循环怎么样?当然,代码总是会在do循环中执行至少,但它会部分执行您可能要查找的内容。

<?php
$i = 0;
do {
    echo $i;
} while ($i > 0);
?>