回答
的时间函数可以被写为:
let times act n =
for i in 1 .. n do
act()
和可被调用:
2 |> times (fun() -> printfn "Hello")
我认为他正在寻找lambda使用,我把printf作为lambda – 2009-12-27 15:38:57
@Scheffer:根据您的建议进行编辑。谢谢! :) – missingfaktor 2009-12-27 15:50:17
不完全是红宝石,但它会做 – Geo 2009-12-27 15:51:12
下面是一个使用的λ(基本上是红宝石块):
{1..2} |> Seq.iter (fun _ -> printfn "hello")
这里的Seq.iter
函数将lambda作为参数,它在每次迭代中执行。
lambda中的'_'是什么代表? – Geo 2009-12-27 16:08:24
这是一个通配符。 _将匹配任何值,并且是告诉编译器您不想使用此值的 的一种方式。 – missingfaktor 2009-12-27 16:31:39
+1 - 用于功能性风格,不是强制性风格 – 2009-12-27 19:17:42
我没有编译器,所以有人请修复它,如果它不编译。这是一种定义相应的F#扩展成员的方法。
type System.Int32 with
member this.Times(act) =
for i in 1..this do
act()
(2).Times (fun() -> printfn "Hello")
- 1. 如何重写这段代码?
- 2. 如何使用map和lambda函数重写这段代码?
- 3. 重新编写F#代码
- 4. 如何用STL重构这段代码?
- 5. 重写这段代码:点击的div
- 6. 如何写这段代码更干净
- 7. 如何在jquery中写这段代码?
- 8. 这段代码如何写得更好?
- 9. 如何让这段代码更具惯用的F#?
- 10. 如何将这段JavaScript重写到PHP?
- 11. 如何重构这段代码?
- 12. 我该如何重复这段代码?
- 13. 如何重构这段代码?
- 14. Rails 3 - 如何重构这段代码?
- 15. 你会如何重构这段代码?
- 16. 我该如何重构这段代码?
- 17. 如何重构这段代码?
- 18. 如何重新分解这段代码?
- 19. 你会如何重构这段代码?
- 20. 模态提示 - 如何重写这段代码?
- 21. 如何重写这段代码上证所内在
- 22. 我该如何重写这段代码才能按照预期使用plyr/ddply?
- 23. 如何在不使用`var`的情况下重写这段代码?
- 24. 如何写在F#此C#代码
- 25. 如何在F#中编写这个异步IO C#代码?
- 26. 如何使用jquery重写这个Javascript代码?
- 27. 如何编写单元测试代码,这段代码
- 28. 重写这个ajax代码?
- 29. 如何将这个Objective-C代码片段写入Swift?
- 30. 如何将这段代码写入PHP if语句?
@Geo:F#有非常不同的习语,不要试图像在Ruby中那样表达事物。 – 2009-12-27 15:52:38
@Mauricio:虽然有两次写“你好”的东西没什么特别的习惯。 – 2009-12-27 19:15:50
@Dmitri:Geo对Rahul的回答评论为“不太Ruby,但它会做”。所以我上面的评论。 – 2009-12-27 22:46:36