遍匈 / Swift / Swift縮殻 /

Swift酒汽秘壇縮殻?30蛍嶝螺廬Swift

<貧匯准 和匯准>
宥械栖傍?園殻囂冱縮殻嶄議及匯倖殻會哘乎壓徳鳥貧嬉咫“Hello, world”。壓 Swift 嶄?辛參喘匯佩旗鷹糞孖?
println("hello, world")

泌惚低亟狛 C 賜宀 Objective-C 旗鷹?椎低哘乎載母呂宸嶽侘塀——壓 Swift 嶄?宸佩旗鷹祥頁匯倖頼屁議殻會。低音俶勣葎阻補秘補竃賜宀忖憲堪侃尖擬秘匯倖汽鏡議垂。畠蕉恬喘囃嶄議旗鷹氏瓜徭強輝恂殻會議秘笥泣?侭參低匆音俶勣main痕方。低揖劔音俶勣壓耽倖囂鞘潤硫亟貧蛍催。

宸倖縮殻氏宥狛匯狼双園殻箭徨栖斑低斤 Swift 嗤兜化阻盾?泌惚低嗤焚担音尖盾議仇圭匆音喘毅伉——販採云嫗初府議坪否脅氏壓朔中議嫗准嶄峋聾讐盾。
廣吭?葎阻資誼恷挫議悶刮?壓 Xcode 輝嶄聞喘旗鷹圓誓孔嬬。旗鷹圓誓孔嬬辛參斑低園辞旗鷹旺糞扮心欺塰佩潤惚。

酒汽峙

聞喘let栖蕗苧械楚?聞喘var栖蕗苧延楚。匯倖械楚議峙壓園咎扮旺音俶勣資函?徽頁低峪嬬葎万験峙匯肝。匆祥頁傍低辛參喘械楚栖燕幣宸劔匯倖峙?低峪俶勣畳協匯肝?徽頁俶勣聞喘載謹肝。
var myVariable = 42
myVariable = 50
let myConstant = 42 
械楚賜宀延楚議窃侏駅倬才低験公万断議峙匯劔。隼遇?蕗苧扮窃侏頁辛僉議?蕗苧議揖扮験峙議三?園咎匂氏徭強容僅窃侏。壓貧中議箭徨嶄?園咎匂容僅竃myVariable頁匯倖屁方?integer?咀葎万議兜兵峙頁屁方。

泌惚兜兵峙短嗤戻工怎校議佚連?賜宀短嗤兜兵峙??椎低俶勣壓延楚朔中蕗苧窃侏?喘丹催蛍護。
let implicitInteger = 70
let implicitDouble = 70.0
let explicitDouble: Double = 70 
膳楼?幹秀匯倖械楚??塋瞬原╂猥洋?Float旺峺協兜兵峙葎4。
峙喟垓音氏瓜咨塀廬算葎凪麿窃侏。泌惚低俶勣委匯倖峙廬算撹凪麿窃侏?萩?塋竣Ĺ察?
let label = "The width is"
let width = 94
let widthLabel = label + String(width) 
膳楼?評茅恷朔匯佩嶄議String?危列戻幣頁焚担?
嗤匯嶽厚酒汽議委峙廬算撹忖憲堪議圭隈?委峙亟欺凄催嶄?旺拝壓凄催岻念亟匯倖郡弍顧。箭泌?
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit." 
膳楼?聞喘\()栖委匯倖検泣柴麻廬算撹忖憲堪?旺紗貧蝶繁議兆忖?才麿嬉倖孃柵。
聞喘圭凄催[]栖幹秀方怏才忖灸?旺聞喘和炎賜宀囚?key?栖恵諒圷殆。
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[1] = "bottle of water"
var occupations = [ "Malcolm": "Captain", "Kaylee": "Mechanic", ]
occupations["Jayne"] = "Public Relations" 
勣幹秀匯倖腎方怏賜宀忖灸?聞喘兜兵晒囂隈。
let emptyArray = String[]()
let emptyDictionary = Dictionary<String, Float>() 
泌惚窃侏佚連辛參瓜容僅竃栖?低辛參喘[]才[:]栖幹秀腎方怏才腎忖灸——祥崧低蕗苧延楚賜宀公痕方勧歌方議扮昨匯劔。
shoppingList = [] // 肇剛瞬旺択泣叫廉 

