在项目中收集和使用有用的Scala实用程序函数的好方法是什么。这里的重点是非常简单的独立功能,如:
def toBinary(i: Int, digits: Int = 8) =
String.format("%" + digits + "s", i.toBinaryString).replace(' ', '0')
def concat(ss: String*) = ss filter (_.nonEmpty) mkString ", "
concat: (ss: String*)String
这个问题是基本的,我知道;-)但是,我知道总有一种最佳的方法可以做某事。例如,重用Scala交互式shell中的代码,Idea,Eclipse,有或没有SBT,将库放在GitHub等上,可以快速为这样一个简单问题引入最佳和非最佳方法。
答案 0 :(得分:9)
您可能希望将此类方法放在package object。
中您还可以将它们置于普通object
中,并在需要这些方法时导入对象中的所有内容。
object Utilities {
def toBinary(i: Int, digits: Int = 8) = // ...
}
// Import everything in the Utilities object
import Utilities._
答案 1 :(得分:1)
如果您希望从任何地方都可以轻松访问它,那么最好的办法就是将它粘贴在scala-library jar中。就个人而言,我在/jvm/S.jar
(或类似的东西)中拥有我所有的自定义内容,并在每次需要时将其添加到类路径中。
重新打包Scala库jar非常简单 - 解压缩,移动类层次结构,然后重新打包。 (你应该将它放在一些包和/或包对象中。)