我见过的所有编程语言都有类似的条件语句和循环语句:if
语句,switch
语句在很多语言中共享(奇怪的Python没有switch
声明。循环相同:for
(in
)和(do
)while
循环由许多语言使用。
让我想知道:是否有任何语言定义其他条件语句或循环语句(基于新颖的想法,而不仅仅是重命名的if
)?
我能想到三元运算符? :
,但我很好奇是否有任何语言以条件方式/循环方式与标准方式不同。
答案 0 :(得分:0)
Python可能没有内置的switch语句,但你仍然可以模拟一个。
switch = {1: func1, 2: func2, 3: func3} # case statements
switch.get(switchvar, default)() # default is used if the cases are not matched
这里有一些你可以用C ++做的有趣的事情(偶尔会有用):
// default
template <int i> void int_switch()
{
std::cout << i << '\n';
}
// case 1
template<> void int_switch<1>()
{
std::cout << "one\n";
}
// case 2
template<> void int_switch<2>()
{
std::cout << "two\n";
}
const int switch_var = 3;
int_switch<switch_var>(); // Outputs "3\n"
当然,这仅在模板参数是常量表达式时有效,因此使用const int
而不仅仅是int
。