陣崙送

聞喘if才switch栖序佩訳周荷恬?聞喘for-in、for、while才do-while栖序佩儉桟。淫骨訳周才儉桟延楚凄催辛參福待?徽頁囂鞘悶議寄凄催頁駅倬議。
let individualScores = [75, 43, 103, 87, 12] 
var teamScore = 0
for score in individualScores {
 if score > 50 { 
 teamScore += 3
 } else {
 teamScore += 1
 }
}
teamScore 
壓if囂鞘嶄?訳周駅倬頁匯倖下櫛燕器塀——崧if score { ... }宸劔議旗鷹頁危列議。

低辛參匯軟聞喘if才let栖侃尖峙髪払議秤趨。嗤乂延楚議峙頁辛僉議。匯倖辛僉議峙辛嬬頁匯倖醤悶議峙賜宀頁nil?燕幣峙髪払。壓窃侏朔中紗匯倖諒催栖炎芝宸倖延楚議峙頁辛僉議。
var optionalString: String? = "Hello"
optionalString == nil
var optionalName: String? = "John Appleseed"
var greeting = "Hello!"
if let name = optionalName {
 greeting = "Hello, \(name)" 
} 
膳楼?委optionalName個撹nil?greeting氏頁焚担?耶紗匯倖else囂鞘?輝optionalName頁nil扮公greeting験匯倖音揖議峙。
泌惚延楚議辛僉峙頁nil?訳周氏登僅葎false?寄凄催嶄議旗鷹氏瓜柳狛。泌惚音頁nil?氏繍峙験公let朔中議械楚?宸劔旗鷹翠嶄祥辛參聞喘宸倖峙阻。

switch屶隔販吭窃侏議方象參式光嶽曳熟荷恬——音叙叙頁屁方參式霞編屢吉。
let vegetable = "red pepper"
switch vegetable { 
 case "celery": 
 let vegetableComment = "Add some raisins and make ants on a log." 
 case "cucumber", "watercress":
 let vegetableComment = "That would make a good tea sandwich." 
 case let x where x.hasSuffix("pepper"):
 let vegetableComment = "Is it a spicy \(x)?"
 default: 
 let vegetableComment = "Everything tastes good in soup."
} 
膳楼?評茅default囂鞘?心心氏嗤焚担危列?
塰佩switch嶄謄塘欺議徨鞘岻朔?殻會氏曜竃switch囂鞘?旺音氏写偬?和塰佩?侭參音俶勣壓耽倖徨鞘潤硫亟break。

低辛參聞喘for-in栖演煽忖灸?俶勣曾倖延楚栖燕幣耽倖囚峙斤。
let interestingNumbers = [
 "Prime": [2, 3, 5, 7, 11, 13],
 "Fibonacci": [1, 1, 2, 3, 5, 8],
 "Square": [1, 4, 9, 16, 25], 
]
var largest = 0 
for (kind, numbers) in interestingNumbers {
 for number in numbers {
 if number > largest {
 largest = number
 }
 }
}
largest 
膳楼?耶紗総匯倖延楚栖芝村陳嶽窃侏議方忖頁恷寄議。
聞喘while栖嶷鹸塰佩匯粁旗鷹岷欺音諾怎訳周。儉桟訳周辛參壓蝕遊匆辛參壓潤硫。
var n = 2
while n < 100 { 
 n = n * 2
}
n
var m = 2 do { 
 m = m * 2
} while m < 100
m 
低辛參壓儉桟嶄聞喘..栖燕幣袈律?匆辛參聞喘勧由議亟隈?曾宀頁吉勺議?
var firstForLoop = 0
for i in 0..3 {
 firstForLoop += i
}
firstForLoop
var secondForLoop = 0
for var i = 0; i < 3; ++i {
 secondForLoop += 1
} secondForLoop 
聞喘..幹秀議袈律音淫根貧順?泌惚?淫根議三俶勣聞喘...。

痕方才液淫

聞喘func栖蕗苧匯倖痕方?聞喘兆忖才歌方栖距喘痕方。聞喘->栖峺協痕方卦指峙。
func greet(name: String, day: String) -> String {
 return "Hello \(name), today is \(day)."
}
greet("Bob", "Tuesday") 
膳楼?評茅day歌方?耶紗匯倖歌方栖燕幣書爺郭阻焚担怜傾。
聞喘匯倖圷怏栖卦指謹倖峙。
func getGasPrices() -> (Double, Double, Double) {
 return (3.59, 3.69, 3.79)
}
getGasPrices() 
痕方議歌方方楚頁辛延議?喘匯倖方怏栖資函万断?
func sumOf(numbers: Int...) -> Int {
 var sum = 0
 for number in numbers {
 sum += number
 } 
 return sum
} 
sumOf() 
sumOf(42, 597, 12) 
膳楼?亟匯倖柴麻歌方峠譲峙議痕方。
痕方辛參廼耗。瓜廼耗議痕方辛參恵諒翌迦痕方議延楚?低辛參聞喘廼耗痕方栖嶷更匯倖湊海賜宀湊鹸墫議痕方。
func returnFifteen() -> Int {
 var y = 10 func add() {
 y += 5
 }
 add()
 return y
} 
returnFifteen() 
痕方頁匯吉巷酎?宸吭龍彭痕方辛參恬葎総匯倖痕方議卦指峙。
func makeIncrementer() -> (Int -> Int) {
 func addOne(number: Int) -> Int {
 return 1 + number
 } 
 return addOne
}
var increment = makeIncrementer()
increment(7) 
痕方匆辛參輝恂歌方勧秘総匯倖痕方。
func hasAnyMatches(list: Int[], condition: Int -> Bool) -> Bool {
 for item in list {
 if condition(item) {
 return true
 }
 }
 return false
}
func lessThanTen(number: Int) -> Bool {
 return number < 10
}
var numbers = [20, 19, 7, 12]
hasAnyMatches(numbers, lessThanTen) 
痕方糞縞貧頁匯嶽蒙歩議液淫?低辛參聞喘{}栖幹秀匯倖停兆液淫。聞喘in栖蛍護歌方旺卦指窃侏。
numbers.map({
 (number: Int) -> Int in
 let result = 3 * number 
 return result 
}) 
膳楼?嶷亟液淫?斤侭嗤謎方卦指0.
嗤載謹嶽幹秀液淫議圭隈。泌惚匯倖液淫議窃侏厮岑?曳泌恬葎匯倖指距痕方?低辛參策待歌方議窃侏才卦指峙。汽倖囂鞘液淫氏委万囂鞘議峙輝恂潤惚卦指。

低辛參宥狛歌方了崔遇音頁歌方兆忖栖哈喘歌方——宸倖圭隈壓掲械玉議液淫嶄掲械嗤喘。輝匯倖液淫恬葎恷朔匯倖歌方勧公匯倖痕方議扮昨?万辛參岷俊効壓凄催朔中。
sort([1, 5, 3, 12, 2]) { 0ドル > 1ドル } 

斤嵆才窃

聞喘class才窃兆栖幹秀匯倖窃。窃嶄奉來議蕗苧才械楚、延楚蕗苧匯劔?率匯議曝艶祥頁万断議貧和猟頁窃。揖劔?圭隈才痕方蕗苧匆匯劔。
class Shape {
 var numberOfSides = 0 
 func simpleDescription() -> String {
 return "A shape with \(numberOfSides) sides." 
 } 
} 
膳楼?聞喘let耶紗匯倖械楚奉來?壅耶紗匯倖俊辺匯倖歌方議圭隈。
勣幹秀匯倖窃議糞箭?壓窃兆朔中紗貧凄催。聞喘泣囂隈栖恵諒糞箭議奉來才圭隈。
var shape = Shape()
shape.numberOfSides = 7 
var shapeDescription = shape.simpleDescription() 
宸倖井云議Shape窃髪富阻匯乂嶷勣議叫廉?匯倖更夛痕方栖兜兵晒窃糞箭。聞喘init栖幹秀匯倖更夛匂。
class NamedShape {
 var numberOfSides: Int = 0
 var name: String
 init(name: String) {
 self.name = name
 } 
 func simpleDescription() -> String {
 return "A shape with \(numberOfSides) sides." 
 } 
} 
廣吭self瓜喘栖曝艶糞箭延楚。輝低幹秀糞箭議扮昨?崧勧秘痕方歌方匯劔公窃勧秘更夛匂議歌方。耽倖奉來脅俶勣験峙——涙胎頁宥狛蕗苧?祥崧numberOfSides?珊頁宥狛更夛匂?祥崧name?。

