SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
let p1 = 1299.00
let p2 = 649.00
let p3 = 399.00
let ps = [p1, p2, p3]
let m = ps.max()
let priceOfMacBook = 1299.00
let priceOfIPhone = 649.00
let priceOfAppleWatch = 399.00
let pricesOfProducts = [priceOfIPhone,
priceOfMacBook,
priceOfAppleWatch]
let maxPriceOfProducts = pricesOfProducts.max()
let maxCapacity = 100
maxCapacity = 20
var amount = 10
amount = 20
let maxCapacity = 100
var amount = 10




struct Cup {
let maxCapacity: Int = 100
var amount: Int = 10
mutating var add(amount: Int) {…}
mutating var drop(amount: Int) {…}
}
let
var
// 引数として渡したい値は、決めたら変わらない
let n = currentMonth - startMonth
// 算出した結果は、決まったら変わらない
let pairOfAnimals = fibonacci(n)
/// 動物を入れる籠
class Cage {
// ケージの中の数は、状況に応じて変わる
var numberOfAnimals: Int
}
// 不変値変数なら let で定義
let pi = 3.14
// 可変値変数なら var で定義
var attempts = 1
Double 型
Int 型
// 明記すれば、確実にその型として扱える
let pi: Double = 3.14
// 変数の型と値の型が異なれば、エラーで検出可能
let attempt: Int = 1.05
Double 型
let pi: Double = 3.14




// UILabel を、その継承元の UIView として扱う
let view: UIView = UILabel()
// 整数値を Int? として扱う
var value: Int? = 100
UIView 型
Int? 型
// 浮動小数点数リテラルを Float 型で扱う
let pi: Float = 3.14
// 明記しなければ、リテラル毎に決められた既定の型
let pi = 3.14
代入先が Float なので、Float として扱われる
浮動小数点数リテラルの既定の型は Double 型
// 整数リテラルを Double 型として扱う
let value = 100 as Double
// アップキャスト
let view = NSTextField() as NSView
// ブリッジ
let string = NSString() as String
右辺が Double 型なので、変数の型は Double 型と推論
let maxAttempts: Int
if retryingEnabled {
maxAttempts = 10
}
else {
maxAttempts = 1
}
// 初期値つきで定義(型は推論)
let red = 0.5, green = 0.3, blue = 1.0
// 型指定つきで定義(遅延初期化)
let red: Double, green: Double, blue: Double
// 初期値をつけたり、型をつけたり、推論したり
let red = 0.5, green: Double, blue: Double = 1.0
// 全て Double 型
let red, green, blue: Double
// a だけ Int 型、b と c は Double 型
let a: Int, b, c: Double
// 初期値によって型は影響を受ける(初期値優先)
let a, b: Int, c = 5, d: Double
// 初期値を指定した変数の前は、型明記が必要
let a, b = 5
// 初期値つきで定義(型は推論)
let (red, green, blue) = (0.5, 0.3, 1.0)
// 型指定つきで定義(遅延初期化、同時初期化も可)
let (red, green, blue): (Double, Double, Double)
// よくあるタプルの使い方とは別な印象
let color: (red:Double, green:Double, blue:Double)
struct Color {
var red: Int
var green: Int
var blue: Int
}
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift
みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift

Mais conteúdo relacionado

Mais procurados

スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換
1000 VICKY
 
Ekmett勉強会発表資料
Ekmett勉強会発表資料Ekmett勉強会発表資料
Ekmett勉強会発表資料
時響 逢坂
 
Vinculum
VinculumVinculum
Vinculum
tomerun
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
blackenedgold
 

Mais procurados (20)

Elixirだ 第1回強化版 後半
Elixirだ 第1回強化版 後半Elixirだ 第1回強化版 後半
Elixirだ 第1回強化版 後半
 
Stristr
StristrStristr
Stristr
 
スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換
 
Ekmett勉強会発表資料
Ekmett勉強会発表資料Ekmett勉強会発表資料
Ekmett勉強会発表資料
 
Elixirだ 第1回強化版 前半
Elixirだ 第1回強化版 前半Elixirだ 第1回強化版 前半
Elixirだ 第1回強化版 前半
 
Elixirだ 第2回
Elixirだ 第2回Elixirだ 第2回
Elixirだ 第2回
 
スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換
 
Van laarhoven lens
Van laarhoven lensVan laarhoven lens
Van laarhoven lens
 
Applicative functor
Applicative functorApplicative functor
Applicative functor
 
Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -
 
モナドハンズオン前座
モナドハンズオン前座モナドハンズオン前座
モナドハンズオン前座
 
Vinculum
VinculumVinculum
Vinculum
 
