@TeamPuzel
当编写 List 实现时,这成为像 或 :map``filter``fold
这样的函数的问题
fn first(self, where: fn(T) -> Bool) -> Maybe[T]:
for item in self:
if where(item): return Maybe[T](item)
return Maybe[T]()
fn first(self, where: fn(T) capturing -> Bool) -> Maybe[T]:
for item in self:
if where(item): return Maybe[T](item)
return Maybe[T]()
我需要为每个函数参数组合复制并粘贴每个方法,这很难维护。 我希望所有函数在存在时都能用作参数,但事实证明并非如此。