だから私は、Apple Swift Book にある実験を行ってきました。
これまでのところ、これを除いてすべて行うことができました。以下は私が試したものですが、それを機能させる方法がわかりません。
ランクとスーツの組み合わせごとに 1 枚のカードを含む、カードの完全なデッキを作成するメソッドをCardに追加します。
// Playground - noun: a place where people can play
enum Rank: Int {
case Ace = 1
case Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten
case Jack, Queen, King
func simpleDescription() -> String {
switch self {
case .Ace:
return "ace"
case .Jack:
return "jack"
case .Queen:
return "queen"
case .King:
return "king"
default:
return String(self.toRaw())
}
}
}
enum Suit {
case Spades, Hearts, Diamonds, Clubs
func simpleDescription() -> String {
switch self {
case .Spades:
return "spades"
case .Hearts:
return "hearts"
case .Diamonds:
return "diamonds"
case .Clubs:
return "clubs"
}
}
}
struct Card {
var rank: Rank
var suit: Suit
func simpleDescription() -> String {
return "The \(rank.simpleDescription()) of \(suit.simpleDescription())"
}
func createFullDeck() -> Array{
var FullDeck: Array
FullDeck = Card(rank: .Ace, suit: .Spades)
FullDeck = Card(rank: .Two, suit: .Spades)
return FullDeck
}
}
let threeOfSpades = Card(rank: .Three, suit: .Spades)
let threeOfSpadesDescription = threeOfSpades.simpleDescription()
threeOfSpades.createFullDeck()
- そのメソッド、配列に対して何を返すべきかわかりませんか?
- これを作成するには for ループを使用する必要がありますか? または、列挙型でこれを行う適切な/より簡単な方法はありますか
- このメソッドをCard内に作成するのはなぜですか。呼び出し
threeOfSpades.createFullDeck()
は正しくないようです。