Executable library: Difference between revisions
→{{header|Scala}}: migrate to Scala 2.13
No edit summary |
(→{{header|Scala}}: migrate to Scala 2.13) |
||
Line 1,819:
In Scala it is possible to combine several "main"s
(mixed-in by the App trait) in one file (e.g. HailstoneSequence.scala):
def hailstone(n: Int):
Hailstone.details(args.headOption.map(_.toInt).getOrElse(27))
Line 1,828 ⟶ 1,829:
object Hailstone extends App { // Compute a given or default number to Hailstone sequence
def details(nr: Int): Unit = {
val collatz = HailstoneSequence.hailstone(nr)
Line 1,835 ⟶ 1,836:
println(s"It has ${collatz.length} elements.")
}
details(args.headOption.map(_.toInt).getOrElse(27))
}
Line 1,843 ⟶ 1,845:
val (n, len) = (1 until 100000).map(n => (n, HailstoneSequence.hailstone(n).length)).maxBy(_._2)
println(s"Longest hailstone sequence length= $len occurring with number $n.")
}
▲}</lang>
</lang>
Steps:
|