【发布时间】:2011-02-20 00:22:42
【问题描述】:
当我想重复执行 n 次时,我发现自己正在编写这样的代码:
for (i <- 1 to n) { doSomething() }
我正在寻找像这样的更短的语法:
n.times(doSomething())
Scala 中是否已经存在类似的东西?
编辑
我考虑过使用 Range 的 foreach() 方法,但是该块需要采用它从未使用过的参数。
(1 to n).foreach(ignored => doSomething())
【问题讨论】:
-
以要求您的代码读者理解您的个人 DSL 为代价来节省 5-6 个输入字符?我认为这是一个错误。
-
你可以最小化被忽略的东西:
1 to n foreach(_ => doSomething()) -
@Paul 真的不应该是个人 DSL。一种在数字上调用 times() 的方法在其他语言中很常见。
-
您为什么要多次致电
doSomething()?它总是会返回相同的Unit。 ;) -
所以这个问题的简短回答是:不。
标签: scala