回答
的時間函數可以被寫爲:
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