Sha256: b6be051159b36cdf8ed8807bac6a9622b1c8ee890dd419f9550c61f44550cae1

Contents?: true

Size: 740 Bytes

Versions: 78

Compression:

Stored size: 740 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

78 entries across 78 versions & 1 rubygems

Version Path
trackler-2.1.0.53 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.52 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.51 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.50 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.49 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.48 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.47 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.46 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.45 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.44 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.43 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.42 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.41 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.40 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.39 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.38 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.37 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.36 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.34 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift
trackler-2.1.0.33 tracks/swift/exercises/secret-handshake/Sources/SecretHandshakeExample.swift