泌惚低俶勣壓評茅斤嵆岻念序佩匯乂賠尖垢恬?聞喘deinit幹秀匯倖裂更痕方。

徨窃議協吶圭隈頁壓万断議窃兆朔中紗貧幻窃議兆忖?喘丹催蛍護。幹秀窃議扮昨旺音俶勣匯倖炎彈議功窃?侭參低辛參策待幻窃。

徨窃泌惚勣嶷亟幻窃議圭隈議三?俶勣喘override炎芝——泌惚短嗤耶紗override祥嶷亟幻窃圭隈議三園咎匂氏烏危。園咎匂揖劔氏殊霞override炎芝議圭隈頁倦鳩糞壓幻窃嶄。
class Square: NamedShape {
 var sideLength: Double
 init(sideLength: Double, name: String) {
 self.sideLength = sideLength
 super.init(name: name)
 numberOfSides = 4
 }
 func area() -> Double {
 return sideLength * sideLength
 } 
 override func simpleDescription() -> String { 
 return "A square with sides of length \(sideLength)."
 }
}
let test = Square(sideLength: 5.2, name: "my test square")
test.area()
test.simpleDescription() 
膳楼?幹秀NamedShape議総匯倖徨窃Circle?更夛匂俊辺曾倖歌方?匯倖頁磯抄匯倖頁兆各?糞孖area才describe圭隈。
奉來辛參嗤 getter 才 setter 。
class EquilateralTriangle: NamedShape {
 var sideLength: Double = 0.0
 init(sideLength: Double, name: String) {
 self.sideLength = sideLength
 super.init(name: name)
 numberOfSides = 3
 } 
 var perimeter: Double {
 get {
 return 3.0 * sideLength
 }
 set {
 sideLength = newValue / 3.0 
 }
 } 
 override func simpleDescription() -> String {
 return "An equilateral triagle with sides of length \(sideLength)."
 }
}
var triangle = EquilateralTriangle(sideLength: 3.1, name: "a triangle")
triangle.perimeter
triangle.perimeter = 9.9
triangle.sideLength 
壓perimeter議 setter 嶄?仟峙議兆忖頁newValue。低辛參壓set岻朔?塋承追蕚智燦?蛼屐?

廣吭EquilateralTriangle窃議更夛匂峇佩阻眉化?
  1. 譜崔徨窃蕗苧議奉來峙
  2. 距喘幻窃議更夛匂
  3. 個延幻窃協吶議奉來峙。凪麿議垢恬曳泌距喘圭隈、getters才setters匆辛參壓宸倖竣粁頼撹。
泌惚低音俶勣柴麻奉來徽頁俶勣壓譜崔匯倖仟峙岻念塰佩匯乂旗鷹?聞喘willSet才didSet。

曳泌?和中議窃鳩隠眉叔侘議円海悳頁才屎圭侘議円海屢揖。
class TriangleAndSquare {
 var triangle: EquilateralTriangle {
 willSet {
 square.sideLength = newValue.sideLength
 }
 }
 var square: Square {
 willSet {
 triangle.sideLength = newValue.sideLength
 }
 }
 init(size: Double, name: String) {
 square = Square(sideLength: size, name: name)
 triangle = EquilateralTriangle(sideLength: size, name: name)
 }
}
var triangleAndSquare = TriangleAndSquare(size: 10, name: "another test shape")
triangleAndSquare.square.sideLength
triangleAndSquare.triangle.sideLength
triangleAndSquare.square = Square(sideLength: 50, name: "larger square")
triangleAndSquare.triangle.sideLength 
窃嶄議圭隈才匯違議痕方嗤匯倖嶷勣議曝艶?痕方議歌方兆峪壓痕方坪何聞喘?徽頁圭隈議歌方兆俶勣壓距喘議扮昨?塋祝誼?┳鎣傍斷燦?諒釱?Dh惑蘓氐贈iii酬┻腸諒鏆?曜迤攘酬24擴慎鎮蛼嶢姿??珊鏞穢何敏垓38綉擽髎?蛼孱u盡?蛼岷屍痴攘酬24擴拭?
class Counter {
 var count: Int = 0 
 func incrementBy(amount: Int, numberOfTimes times: Int) {
 count += amount * times
 }
}
var counter = Counter()
counter.incrementBy(2, numberOfTimes: 7) 
侃尖延楚議辛僉峙扮?低辛參壓荷恬?曳泌圭隈、奉來才徨重云?岻念紗?。泌惚?岻念議峙頁nil??朔中議叫廉脅氏瓜策待?旺拝屁倖燕器塀卦指nil。倦夸??岻朔議叫廉脅氏瓜塰佩。壓宸曾嶽秤趨和?屁倖燕器塀議峙匆頁匯倖辛僉峙。
let optionalSquare: Square? = Square(sideLength: 2.5, name: "optional square")
let sideLength = optionalSquare?.sideLength 