マスターオブゴールーチンアンドチャネル スタートGo #1
マスターオブゴールーチンアンドチャネル   スタートGo #1マスターオブゴールーチンアンドチャネル   スタートGo #1
マスターオブゴールーチンアンドチャネル スタートGo #1
 
Task
TaskTask
Task
 
Boost tour 1.60.0 merge
Boost tour 1.60.0 mergeBoost tour 1.60.0 merge
Boost tour 1.60.0 merge
 
Enumはデキる子 ~ case .Success(let value): ~
 Enumはデキる子 ~ case .Success(let value): ~ Enumはデキる子 ~ case .Success(let value): ~
Enumはデキる子 ~ case .Success(let value): ~
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみた
 
Lt 111119
Lt 111119Lt 111119
Lt 111119
 
Erlangやってみた
ErlangやってみたErlangやってみた
Erlangやってみた
 
すごいConstたのしく使おう!
すごいConstたのしく使おう!すごいConstたのしく使おう!
すごいConstたのしく使おう!
 

Mais de Tomohiro Kumagai

Mais de Tomohiro Kumagai (20)

最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow
最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow
最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow
 
Swift 所有権 要諦 #ゆるちとせ
Swift 所有権 要諦 #ゆるちとせSwift 所有権 要諦 #ゆるちとせ
Swift 所有権 要諦 #ゆるちとせ
 
_Function Builders in Swift #love_swift
_Function Builders in Swift #love_swift_Function Builders in Swift #love_swift
_Function Builders in Swift #love_swift
 
Property Wrappers の特徴を眺める #swiftzoomin
Property Wrappers の特徴を眺める #swiftzoominProperty Wrappers の特徴を眺める #swiftzoomin
Property Wrappers の特徴を眺める #swiftzoomin
 
みんなで Swift 復習会 GO! in "Swift Days Fukuoka" – 12nd′ オープニング&資料
みんなで Swift 復習会 GO! in "Swift Days Fukuoka" – 12nd′ オープニング&資料みんなで Swift 復習会 GO! in "Swift Days Fukuoka" – 12nd′ オープニング&資料
みんなで Swift 復習会 GO! in "Swift Days Fukuoka" – 12nd′ オープニング&資料
 
みんなで Swift 復習会
GO! in 札幌 – 10th′′
みんなで Swift 復習会
GO! in 札幌 – 10th′′みんなで Swift 復習会
GO! in 札幌 – 10th′′
みんなで Swift 復習会
GO! in 札幌 – 10th′′
 
イニシャライザー Part 2.5 #hakataswift
イニシャライザー Part 2.5 #hakataswiftイニシャライザー Part 2.5 #hakataswift
イニシャライザー Part 2.5 #hakataswift
 
ニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラ
ニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラ
ニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラ
 
Swift クラスのイニシャライザー #devsap
Swift クラスのイニシャライザー #devsapSwift クラスのイニシャライザー #devsap
Swift クラスのイニシャライザー #devsap
 
iOSCon 2019 in London #ioscon #love_swift
iOSCon 2019 in London #ioscon #love_swiftiOSCon 2019 in London #ioscon #love_swift
iOSCon 2019 in London #ioscon #love_swift
 
Around the 変数 let #love_swift
Around the 変数 let #love_swiftAround the 変数 let #love_swift
Around the 変数 let #love_swift
 
もくもく執筆会 #技術同人誌再販Night
もくもく執筆会 #技術同人誌再販Nightもくもく執筆会 #技術同人誌再販Night
もくもく執筆会 #技術同人誌再販Night
 
みんなで Swift 復習会 GO! in 岩手 – 9th′
みんなで Swift 復習会 GO! in 岩手 – 9th′みんなで Swift 復習会 GO! in 岩手 – 9th′
みんなで Swift 復習会 GO! in 岩手 – 9th′
 
macOS アプリで Swift Package Manager を使ってみる #love_swift #hakataswift
macOS アプリで Swift Package Manager を使ってみる #love_swift #hakataswiftmacOS アプリで Swift Package Manager を使ってみる #love_swift #hakataswift
macOS アプリで Swift Package Manager を使ってみる #love_swift #hakataswift
 
みんなで Swift 復習会 GO! in 福岡 – 8th′ #minna_de_swift
みんなで Swift 復習会 GO! in 福岡 – 8th′ #minna_de_swiftみんなで Swift 復習会 GO! in 福岡 – 8th′ #minna_de_swift
みんなで Swift 復習会 GO! in 福岡 – 8th′ #minna_de_swift
 
Getting Started with Attending iOSCon in London 高画質・追記版 #love_swift #ioscon
Getting Started with Attending iOSCon in London 高画質・追記版 #love_swift #iosconGetting Started with Attending iOSCon in London 高画質・追記版 #love_swift #ioscon
Getting Started with Attending iOSCon in London 高画質・追記版 #love_swift #ioscon
 
