Как сохранить и повторно использовать код утилиты Scala - PullRequest
6 голосов
/ 25 февраля 2012

Какой хороший подход для сбора и использования полезных функций утилит 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, Idea, Eclipse, с SBT или без него, с библиотекой, размещенной на GitHub, ect, может быстро ввести оптимальные и неоптимальные подходы к такой простой проблеме.

Ответы [ 2 ]

10 голосов
/ 25 февраля 2012

Возможно, вы захотите поместить такие методы в объект пакета .

Вы также можете поместить их в обычный object и импортировать все в объекте, когда вам нужны эти методы.

object Utilities {
  def toBinary(i: Int, digits: Int = 8) = // ...
}

// Import everything in the Utilities object
import Utilities._
1 голос
/ 25 февраля 2012

Если вы хотите, чтобы он был легко доступен из любой точки мира, вам лучше всего вставить его в банку с библиотекой scala. Лично у меня есть все мои собственные вещи в /jvm/S.jar (или что-то в этом роде), и я добавляю их в classpath каждый раз, когда мне это нужно.

Перепаковка фляги библиотеки Scala действительно проста - распакуйте ее, переместите иерархию классов и упакуйте ее снова. (Вы должны иметь его внутри некоторого пакета и / или объекта пакета.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...