seq`可以說我有以下幾點: f :: a -> b -> c
g :: b -> c
g = f 10
現在讓我們說f居然是: f x y = f1 x + y
請問: g `seq` ...
實際評估f1 10 ,所以後來運行時 g 9
它實際上只是一個簡單的加法? 如果不是,有沒有辦法「評估」部分應用函數的部分? 我正在尋找一個通用的解決方案,不需要知道如何f和g工作。
This FAQ的時間成本說 的序列運算符是 seq :: a -> b -> b
X seqŸ將評估X,足以確認這是不是底部,然後 丟棄結果並評估y。這可能看起來不太有用,但它 意味着保證x在考慮y之前被評估。 這是非常不錯的Haskell的,但它意味着,在 x `seq` f x
評估x的成本將支付兩次(「廢棄結果」)?
在zsh的,當我要創建一批具有zsh的文件,我通常是這樣的: for x in $(seq 1 1000); do .....; done
這工作正常,它給我的文件名稱爲foo-1.txt .. foo-1000.txt。 但是,這些文件排序不好,所以我想零填充$x變量,從而生成名稱foo-0001.txt .. foo-1000.txt。 如何在zsh中做到這一點? (和獎金的問題,該怎麼辦
Scala提供的類Option[T],Some[T] extends Option[T]和None extends Option[Nothing]一個層次,我發現有用的包裝Java方法調用,可以返回null,除其他事項外: val result = Option(someJavaMethodThatReturnsNull())
result的行爲類似於零個或一個項目的序列,具體取決於Java方
鑑於let ra = ResizeArray<int>(): Seq.forall (fun i ->
let q = i % 2
if 0 = q then ra.Add i
true) <| seq { 1..10 }
如果我這樣做,ra.Count回報5。 Seq.forall (fun i ->
let q = i
看完這兩個線程後:Does F# have an equivalent to Haskell's take?,Take N elements from sequence with N different indexes in F# ,我一直在想如何在列表上使用序列運算符或甚至使用它們。 我現在是F#的新手,我正在編寫一個程序,它必須處理大量從HtmlAgilityPack獲得的序列。在Seq模塊中
Play 2.0的Build.sbt使用pimped Project定義來發揮它的魔力;您可能需要添加的任何其他設置必須以k := v的方式手動輸入。對一般情況適用,但不適用於具體情況;即當需要設置一個總是爲Seq[Settings[_]]的sbt-plugin的設置時。以下是對可預見的工作 lazy val main = PlayProject(appName, appVersion, ....