def foldRight[B] (z : =>B) (f :(A, =>B) => B) :B
def headOptionViaFoldRight():Option[A]=foldRight(None:Option[A])((h,t)=> Some(h()))
def takeWhileViaFoldRight(f:A=>Boolean):Stream[A]=foldRight(Stream[A]())((h,t)=> Some(h))
def forAll(p:A=>Boolean):Boolean=foldRight(true)((a,b)=>p(a)&&b)
爲什麼無:HeadOptionViaFoldRight中的第一個參數中的選項[A]?Scala中的懶惰中的對角
爲什麼在[takeWhileViaFoldRight]的第一個參數中流[A]?
爲什麼真的在forAll的第一個參數?
只是混淆在foldRight的第一個參數中使用什麼?