Sha256: 8421f800cee9fcfc12ad7ff2f4eef8f3da2f77813ca1725e14095a50237d77d1
Contents?: true
Size: 644 Bytes
Versions: 193
Compression:
Stored size: 644 Bytes
Contents
object SecretHandshake { private val reverseGestures = 16 private def gestures = List((1, "wink"), (2, "double blink"), (4, "close your eyes"), (8, "jump")) def commands(s: String): List[String] = { def isValid = s.count(c => c != '0' && c != '1') == 0 if (!isValid) List() else commands(Integer.parseInt(s, 2)) } def commands(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
193 entries across 193 versions & 1 rubygems