我知道「xs」可以用來表示列表中其餘元素 ,但我完全不知道「ls」在Haskell中的含義是什麼?「ls」在Haskell中的含義是什麼?
回答
ls
不是預定義的東西。無論你如何綁定它,就像xs
。
舉例來說,我想你已經看到的例子是這樣的:
sum [] = 0
sum (x:xs) = x + sum xs
變量xs
,你就在這裏定義,得到勢必(會有的值)列表的其餘部分因爲模式(x:xs)
。但是,這同樣可以被寫爲:
sum [] = 0
sum (l:ls) = l + sum ls
我們不喜歡叫可變l
雖然,因爲它是與數字1
(甚至管上真的搞砸了字體符號|
)容易混淆。
我們甚至可以這樣寫:
sum [] = 0
sum (head:tail) = head + sum tail
,我們重用的內置功能,前奏和head
的tail
名稱,但這樣勢必會導致混亂。
用於命名列表變量的haskell中的經驗法則是添加一個-s,就像在英語中使用常規復數一樣。所以如果你有一個名單x
元素,你的名字是xs
。如果您有l
,則l
的列表將爲ls
。
這是完全一樣的東西。關於名稱xs沒有什麼特別的;它只是約定來分別命名列表x和xs,a和as,l和ls等的頭部和尾部。
我使用ls
而不是xs
作爲l ists的特例。
我使用'xss'作爲:) – 2012-04-29 19:09:21
@benmachine:也許我已經做了太多的web工作,但是我不能在不考慮跨站腳本的情況下查看'xss':P。 – 2012-05-01 00:08:23
- 1. Haskell Prelude中'const'的含義是什麼?
- 2. Haskell中「fac」的含義是什麼?
- 3. Haskell中「〜」的含義是什麼?
- 4. ls/nosuchdir 2> error.file在unix/linux中的含義是什麼?
- 5. '#type'在Haskell外部函數接口中的含義是什麼?
- 6. <$>在Haskell中的含義是什麼?
- 7. 什麼是LS-F(LS --classify)
- 8. 運行後符號的含義是什麼:ls in Vim?
- 9. Haskell中=>符號的含義是什麼?
- 10. 「!!」的含義在Haskell
- 11. 是什麼()在Haskell
- 12. BackoffMultiplier在DefaultRetryPolicy中的含義是什麼?
- 13. arg在WordPress中的含義是什麼
- 14. {}在perl中的含義是什麼?
- 15. _._在包裝中的含義是什麼?
- 16. 'AS'在SQL中的含義是什麼?
- 17. 「**」在ANT中的含義是什麼?
- 18. $ parent在AngularJS中的含義是什麼?
- 19. #arr [*]在bash中的含義是什麼?
- 20. WS在WCF中的含義是什麼?
- 21. @「../ ..」在路徑中的含義是什麼?
- 22. $$在JavaScript中的含義是什麼?
- 23. TREESAME在git中的含義是什麼?
- 24. 「%」在Fortran中的含義是什麼?
- 25. html.oldie在CSS中的含義是什麼?
- 26. BUGBUG在minwindef.h中的含義是什麼?
- 27. 「EGPCS」在PHP中的含義是什麼?
- 28. 「=>」在JavaScript中的含義是什麼?
- 29. 什麼是** xyz在python中的含義?
- 30. $ _在PowerShell中的含義是什麼?
如果你正在解構一個列表'(h :: ls)',那麼它意味着同樣的事情。 's'後綴只是命名列表尾部的常用約定。 – Lee 2012-04-29 11:57:52
@李:在Haskell它是'(h:ls)'。 '::'是ML,O'Caml等的缺點 – amindfv 2012-04-29 12:04:07
「ls」在Haskell中沒有內在含義。 – 2012-04-29 23:36:54