zoukankan      html  css  js  c++  java
  • swift 遍历枚举

     

    // see at http://swifter.tips/enum-enumerate/


    // 貌似有些空格在粘贴的时候没有了...    = =!


    import Foundation

     

    enum Suit: String {

        case Spades = "黑桃"

        case Hearts = "红桃"

        case Clubs = "草花"

        case Diamonds = "方片"

    }

     

    enum Rank: Int, CustomStringConvertible{

        case Ace = 1

        case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten

        case Jack, Queen, King

        var description: String {

            switchself {

            case .Ace:

                return"A"

            case .Jack:

                return"J"

            case .Queen:

                return"Q"

            case .King:

                return"K"

            default:

                returnString(self.rawValue)

            }

        }

    }

     

    protocol EnumeratableEnumType {

        staticvar allValues: [Self] {get}

    }

     

    extension Suit: EnumeratableEnumType {

        static var allValues: [Suit] {

            return [.Spades, .Hearts, .Clubs, .Diamonds]

        }

    }

     

    extensionRank: EnumeratableEnumType {

        static var allValues: [Rank] {

            return [.Ace, .Two, .Three,

                    .Four, .Five, .Six,

                    .Seven, .Eight, .Nine,

                    .Ten, .Jack, .Queen, .King]

        }

    }

     

    for suit in Suit.allValues {

        for rank in Rank.allValues {

            print("(suit.rawValue)(rank)")

        }

    }


  • 相关阅读:
    泛型
    Math类
    Static关键字
    Java最新面试问答整理
    Jenkins显示语言切换为中文(最终解决办法)
    eclipse中导入SVN项目步骤
    Xshell连接不上虚拟机Linux系统
    SQLYog执行SQL脚本提示:错误代码: 1067
    Web应用三种部署方式的优缺点
    web应用配置虚拟路径映射方式一配置不成功问题解决办法
  • 原文地址:https://www.cnblogs.com/xilifeng/p/5429108.html
Copyright © 2011-2022 走看看