旦訟才潤更悶

聞喘enum栖幹秀匯倖旦訟。祥崧窃才凪麿侭嗤凋兆窃侏匯劔?旦訟辛參淫根圭隈。
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())
 }
 }
}
let ace = Rank.Ace
let aceRawValue = ace.toRaw() 
膳楼?亟匯倖痕方?宥狛曳熟万断議圻兵峙栖曳熟曾倖Rank峙。
壓貧中議箭徨嶄?旦訟圻兵峙議窃侏頁Int?侭參低峪俶勣譜崔及匯倖圻兵峙。複和議圻兵峙氏梓孚乏會験峙。低匆辛參聞喘忖憲堪賜宀検泣方恬葎旦訟議圻兵峙。

聞喘toRaw才fromRaw痕方栖壓圻兵峙才旦訟峙岻寂序佩廬算。
if let convertedRank = Rank.fromRaw(3) {
 let threeDescription = convertedRank.simpleDescription()
} 
旦訟議撹埀峙頁糞縞峙?旺音頁圻兵峙議総匯嶽燕器圭隈。糞縞貧?泌惚圻兵峙短嗤吭吶?低音俶勣譜崔。
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"
 }
 }
}
let hearts = Suit.Hearts
let heartsDescription = hearts.simpleDescription() 
膳楼?公Suit耶紗匯倖color圭隈?斤spades才clubs卦指“black”?斤hearts才diamonds卦指“red”。
廣吭?嗤曾嶽圭塀辛參哈喘Hearts撹埀?公hearts械楚験峙扮?旦訟撹埀Suit.Hearts俶勣喘畠兆栖哈喘?咀葎械楚短嗤?塋瞬原╂猥諭T?switch戦?旦訟撹埀聞喘抹亟.Hearts栖哈喘?咀葎self議峙厮将岑祇頁匯倖suit。厮岑延楚窃侏議秤趨和低辛參聞喘抹亟。

聞喘struct栖幹秀匯倖潤更悶。潤更悶才窃嗤載謹屢揖議仇圭?曳泌圭隈才更夛匂。万断潤更悶岻寂恷寄議匯倖曝艶祥頁 潤更悶頁勧峙?窃頁勧哈喘。
struct Card {
 var rank: Rank
 var suit: Suit
 func simpleDescription() -> String {
 return "The \(rank.simpleDescription()) of \
 (suit.simpleDescription())"
 }
}
let threeOfSpades = Card(rank: .Three, suit: .Spades)
let threeOfSpadesDescription = threeOfSpades.simpleDescription() 
膳楼?公Card耶紗匯倖圭隈?幹秀匯険頼屁議橡針兎旺委耽嫖兎議rank才suit斤哘軟栖。
匯倖旦訟撹埀議糞箭辛參嗤糞箭峙。屢揖旦訟撹埀議糞箭辛參嗤音揖議峙。幹秀糞箭議扮昨勧秘峙軸辛。糞箭峙才圻兵峙頁音揖議?旦訟撹埀議圻兵峙斤噐侭嗤糞箭脅頁屢揖議?遇拝低頁壓協吶旦訟議扮昨譜崔圻兵峙。

箭泌?深打貫捲暦匂資函晩竃才晩鯛議扮寂。捲暦匂氏卦指屎械潤惚賜宀危列佚連。
enum ServerResponse {
 case Result(String, String)
 case Error(String)
}
let success = ServerResponse.Result("6:00 am", "8:09 pm")
let failure = ServerResponse.Error("Out of cheese.")
switch success {
 case let .Result(sunrise, sunset):
 let serverResponse = "Sunrise is at \(sunrise) and sunset is at \(sunset)."
 case let .Error(error):
 let serverResponse = "Failure... \(error)"
} 
膳楼?公ServerResponse才switch耶紗及眉嶽秤趨。
廣吭泌採貫ServerResponse嶄戻函晩幅才晩鯛扮寂。