みんなで Swift 復習会
GO! in 京都 – 6th′
みんなで Swift 復習会
GO! in 京都 – 6th′みんなで Swift 復習会
GO! in 京都 – 6th′
みんなで Swift 復習会
GO! in 京都 – 6th′
 
みんなで Swift 復習会 GO! in 福岡 – 5th′
みんなで Swift 復習会 GO! in 福岡 – 5th′みんなで Swift 復習会 GO! in 福岡 – 5th′
みんなで Swift 復習会 GO! in 福岡 – 5th′
 
勉強会の東京外開催の気持ち #yuru_bounen2017
勉強会の東京外開催の気持ち #yuru_bounen2017勉強会の東京外開催の気持ち #yuru_bounen2017
勉強会の東京外開催の気持ち #yuru_bounen2017
 
みんなで Swift 復習会 GO! in 福岡・発表資料
みんなで Swift 復習会 GO! in 福岡・発表資料みんなで Swift 復習会 GO! in 福岡・発表資料
みんなで Swift 復習会 GO! in 福岡・発表資料
 

みんなで Swift 復習会での談笑用スライド – 4th #minna_de_swift

  • 1.
  • 2.
  • 3.
  • 4. let p1 = 1299.00 let p2 = 649.00 let p3 = 399.00 let ps = [p1, p2, p3] let m = ps.max()
  • 5. let priceOfMacBook = 1299.00 let priceOfIPhone = 649.00 let priceOfAppleWatch = 399.00 let pricesOfProducts = [priceOfIPhone, priceOfMacBook, priceOfAppleWatch] let maxPriceOfProducts = pricesOfProducts.max()
  • 6.
  • 7. let maxCapacity = 100 maxCapacity = 20
  • 8. var amount = 10 amount = 20
  • 9. let maxCapacity = 100 var amount = 10 
 

  • 10.
  • 11. struct Cup { let maxCapacity: Int = 100 var amount: Int = 10 mutating var add(amount: Int) {…} mutating var drop(amount: Int) {…} } let var
  • 12. // 引数として渡したい値は、決めたら変わらない let n = currentMonth - startMonth // 算出した結果は、決まったら変わらない let pairOfAnimals = fibonacci(n)
  • 13. /// 動物を入れる籠 class Cage { // ケージの中の数は、状況に応じて変わる var numberOfAnimals: Int }
  • 14.
  • 15. // 不変値変数なら let で定義 let pi = 3.14 // 可変値変数なら var で定義 var attempts = 1 Double 型 Int 型
  • 16. // 明記すれば、確実にその型として扱える let pi: Double = 3.14 // 変数の型と値の型が異なれば、エラーで検出可能 let attempt: Int = 1.05 Double 型
  • 17.
  • 18. let pi: Double = 3.14 
 

  • 19. // UILabel を、その継承元の UIView として扱う let view: UIView = UILabel() // 整数値を Int? として扱う var value: Int? = 100 UIView 型 Int? 型
  • 20. // 浮動小数点数リテラルを Float 型で扱う let pi: Float = 3.14 // 明記しなければ、リテラル毎に決められた既定の型 let pi = 3.14 代入先が Float なので、Float として扱われる 浮動小数点数リテラルの既定の型は Double 型
  • 21. // 整数リテラルを Double 型として扱う let value = 100 as Double // アップキャスト let view = NSTextField() as NSView // ブリッジ let string = NSString() as String 右辺が Double 型なので、変数の型は Double 型と推論
  • 22.
  • 23. let maxAttempts: Int if retryingEnabled { maxAttempts = 10 } else { maxAttempts = 1 }
  • 24.
  • 25. // 初期値つきで定義(型は推論) let red = 0.5, green = 0.3, blue = 1.0 // 型指定つきで定義(遅延初期化) let red: Double, green: Double, blue: Double // 初期値をつけたり、型をつけたり、推論したり let red = 0.5, green: Double, blue: Double = 1.0
  • 26. // 全て Double 型 let red, green, blue: Double // a だけ Int 型、b と c は Double 型 let a: Int, b, c: Double // 初期値によって型は影響を受ける(初期値優先) let a, b: Int, c = 5, d: Double // 初期値を指定した変数の前は、型明記が必要 let a, b = 5
  • 27. // 初期値つきで定義(型は推論) let (red, green, blue) = (0.5, 0.3, 1.0) // 型指定つきで定義(遅延初期化、同時初期化も可) let (red, green, blue): (Double, Double, Double) // よくあるタプルの使い方とは別な印象 let color: (red:Double, green:Double, blue:Double)
  • 28.
  • 29. struct Color { var red: Int var green: Int var blue: Int }