Hacker News new | ask | show | jobs
by pathikrit 4342 days ago
Quite trivial in idiomatic Scala:

  case class Goal(count: Int) {
    def apply() = Goal(count + 1)
    def apply(s: String) = s"g${"o" * count}$s"
  }

  object Goal {
    def g() = Goal(1)
  }

Non-idiomatic shorter answer:

  case class g(p: String = "go") {
    def apply() = g(p + "o")
    def apply(s: String = "o") = p + s
  }
2 comments

This looks great! Can you submit a pull request? These things are coming in really fast and its way easier to take that way.
Also add

g(s: String) = "gal"

to handle the case of no 'o's.