Sha256: 9f8ce3586d6d8b1a335e29372d19a18691724cc8c9e6d03a71162e16554bf33a
Contents?: true
Size: 647 Bytes
Versions: 203
Compression:
Stored size: 647 Bytes
Contents
object SecretHandshake { private val reverseGestures = 16 private def gestures = List((1, "wink"), (2, "double blink"), (4, "close your eyes"), (8, "jump")) def handshake(s: String): List[String] = { def isValid = s.count(c => c != '0' && c != '1') == 0 if (!isValid) List() else handshake(Integer.parseInt(s, 2)) } def handshake(n: Int): List[String] = { val result = gestures.filter {case (cmd, gesture) => (cmd & n) != 0} map {case (_, gesture) => gesture} if (shouldReverse(n)) result.reverse else result } private def shouldReverse(n: Int): Boolean = { (n & reverseGestures) != 0 } }
Version data entries
203 entries across 203 versions & 1 rubygems