Bool to Byte в Scala - PullRequest
       2

Bool to Byte в Scala

0 голосов
/ 26 марта 2020

У меня есть логическая переменная, значение которой равно true, я хочу преобразовать ее в байты.

Как лучше всего это сделать.

val bool = true

Мне нужен тип байта и значение байта переменной bool в scala.

Ответы [ 3 ]

1 голос
/ 26 марта 2020
val res: Byte = if (bool) 1 else 0
0 голосов
/ 27 марта 2020

Если вам нужна некоторая взаимозаменяемость значений Byte / Bool, у вас есть возможность использовать неявные преобразования (но это то, что нужно считать небезопасным )

Аммонит:

@ implicit def asBool(src: Byte): Boolean = src > 0 
defined function asBool
@ implicit def asByte(src: Boolean): Byte = if (src) 1 else 0 
defined function asByte
@ val xxx: Byte = true 
xxx: Byte = 1
@ val yyy: Boolean = 0.toByte 
yyy: Boolean = false

Это также работает с функциями:

@ def takeByte(x: Byte): Byte = x 
defined function takeByte
@ takeByte(false) 
res8: Byte = 0
@ takeByte(true) 
res9: Byte = 1

Надежда, которая помогает.

0 голосов
/ 26 марта 2020

Я думаю, вы можете сделать это следующим образом:

val bool = true
val booleanToByte = (b: Boolean) => (if (b) 1 else 0).toByte
val byteValue = booleanToByte(bool)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...