遍匈 / Swift / Swift縮殻 /

Swift窃侏廼耗

<貧匯准 和匯准>
旦訟窃侏械瓜喘噐糞孖蒙協窃賜潤更悶議孔嬬。匆嬬校壓嗤謹嶽延楚窃侏議桟廠嶄?圭宴仇協吶宥喘窃賜潤更悶栖聞喘?葎阻糞孖宸嶽孔嬬?Swift塋俯低協吶窃侏廼耗?辛參壓旦訟窃侏、窃才潤更悶嶄協吶屶隔廼耗議窃侏。

勣壓匯倖窃侏嶄廼耗総匯倖窃侏?繍俶勣廼耗議窃侏議協吶亟壓瓜廼耗窃侏議曝囃{}坪?遇拝辛參功象俶勣協吶謹雫廼耗。

窃侏廼耗糞箭

和中宸倖箭徨協吶阻匯倖潤更悶BlackjackCard(屈噴匯泣)?喘栖庁亭BlackjackCard嶄議橡針兎泣方。BlackjackCard潤更悶淫根2倖廼耗協吶議旦訟窃侏Suit 才 Rank。

壓BlackjackCard号夸嶄?Ace兎辛參燕幣1賜宀11?Ace兎議宸匯蒙尢喘匯倖廼耗壓旦訟侏Rank議潤更悶Values栖燕幣。
struct BlackjackCard {
 // 廼耗協吶旦訟侏Suit
 enum Suit: Character {
 case Spades = "♠", Hearts = "♡", Diamonds = "♢", Clubs = "♣"
 }
 // 廼耗協吶旦訟侏Rank
 enum Rank: Int {
 case Two = 2, Three, Four, Five, Six, Seven, Eight, Nine, Ten
 case Jack, Queen, King, Ace
 struct Values {
 let first: Int, second: Int?
 }
 var values: Values {
 switch self {
 case .Ace:
 return Values(first: 1, second: 11)
 case .Jack, .Queen, .King:
 return Values(first: 10, second: nil)
 default:
 return Values(first: self.toRaw(), second: nil)
 }
 }
 }
 // BlackjackCard 議奉來才圭隈
 let rank: Rank, suit: Suit
 var description: String {
 var output = "suit is \(suit.toRaw()),"
 output += " value is \(rank.values.first)"
 if let second = rank.values.second {
 output += " or \(second)"
 }
 return output
 }
}
旦訟侏議Suit喘栖宙峰橡針兎議膨嶽雑弼?旺蛍艶喘匯倖Character窃侏議峙旗燕雑弼憲催。

旦訟侏議Rank喘栖宙峰橡針兎貫Ace~10,J,Q,K,13嫖兎?旺蛍艶喘匯倖Int窃侏議峙燕幣兎議中峙。(宸倖Int窃侏議峙音癖喘噐Ace,J,Q,K議兎)。

泌貧猟侭戻欺議?旦訟侏Rank壓徭失坪何協吶阻匯倖廼耗潤更悶Values。宸倖潤更悶淫根曾倖延楚?峪嗤Ace嗤曾倖方峙?凪噫兎脅峪嗤匯倖方峙。潤更悶Values嶄協吶議曾倖奉來?

first, 葎Int second, 葎 Int?, 賜 “optional Int”

Rank協吶阻匯倖柴麻奉來values?宸倖柴麻奉來氏功象兎議中峙?喘癖輝議方峙肇兜兵晒Values糞箭?旺験峙公values。斤噐J,Q,K,Ace氏聞喘蒙歩方峙?斤噐方忖中峙議兎聞喘Int窃侏議峙。

BlackjackCard潤更悶徭附嗤曾倖奉來—rank嚥suit?匆揖劔協吶阻匯倖柴麻奉來description?description奉來喘rank才suit議嶄坪否栖更秀斤宸嫖橡針兎兆忖才方峙議宙峰?旺喘辛僉窃侏second栖殊臥頁倦贋壓及屈倖峙?飛贋壓?夸壓圻嗤議宙峰嶄奐紗斤及屈方峙議宙峰。

咀葎BlackjackCard頁匯倖短嗤徭協吶更夛痕方議潤更悶?壓Memberwise Initializers for Structure Types嶄岑祇潤更悶嗤潮範議撹埀更夛痕方?侭參低辛參喘潮範議initializer肇兜兵晒仟議械楚theAceOfSpades:
let theAceOfSpades = BlackjackCard(rank: .Ace, suit: .Spades)
println("theAceOfSpades: \(theAceOfSpades.description)")
// 嬉咫竃 "theAceOfSpades: suit is ♠, value is 1 or 11"
勝砿Rank才Suit廼耗壓BlackjackCard嶄?徽挽辛瓜哈喘?侭參壓兜兵晒糞箭扮嬬校宥狛旦訟窃侏嶄議撹埀兆各汽鏡哈喘。壓貧中議箭徨嶄description奉來嬬屎鳩誼補竃斤Ace兎嗤1才11曾倖峙。

窃侏廼耗議哈喘

壓翌何斤廼耗窃侏議哈喘?參瓜廼耗窃侏議兆忖葎念弸?紗貧侭勣哈喘議奉來兆?
let heartsSymbol = BlackjackCard.Suit.Hearts.toRaw()
// 碕伉議憲催 葎 "♡"
斤噐貧中宸倖箭徨?宸劔辛參聞Suit, Rank, 才 Values議兆忖勝辛嬬議玉?咀葎万断議兆忖氏徭隼議喇瓜協吶議貧和猟栖尫協。
<貧匯准 和匯准>

AltStyle によって変換されたページ (->オリジナル) /