final class NumericChar extends AnyVal
An AnyVal for numeric Chars.
Note: a NumericChar has a value between '0' and '9'.
Because NumericChar is an AnyVal it will usually
be as efficient as a Char, being boxed only when a
Char would have been boxed.
The NumericChar.apply factory method is implemented in terms
of a macro that checks literals for validity at compile time. Calling
NumericChar.apply with a literal Char value will
either produce a valid NumericChar instance at run time or an
error at compile time. Here's an example:
scala> import anyvals._
import anyvals._
scala> NumericChar('4')
res0: org.scalactic.anyvals.NumericChar = NumericChar('4')
scala> NumericChar('a')
<console>:14: error: NumericChar.apply can only be invoked on Char literals that are numeric, like NumericChar('4').
              NumericChar('a')
                         ^
NumericChar.apply cannot be used if the value being passed
is a variable (i.e., not a literal), because the macro cannot
determine the validity of variables at compile time (just literals).
If you try to pass a variable to NumericChar.apply, you'll
get a compiler error that suggests you use a different factory method,
NumericChar.from, instead:
scala> val x = '1'
x: Char = 1
scala> NumericChar(x)
<console>:15: error: NumericChar.apply can only be invoked on Char literals that are numeric, like NumericChar('4'). Please use NumericChar.from instead.
              NumericChar(x)
                         ^
The NumericChar.from factory method will inspect the value at
runtime and return an Option[NumericChar]. If the value is
valid, NumericChar.from will return a
Some[NumericChar], else it will return a None.
Here's an example:
scala> NumericChar.from(x)
res3: Option[org.scalactic.anyvals.NumericChar] = Some(NumericChar('1'))
scala> val y = 'a'
y: Char = a
scala> NumericChar.from(y)
res4: Option[org.scalactic.anyvals.NumericChar] = None
The NumericChar.apply factory method is marked implicit, so
that you can pass literal Chars into methods that require
NumericChar, and get the same compile-time checking you get
when calling NumericChar.apply explicitly. Here's an example:
scala> def invert(ch: NumericChar): Char = ('9' - ch + '0').toChar
invert: (ch: org.scalactic.anyvals.NumericChar)Char
scala> invert('1')
res6: Char = 8
scala> scala> invert('9')
res7: Char = 0
scala> invert('a')
<console>:12: error: NumericChar.apply can only be invoked on Char literals that are numeric, like NumericChar('4').
              invert('a')
                     ^
- Source
- NumericChar.scala
- Alphabetic
- By Inheritance
- NumericChar
- AnyVal
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- Any
 
-   final  def ##: Int- Definition Classes
- Any
 
-    def %(x: Double): DoubleReturns the remainder of the division of this value by x.
-    def %(x: Float): FloatReturns the remainder of the division of this value by x.
-    def %(x: Long): LongReturns the remainder of the division of this value by x.
-    def %(x: Int): IntReturns the remainder of the division of this value by x.
-    def %(x: Char): IntReturns the remainder of the division of this value by x.
-    def %(x: Short): IntReturns the remainder of the division of this value by x.
-    def %(x: Byte): IntReturns the remainder of the division of this value by x.
-    def &(x: Long): LongReturns the bitwise AND of this value and x.Returns the bitwise AND of this value and x.- (0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000 
 Example:
-    def &(x: Int): IntReturns the bitwise AND of this value and x.Returns the bitwise AND of this value and x.- (0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000 
 Example:
-    def &(x: Char): IntReturns the bitwise AND of this value and x.Returns the bitwise AND of this value and x.- (0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000 
 Example:
-    def &(x: Short): IntReturns the bitwise AND of this value and x.Returns the bitwise AND of this value and x.- (0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000 
 Example:
-    def &(x: Byte): IntReturns the bitwise AND of this value and x.Returns the bitwise AND of this value and x.- (0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000 
 Example:
-    def *(x: Double): DoubleReturns the product of this value and x.
-    def *(x: Float): FloatReturns the product of this value and x.
-    def *(x: Long): LongReturns the product of this value and x.
-    def *(x: Int): IntReturns the product of this value and x.
-    def *(x: Char): IntReturns the product of this value and x.
-    def *(x: Short): IntReturns the product of this value and x.
-    def *(x: Byte): IntReturns the product of this value and x.
-    def +(x: Double): DoubleReturns the sum of this value and x.
-    def +(x: Float): FloatReturns the sum of this value and x.
-    def +(x: Long): LongReturns the sum of this value and x.
-    def +(x: Int): IntReturns the sum of this value and x.
-    def +(x: Char): IntReturns the sum of this value and x.
-    def +(x: Short): IntReturns the sum of this value and x.
-    def +(x: Byte): IntReturns the sum of this value and x.
-    def +(x: String): StringPrepends this NumericChar's value to a string.
-    def -(x: Double): DoubleReturns the difference of this value and x.
-    def -(x: Float): FloatReturns the difference of this value and x.
-    def -(x: Long): LongReturns the difference of this value and x.
-    def -(x: Int): IntReturns the difference of this value and x.
-    def -(x: Char): IntReturns the difference of this value and x.
-    def -(x: Short): IntReturns the difference of this value and x.
-    def -(x: Byte): IntReturns the difference of this value and x.
-    def /(x: Double): DoubleReturns the quotient of this value and x.
-    def /(x: Float): FloatReturns the quotient of this value and x.
-    def /(x: Long): LongReturns the quotient of this value and x.
-    def /(x: Int): IntReturns the quotient of this value and x.
-    def /(x: Char): IntReturns the quotient of this value and x.
-    def /(x: Short): IntReturns the quotient of this value and x.
-    def /(x: Byte): IntReturns the quotient of this value and x.
-    def <(x: Double): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Float): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Long): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Int): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Char): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Short): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Byte): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <<(x: Long): IntReturns this value bit-shifted left by the specified number of bits, filling in the new right bits with zeroes. Returns this value bit-shifted left by the specified number of bits, filling in the new right bits with zeroes. - 6 << 3 == 48 // in binary: 0110 << 3 == 0110000 
 Example:
