2008年4月3日

Series函數:取得資訊

index?用來取得目前位置索引值。

offset?計算兩個索引值的差距。其實相當於「第二個引數的索引值」減掉「第一個引數的索引值」。

想知道是否在頭的位置,使用head?。

想知道是否在尾的位置,使用tail?。

length?計算剩下的個數(目前的位置算在內,但tail不算)。

想知道是否為空,可以判斷是否為尾端,或者length?是否為零,或者直接使用empty?。雖然tail?和empty?的作用一樣(事實上,empty?和tail?是完全相同的函數,所以「same? :empty? :tail?」會得到「true」),但是意義不同,寫程式時最好選擇正確意義者,以方便他人閱讀理解。

想判斷是否超過尾端,用past?。補充說明:為何會超出尾端?

(待解問題:用empty?判斷指向past的位置,會如何?)

沒有留言: