-1
A
回答
5
也許你喜歡?
|> (not << Seq.isEmpty)
2
我可能會用你現在擁有的東西去。這取決於上下文 - 當這是一些較大的函數的結果,我覺得有以下看起來不錯:
let someFunction() =
someData
|> Some pipeline
|> Seq.isEmpty
|> not
如果我在其他一些情況下寫這個,我將最有可能定義一個局部變量並編寫是這樣的:
let local =
someData
|> Some pipeline
if not (Seq.isEmpty local) then
printfn "Not empty!"
在@卡斯滕的回答也很不錯,但我會有點擔心,它可能看起來怪異的人誰不熟悉這種編碼模式的想法。瞭解發生了什麼並不是很容易,在我看來。
0
我不會說。相反,儘量避免像Seq.isEmpty
,Seq.head
,Seq.skip
等功能時,他們破壞了懶惰或可能導致重複列舉的序列。 的原型實施Seq.isEmpty
也能像
let isEmpty (xs : _ seq)=
use en = xs.GetEnumerator()
not <| en.MoveNext()
從中可以看出,除了其創作(處置)枚舉有一次推進本身。如果你發現它不是空的,那麼當你以後將會重複使用這個序列。
這可以通過緩存來緩解(Seq.cache
),但是如果序列仍然是當前任務的正確數據結構,您可能會問。
相關問題
- 1. 是<iframe>不好的做法?
- 2. 更好的辦法來解決這個[INT] - >內部 - >內部
- 3. PHP類 - 更好的替代$ this-> base-> class->方法
- 4. 更好的辦法
- 5. 更好的辦法?
- 6. 更好的辦法
- 7. 寫更好的方法:SELECT * COUNT> 1
- 8. 更好的辦法
- 9. 什麼是更好的使用:>或> =優化
- 10. 有沒有更好的方法?委託 - >委託 - >委託
- 11. <div align="center"></div>這是不好的?
- 12. 最好的辦法是不是在(0,0)
- 13. >>> URI不是分層的
- 14. 更好<h:selectManyCheckbox>佈局?
- 15. 迭代IEnumerable <T>。最好的辦法?
- 16. 更好的辦法來OrderedDictionary轉換爲詞典<字符串,字符串>
- 17. Ant更好的方式來<sleep>,而不是跳過它
- 18. 最好的替代方法<a><li></li></a>?
- 19. 有沒有更好的方法來實現HashMap <String,List <HashMap <String,List <Details> >>>?
- 20. 將IEnumerable <T>注入類是不好的做法嗎?
- 21. PHP法() - >()的方法 - >法() - >
- 22. NUnit Assert.IsInstanceOf <T> - 沒有辦法確保不是派生類?
- 23. 更好的方式來使用IEnumerable <IEnumerable <string>>
- 24. 使用更好 - >而不是。在Objective-C中實現`copyWithZone:`方法?
- 25. iOS >> prepareForSegue >> IBOutlet更新不起作用?
- 26. PHP:是$ this-> something - >($ this-> foo) - > bar合法嗎?
- 27. 使用getline而不是cin >>
- 28. `operator >>'不是`Instance'的成員
- 29. AngularJS - MD-COLS-XL是相同MD-COLS-GT-MD - 應>不> =
- 30. 的好辦法
謝謝,它更好 – demas