-    def <<(x: Int): IntReturns this value bit-shifted left by the specified number of bits, filling in the new right bits with zeroes. Returns this value bit-shifted left by the specified number of bits, filling in the new right bits with zeroes. - 6 << 3 == 48 // in binary: 0110 << 3 == 0110000 
 Example:
-    def <=(x: Double): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Float): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Long): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Int): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Char): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Short): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Byte): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-   final  def ==(arg0: Any): Boolean- Definition Classes
- Any
 
-    def >(x: Double): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Float): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Long): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Int): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Char): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Short): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Byte): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >=(x: Double): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Float): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Long): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Int): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Char): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Short): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Byte): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >>(x: Long): IntReturns this value bit-shifted left by the specified number of bits, filling in the right bits with the same value as the left-most bit of this. Returns this value bit-shifted left by the specified number of bits, filling in the right bits with the same value as the left-most bit of this. The effect of this is to retain the sign of the value. - -21 >> 3 == -3 // in binary: 11111111 11111111 11111111 11101011 >> 3 == // 11111111 11111111 11111111 11111101 
 Example:
-    def >>(x: Int): IntReturns this value bit-shifted left by the specified number of bits, filling in the right bits with the same value as the left-most bit of this. Returns this value bit-shifted left by the specified number of bits, filling in the right bits with the same value as the left-most bit of this. The effect of this is to retain the sign of the value. - -21 >> 3 == -3 // in binary: 11111111 11111111 11111111 11101011 >> 3 == // 11111111 11111111 11111111 11111101 
 Example:
-    def >>>(x: Long): IntReturns this value bit-shifted right by the specified number of bits, filling the new left bits with zeroes. Returns this value bit-shifted right by the specified number of bits, filling the new left bits with zeroes. - 21 >>> 3 == 2 // in binary: 010101 >>> 3 == 010 ,
- -21 >>> 3 == 536870909 // in binary: 11111111 11111111 11111111 11101011 >>> 3 == // 00011111 11111111 11111111 11111101 
 Examples:
-    def >>>(x: Int): IntReturns this value bit-shifted right by the specified number of bits, filling the new left bits with zeroes. Returns this value bit-shifted right by the specified number of bits, filling the new left bits with zeroes. - 21 >>> 3 == 2 // in binary: 010101 >>> 3 == 010 ,
- -21 >>> 3 == 536870909 // in binary: 11111111 11111111 11111111 11101011 >>> 3 == // 00011111 11111111 11111111 11111101 
 Examples:
-    def ^(x: Long): LongReturns the bitwise XOR of this value and x.Returns the bitwise XOR of this value and x.- (0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010 
 Example:
-    def ^(x: Int): IntReturns the bitwise XOR of this value and x.Returns the bitwise XOR of this value and x.- (0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010 
 Example:
-    def ^(x: Char): IntReturns the bitwise XOR of this value and x.Returns the bitwise XOR of this value and x.- (0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010 
 Example:
-    def ^(x: Short): IntReturns the bitwise XOR of this value and x.Returns the bitwise XOR of this value and x.- (0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010 
 Example:
-    def ^(x: Byte): IntReturns the bitwise XOR of this value and x.Returns the bitwise XOR of this value and x.- (0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010 
 Example:
-  def asDigit: Int
-  def asDigitPosZInt: PosZInt
-   final  def asInstanceOf[T0]: T0- Definition Classes
- Any
 
-    def getClass(): Class[_ <: AnyVal]- Definition Classes
- AnyVal → Any
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-  def max(that: NumericChar): NumericChar
-  def min(that: NumericChar): NumericChar
-    def toByte: ByteConverts this NumericCharto aByte.
-    def toChar: CharConverts this NumericCharto aChar.
-    def toDouble: DoubleConverts this NumericCharto aDouble.
-    def toFloat: FloatConverts this NumericCharto aFloat.
-    def toInt: IntConverts this NumericCharto anInt.
-    def toLong: LongConverts this NumericCharto aLong.
-    def toShort: ShortConverts this NumericCharto aShort.
-    def toString(): StringA string representation of this NumericChar.A string representation of this NumericChar.- Definition Classes
- NumericChar → Any
 
-    def unary_+: NumericCharReturns this value, unmodified. 
-    def unary_-: NegZIntReturns the negation of this value. 
-    def unary_~: IntReturns the bitwise negation of this value. Returns the bitwise negation of this value. - ~5 == -6 // in binary: ~00000101 == // 11111010 
 Example:
-  val value: Char
-    def |(x: Long): LongReturns the bitwise OR of this value and x.Returns the bitwise OR of this value and x.- (0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010 
 Example:
-    def |(x: Int): IntReturns the bitwise OR of this value and x.Returns the bitwise OR of this value and x.- (0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010 
 Example:
-    def |(x: Char): IntReturns the bitwise OR of this value and x.Returns the bitwise OR of this value and x.- (0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010 
 Example:
-    def |(x: Short): IntReturns the bitwise OR of this value and x.Returns the bitwise OR of this value and x.- (0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010 
 Example:
-    def |(x: Byte): IntReturns the bitwise OR of this value and x.Returns the bitwise OR of this value and x.- (0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010 
 Example: