Packages

o

scala

Console

object Console extends DeprecatedConsole with AnsiColor

Implements functionality for printing Scala values on the terminal. For reading values use StdIn. Also defines constants for marking up text on ANSI terminals.

Console Output

Use the print methods to output text.

scala> Console.printf(
  "Today the outside temperature is a balmy %.1f°C. %<.1f°C beats the previous record of %.1f°C.\n",
  -137.0,
  -135.05)
Today the outside temperature is a balmy -137.0°C. -137.0°C beats the previous record of -135.1°C.

ANSI escape codes

Use the ANSI escape codes for colorizing console output either to STDOUT or STDERR.

import Console.{GREEN, RED, RESET, YELLOW_B, UNDERLINED}

object PrimeTest {

  def isPrime(): Unit = {

    val candidate = io.StdIn.readInt().ensuring(_ > 1)

    val prime = (2 to candidate - 1).forall(candidate % _ != 0)

    if (prime)
      Console.println(s"${RESET}${GREEN}yes${RESET}")
    else
      Console.err.println(s"${RESET}${YELLOW_B}${RED}${UNDERLINED}NO!${RESET}")
  }

  def main(args: Array[String]): Unit = isPrime()

}

$ scala PrimeTest
1234567891
yes
$ scala PrimeTest
56474
NO!

IO redefinition

Use IO redefinition to temporarily swap in a different set of input and/or output streams. In this example the stream based method above is wrapped into a function.

import java.io.{ByteArrayOutputStream, StringReader}

object FunctionalPrimeTest {

  def isPrime(candidate: Int): Boolean = {

    val input = new StringReader(s"$candidate\n")
    val outCapture = new ByteArrayOutputStream
    val errCapture = new ByteArrayOutputStream

    Console.withIn(input) {
      Console.withOut(outCapture) {
        Console.withErr(errCapture) {
          PrimeTest.isPrime()
        }
      }
    }

    if (outCapture.toByteArray.nonEmpty) // "yes"
      true
    else if (errCapture.toByteArray.nonEmpty) // "NO!"
      false
    else throw new IllegalArgumentException(candidate.toString)
  }

  def main(args: Array[String]): Unit = {
    val primes = (2 to 50) filter (isPrime)
    println(s"First primes: $primes")
  }

}

$ scala FunctionalPrimeTest
First primes: Vector(2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47)

Source
Console.scala
Since

1.0

Linear Supertypes
AnsiColor, DeprecatedConsole, AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. Console
  2. AnsiColor
  3. DeprecatedConsole
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Console Output

These methods provide output via the console.

  1. def flush(): Unit

    Flushes the output stream.

    Flushes the output stream. This function is required when partial output (i.e. output not terminated by a newline character) has to be made visible on the terminal.

  2. def print(obj: Any): Unit

    Prints an object to out using its toString method.

    Prints an object to out using its toString method.

    obj

    the object to print; may be null.

  3. def printf(text: String, args: Any*): Unit

    Prints its arguments as a formatted string to the default output, based on a string pattern (in a fashion similar to printf in C).

    Prints its arguments as a formatted string to the default output, based on a string pattern (in a fashion similar to printf in C).

    The interpretation of the formatting patterns is described in java.util.Formatter.

    text

    the pattern for formatting the arguments.

    args

    the arguments used to instantiating the pattern.

    Exceptions thrown

    java.lang.IllegalArgumentException if there was a problem with the format string or arguments

  4. def println(x: Any): Unit

    Prints out an object to the default output, followed by a newline character.

    Prints out an object to the default output, followed by a newline character.

    x

    the object to print.

  5. def println(): Unit

    Prints a newline character on the default output.

IO Defaults

These values provide direct access to the standard IO channels

  1. def err: PrintStream

    The default error, can be overridden by withErr

  2. def in: BufferedReader

    The default input, can be overridden by withIn

  3. def out: PrintStream

    The default output, can be overridden by withOut

IO Redefinition

These methods allow substituting alternative streams for the duration of a body of code. Threadsafe by virtue of scala.util.DynamicVariable.

  1. def withErr[T](err: OutputStream)(thunk: ⇒ T): T

    Sets the default error stream for the duration of execution of one thunk.

    Sets the default error stream for the duration of execution of one thunk.

    err

    the new error stream.

    thunk

    the code to execute with the new error stream active

    returns

    the results of thunk

    See also

    withErr[T](err:PrintStream)(thunk: =>T)

  2. def withErr[T](err: PrintStream)(thunk: ⇒ T): T

    Set the default error stream for the duration of execution of one thunk.

    Set the default error stream for the duration of execution of one thunk.

    err

    the new error stream.

    thunk

    the code to execute with the new error stream active

    returns

    the results of thunk

    Example:
    1. withErr(Console.out) { err.println("This goes to default _out_") }
    See also

    withErr[T](err:OutputStream)(thunk: =>T)

  3. def withIn[T](in: InputStream)(thunk: ⇒ T): T

    Sets the default input stream for the duration of execution of one thunk.

    Sets the default input stream for the duration of execution of one thunk.

    in

    the new input stream.

    thunk

    the code to execute with the new input stream active

    returns

    the results of thunk

    See also

    withIn[T](reader:Reader)(thunk: =>T)

  4. def withIn[T](reader: Reader)(thunk: ⇒ T): T

    Sets the default input stream for the duration of execution of one thunk.

    Sets the default input stream for the duration of execution of one thunk.

    thunk

    the code to execute with the new input stream active

    returns

    the results of thunk

    Example:
    1. val someFile:Reader = openFile("file.txt")
      withIn(someFile) {
        // Reads a line from file.txt instead of default input
        println(readLine)
      }
    See also

    withIn[T](in:InputStream)(thunk: =>T)

  5. def withOut[T](out: OutputStream)(thunk: ⇒ T): T

    Sets the default output stream for the duration of execution of one thunk.

    Sets the default output stream for the duration of execution of one thunk.

    out

    the new output stream.

    thunk

    the code to execute with the new output stream active

    returns

    the results of thunk

    See also

    withOut[T](out:PrintStream)(thunk: => T)

  6. def withOut[T](out: PrintStream)(thunk: ⇒ T): T

    Sets the default output stream for the duration of execution of one thunk.

    Sets the default output stream for the duration of execution of one thunk.

    out

    the new output stream.

    thunk

    the code to execute with the new output stream active

    returns

    the results of thunk

    Example:
    1. withOut(Console.err) { println("This goes to default _error_") }
    See also

    withOut[T](out:OutputStream)(thunk: => T)

ANSI Style and Control Codes

  1. final val BLINK: String("\u001B[5m")

    ANSI blink

    ANSI blink

    Definition Classes
    AnsiColor
  2. final val BOLD: String("\u001B[1m")

    ANSI bold

    ANSI bold

    Definition Classes
    AnsiColor
  3. final val INVISIBLE: String("\u001B[8m")

    ANSI invisible

    ANSI invisible

    Definition Classes
    AnsiColor
  4. final val RESET: String("\u001B[0m")

    Reset ANSI styles

    Reset ANSI styles

    Definition Classes
    AnsiColor
  5. final val REVERSED: String("\u001B[7m")

    ANSI reversed

    ANSI reversed

    Definition Classes
    AnsiColor
  6. final val UNDERLINED: String("\u001B[4m")

    ANSI underlines

    ANSI underlines

    Definition Classes
    AnsiColor

ANSI Black

 

  1. final val BLACK: String("\u001B[30m")

    Foreground color for ANSI black

    Foreground color for ANSI black

    Definition Classes
    AnsiColor
  2. final val BLACK_B: String("\u001B[40m")

    Background color for ANSI black

    Background color for ANSI black

    Definition Classes
    AnsiColor

