Sha256: 7e6a664dabacc772d8d12ca1d407ee05d9fee6d8474e1dd7231412a3daed4aee

Contents?: true

Size: 736 Bytes

Versions: 130

Compression:

Stored size: 736 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: < ) {
            if (commandValue & key) != 0 {
                commands.append(commandValues[key]!)
            }
        }

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

Version data entries

130 entries across 130 versions & 1 rubygems

Version Path
trackler-2.0.8.9 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.8.8 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.8.7 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.8.6 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.8.5 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.8.4 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.8.3 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.8.2 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.8.1 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.7.0 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.44 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.43 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.42 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.41 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.40 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.39 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.38 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.37 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.36 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.0.6.35 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift