各要素が Byte シーケンスのビットを表す Seq[Boolean] に Bytes のシーケンスを変換するより良い方法はありますか?
私は現在これをやっていますが、byte2Boolsは少し重すぎるようです...
object Main extends App {
private def byte2Bools(b: Byte) =
(0 to 7).foldLeft(ArrayBuffer[Boolean]())((bs, i) => bs += isBitSet(b, i))
private def isBitSet(byte: Byte, bit: Int) =
((byte >> bit) & 1) == 1
val bytes = List[Byte](1, 2, 3)
val bools = bytes.flatMap(b => byte2Bools(b))
println(bools)
}
おそらく本当の問題は、byte2Bools のより良い実装は何か?ということです。