ANSI Red

 

  1. final val RED: String("\u001B[31m")

    Foreground color for ANSI red

    Foreground color for ANSI red

    Definition Classes
    AnsiColor
  2. final val RED_B: String("\u001B[41m")

    Background color for ANSI red

    Background color for ANSI red

    Definition Classes
    AnsiColor

ANSI Green

 

  1. final val GREEN: String("\u001B[32m")

    Foreground color for ANSI green

    Foreground color for ANSI green

    Definition Classes
    AnsiColor
  2. final val GREEN_B: String("\u001B[42m")

    Background color for ANSI green

    Background color for ANSI green

    Definition Classes
    AnsiColor

ANSI Yellow

 

  1. final val YELLOW: String("\u001B[33m")

    Foreground color for ANSI yellow

    Foreground color for ANSI yellow

    Definition Classes
    AnsiColor
  2. final val YELLOW_B: String("\u001B[43m")

    Background color for ANSI yellow

    Background color for ANSI yellow

    Definition Classes
    AnsiColor

ANSI Blue

 

  1. final val BLUE: String("\u001B[34m")

    Foreground color for ANSI blue

    Foreground color for ANSI blue

    Definition Classes
    AnsiColor
  2. final val BLUE_B: String("\u001B[44m")

    Background color for ANSI blue

    Background color for ANSI blue

    Definition Classes
    AnsiColor

ANSI Magenta

 

  1. final val MAGENTA: String("\u001B[35m")

    Foreground color for ANSI magenta

    Foreground color for ANSI magenta

    Definition Classes
    AnsiColor
  2. final val MAGENTA_B: String("\u001B[45m")

    Background color for ANSI magenta

    Background color for ANSI magenta

    Definition Classes
    AnsiColor

ANSI Cyan

 

  1. final val CYAN: String("\u001B[36m")

    Foreground color for ANSI cyan

    Foreground color for ANSI cyan

    Definition Classes
    AnsiColor
  2. final val CYAN_B: String("\u001B[46m")

    Background color for ANSI cyan

    Background color for ANSI cyan

    Definition Classes
    AnsiColor

ANSI White

 

  1. final val WHITE: String("\u001B[37m")

    Foreground color for ANSI white

    Foreground color for ANSI white

    Definition Classes
    AnsiColor
  2. final val WHITE_B: String("\u001B[47m")

    Background color for ANSI white

    Background color for ANSI white

    Definition Classes
    AnsiColor

Ungrouped

  1. def readBoolean(): Boolean
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  2. def readByte(): Byte
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  3. def readChar(): Char
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  4. def readDouble(): Double
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  5. def readFloat(): Float
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  6. def readInt(): Int
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  7. def readLine(text: String, args: Any*): String
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  8. def readLine(): String
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  9. def readLong(): Long
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  10. def readShort(): Short
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  11. def readf(format: String): List[Any]
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  12. def readf1(format: String): Any
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  13. def readf2(format: String): (Any, Any)
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  14. def readf3(format: String): (Any, Any, Any)
    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use the method in scala.io.StdIn

  15. def setErr(err: OutputStream): Unit

    Sets the default error stream.

    Sets the default error stream.

    err

    the new error stream.

    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use withErr

  16. def setErr(err: PrintStream): Unit

    Sets the default error stream.

    Sets the default error stream.

    err

    the new error stream.

    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use withErr

  17. def setIn(in: InputStream): Unit

    Sets the default input stream.

    Sets the default input stream.

    in

    the new input stream.

    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use withIn

  18. def setIn(reader: Reader): Unit

    Sets the default input stream.

    Sets the default input stream.

    reader

    specifies the new input stream.

    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use withIn

  19. def setOut(out: OutputStream): Unit

    Sets the default output stream.

    Sets the default output stream.

    out

    the new output stream.

    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use withOut

  20. def setOut(out: PrintStream): Unit

    Sets the default output stream.

    Sets the default output stream.

    out

    the new output stream.

    Definition Classes
    DeprecatedConsole
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use withOut