【发布时间】:2013-05-01 14:59:18
【问题描述】:
是否可以使用“for 循环”样式语法创建函数?如果是这样,那这种风格的函数会被称为什么?
例如,for 循环遵循以下语法:
for(i = 0; i < 10; i++)
{
//do something
}
是否可以用任何语言创建自己的函数,例如,称为“myFunction”的函数可以这样调用:
myFunction(x; y; z)
{
//do something
}
(注意函数输入的分号而不是逗号,然后是块包装器)
通常在编程语言中,您只能创建一个函数并像这样调用它:
myFunction(input1, input2, input2);
所以基本上我希望能够创建一个接受输入的函数,用分号和代码块分隔,就像 for 循环一样。这可能吗?这叫什么?
编辑 - 澄清:我不想编写一个运行循环的快捷函数。我正在寻找编写一个组合函数,从语法的角度来看,它看起来像一个 for 循环。但是,组合函数永远不会调用“for”或出于任何原因。
编辑 - 这可以在“编译器”级别实现吗?我了解 JavaScript 中最接近的内容如下(但它不像 for 那样干净):
myFunction(x, y, z, function()
{
//do something
});
【问题讨论】:
-
“不,你不能那样做”...
-
您标记了两种不同的编程语言。你问的是哪一个?
-
如果您能解释为什么要这样做,那么人们可能会有一些替代建议。
-
虽然你不能这样做,但你可以使用 [].map 在私有范围内进行迭代。
-
@squint 两种语言