俊笥才制婢

聞喘protocol栖蕗苧匯倖俊笥。
protocol ExampleProtocol {
 var simpleDescription: String { get }
 mutating func adjust() } 
窃、旦訟才潤更悶脅辛參糞孖俊笥。
class SimpleClass: ExampleProtocol {
 var simpleDescription: String = "A very simple class."
 var anotherProperty: Int = 69105
 func adjust() {
 simpleDescription += " Now 100% adjusted."
 }
}
var a = SimpleClass()
a.adjust()
let aDescription = a.simpleDescription
struct SimpleStructure: ExampleProtocol {
 var simpleDescription: String = "A simple structure" mutating func adjust() {
 simpleDescription += " (adjusted)"
 }
}
var b = SimpleStructure()
b.adjust()
let bDescription = b.simpleDescription 
膳楼?亟匯倖糞孖宸倖俊笥議旦訟。
廣吭蕗苧SimpleStructure扮昨mutating購囚忖喘栖炎芝匯倖氏俐個潤更悶議圭隈。SimpleClass議蕗苧音俶勣炎芝販採圭隈咀葎窃嶄議圭隈将械氏俐個窃。

聞喘extension栖葎孖嗤議窃侏耶紗孔嬬?曳泌耶紗匯倖柴麻奉來議圭隈。低辛參聞喘制婢栖公販吭窃侏耶紗亅咏?封崛頁低貫翌何垂賜宀崇尺嶄擬秘議窃侏。
extension Int: ExampleProtocol {
 var simpleDescription: String {
 return "The number \(self)"
 }
 mutating func adjust() {
 self += 42
 }
}
7.simpleDescription 
膳楼?公Double窃侏亟匯倖制婢?耶紗absoluteValue孔嬬。
低辛參崧聞喘凪麿凋兆窃侏匯劔聞喘俊笥兆——箭泌?幹秀匯倖嗤音揖窃侏徽頁脅糞孖匯倖俊笥議斤嵆鹿栽。輝低侃尖窃侏頁俊笥議峙扮?俊笥翌協吶議圭隈音辛喘。
let protocolValue: ExampleProtocol = a // protocolValue.anotherProperty
protocolValue.simpleDescription // Uncomment to see the error 
軸聞protocolValue延楚塰佩扮議窃侏頁simpleClass?園咎匂氏委万議窃侏輝恂ExampleProtocol。宸燕幣低音嬬距喘窃壓万糞孖議俊笥岻翌糞孖議圭隈賜宀奉來。

刑侏

壓錫凄催戦亟匯倖兆忖栖幹秀匯倖刑侏痕方賜宀窃侏。
func repeat<ItemType>(item: ItemType, times: Int) -> ItemType[] {
 var result = ItemType[]()
 for i in 0..times {
 result += item
 }
 return result
}
repeat("knock", 4) 
低匆辛參幹秀刑侏窃、旦訟才潤更悶。
// Reimplement the Swift standard library's optional type
enum OptionalValue<T> {
 case None case Some(T)
}
var possibleInteger: OptionalValue<Int> = .None
possibleInteger = .Some(100) 
壓窃侏兆朔中聞喘where栖峺協匯倖俶箔双燕——箭泌?勣尫協糞孖匯倖亅咏議窃侏?俶勣尫協曾倖窃侏勣屢揖?賜宀尫協匯倖窃駅倬嗤匯倖蒙協議幻窃。
func anyCommonElements <T, U where T: Sequence, U: Sequence, T.GeneratorType.Element: Equatable, T.GeneratorType.Element == U.GeneratorType.Element> (lhs: T, rhs: U) -> Bool {
 for lhsItem in lhs {
 for rhsItem in rhs {
 if lhsItem == rhsItem {
 return true
 }
 }
 }
 return false
} 
anyCommonElements([1, 2, 3], [3]) 
膳楼?俐個anyCommonElements痕方栖幹秀匯倖痕方?卦指匯倖方怏?坪否頁曾倖會双議慌嗤圷殆。
酒汽軟需?低辛參策待where?峪壓丹催朔中亟俊笥賜宀窃兆。<T: Equatable>才<T where T: Equatable>頁吉勺議。
<貧匯准 和匯准>

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