mru*_*ueg 7 haskell scala naming-conventions
在Haskell中,当我需要快速工作函数或辅助值时,我通常使用'
广泛用于数学的prime().例如,如果我要编写一个reverse
函数并且需要一个尾递归工作器,我会命名它reverse'
.
在Scala中,函数名称不能包含'
.Scala中是否有任何常用的辅助函数和值的命名方案?
Kim*_*bel 13
为什么不在使用它的方法中声明方法?然后,您可以将其称为"帮助者"或任何您喜欢的,而不必担心名称冲突.
scala> def reverse[A](l:List[A]) = {
| def helper(acc:List[A],rest:List[A]):List[A] = rest match {
| case Nil => acc
| case x::xs => helper(x::acc, xs)
| }
| helper(Nil, l)
| }
reverse: [A](l: List[A])List[A]
scala> reverse(1::2::3::Nil)
res0: List[Int] = List(3, 2, 1)
Run Code Online (Sandbox Code Playgroud)
如果我记得2004年我参加的Martin Odersky的编程课程,我认为他使用了0
后缀作为辅助函数 - 在主函数体内定义.
def reverse(...) = {
def reverse0(...) = {
// ...
}
reverse0(...)
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1127 次 |
最近记录: |