Sha256: 076541c040c1c7581c34bfe07b2bf7875390a6815e00a92c3fac64560c61d110

Contents?: true

Size: 711 Bytes

Versions: 188

Compression:

Stored size: 711 Bytes

Contents

struct SecretHandshake {

    var commandValue: Int
    var commandValues = [1: "wink", 2: "double blink", 4: "close your eyes", 8: "jump"]

    init(_ commandValue: Int) {
        self.commandValue = commandValue
    }

    var shouldReverse: Bool { return (commandValue & 16) != 0 }

    var commands: [String] { return commandsFunc() }

    private func commandsFunc() -> [String] {
        var commands = [String]()
        for key in Array(commandValues.keys).sorted( by: < ) where (commandValue & key) != 0 {
            commands.append(commandValues[key]!)
        }

        if shouldReverse {
            return Array(commands.reversed())
        } else {
            return commands
        }
    }
}

Version data entries

188 entries across 188 versions & 1 rubygems

Version Path
trackler-2.2.1.139 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.138 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.137 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.136 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.135 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.134 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.133 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.132 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.131 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.130 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.129 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.128 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.127 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.126 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.125 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.124 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.123 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.122 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.121 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.2.1.120 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift