SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Elixirだ 第1回強化版 後半
Elixirだ 第1回強化版 後半Elixirだ 第1回強化版 後半
Elixirだ 第1回強化版 後半Joe_noh
 
スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換1000 VICKY
 
Ekmett勉強会発表資料
Ekmett勉強会発表資料Ekmett勉強会発表資料
Ekmett勉強会発表資料時響 逢坂
 
Elixirだ 第1回強化版 前半
Elixirだ 第1回強化版 前半Elixirだ 第1回強化版 前半
Elixirだ 第1回強化版 前半Joe_noh
 
Elixirだ 第2回
Elixirだ 第2回Elixirだ 第2回
Elixirだ 第2回Joe_noh
 
スクリプトで文字コード変換
スクリプトで文字コード変換スクリプトで文字コード変換
スクリプトで文字コード変換1000 VICKY
 
Van laarhoven lens
Van laarhoven lensVan laarhoven lens
Van laarhoven lensNaoki Aoyama
 
Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -Elixirだ 第1回 - 基礎だ -
Elixirだ 第1回 - 基礎だ -Joe_noh
 
モナドハンズオン前座
モナドハンズオン前座モナドハンズオン前座
モナドハンズオン前座bleis tift
 
Vinculum
VinculumVinculum
Vinculumtomerun
 
マスターオブゴールーチンアンドチャネル スタートGo #1
マスターオブゴールーチンアンドチャネル   スタートGo #1マスターオブゴールーチンアンドチャネル   スタートGo #1
マスターオブゴールーチンアンドチャネル スタートGo #1Takuya Ueda
 
Enumはデキる子 ~ case .Success(let value): ~
 Enumはデキる子 ~ case .Success(let value): ~ Enumはデキる子 ~ case .Success(let value): ~
Enumはデキる子 ~ case .Success(let value): ~Takaaki Tanaka
 
Real World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたReal World OCamlを読んでLispと協調してみた
Real World OCamlを読んでLispと協調してみたblackenedgold
 
Erlangやってみた
ErlangやってみたErlangやってみた
Erlangやってみたina job
 
すごいConstたのしく使おう!
すごいConstたのしく使おう!すごいConstたのしく使おう!
すごいConstたのしく使おう!Akihiro Nishimura
 

Was ist angesagt? (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たのしく使おう!
 

Mehr von Tomohiro Kumagai

最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow
最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_grow
最近気づいた勉強法 — 勉強会開催の習慣化 #yumemi_growTomohiro Kumagai
 
Swift 所有権 要諦 #ゆるちとせ
Swift 所有権 要諦 #ゆるちとせSwift 所有権 要諦 #ゆるちとせ
Swift 所有権 要諦 #ゆるちとせTomohiro Kumagai
 
_Function Builders in Swift #love_swift
_Function Builders in Swift #love_swift_Function Builders in Swift #love_swift
_Function Builders in Swift #love_swiftTomohiro Kumagai
 
Property Wrappers の特徴を眺める #swiftzoomin
Property Wrappers の特徴を眺める #swiftzoominProperty Wrappers の特徴を眺める #swiftzoomin
Property Wrappers の特徴を眺める #swiftzoominTomohiro Kumagai
 
みんなで 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′ オープニング&資料Tomohiro Kumagai
 
みんなで Swift 復習会
GO! in 札幌 – 10th′′
みんなで Swift 復習会
GO! in 札幌 – 10th′′みんなで Swift 復習会
GO! in 札幌 – 10th′′
みんなで Swift 復習会
GO! in 札幌 – 10th′′Tomohiro Kumagai
 
イニシャライザー Part 2.5 #hakataswift
イニシャライザー Part 2.5 #hakataswiftイニシャライザー Part 2.5 #hakataswift
イニシャライザー Part 2.5 #hakataswiftTomohiro Kumagai
 
ニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラ
ニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラ
ニコニコ超会議・文化の交差点 #techpub #ニコニコ超会議 #さくらシンデレラTomohiro Kumagai
 
Swift クラスのイニシャライザー #devsap
Swift クラスのイニシャライザー #devsapSwift クラスのイニシャライザー #devsap
Swift クラスのイニシャライザー #devsapTomohiro Kumagai
 
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_swiftTomohiro Kumagai
 
Around the 変数 let #love_swift
Around the 変数 let #love_swiftAround the 変数 let #love_swift
Around the 変数 let #love_swiftTomohiro Kumagai
 
もくもく執筆会 #技術同人誌再販Night
もくもく執筆会 #技術同人誌再販Nightもくもく執筆会 #技術同人誌再販Night
もくもく執筆会 #技術同人誌再販NightTomohiro Kumagai
 
みんなで Swift 復習会 GO! in 岩手 – 9th′
みんなで Swift 復習会 GO! in 岩手 – 9th′みんなで Swift 復習会 GO! in 岩手 – 9th′
みんなで Swift 復習会 GO! in 岩手 – 9th′Tomohiro Kumagai
 
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 #hakataswiftTomohiro Kumagai
 
みんなで 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_swiftTomohiro Kumagai
 
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 #iosconTomohiro Kumagai
 
みんなで Swift 復習会
GO! in 京都 – 6th′
みんなで Swift 復習会
GO! in 京都 – 6th′みんなで Swift 復習会
GO! in 京都 – 6th′
みんなで Swift 復習会
GO! in 京都 – 6th′Tomohiro Kumagai
 
みんなで Swift 復習会 GO! in 福岡 – 5th′
みんなで Swift 復習会 GO! in 福岡 – 5th′みんなで Swift 復習会 GO! in 福岡 – 5th′
みんなで Swift 復習会 GO! in 福岡 – 5th′Tomohiro Kumagai
 
勉強会の東京外開催の気持ち #yuru_bounen2017
勉強会の東京外開催の気持ち #yuru_bounen2017勉強会の東京外開催の気持ち #yuru_bounen2017
勉強会の東京外開催の気持ち #yuru_bounen2017Tomohiro Kumagai
 
みんなで Swift 復習会 GO! in 福岡・発表資料
みんなで Swift 復習会 GO! in 福岡・発表資料みんなで Swift 復習会 GO! in 福岡・発表資料
みんなで Swift 復習会 GO! in 福岡・発表資料Tomohiro Kumagai
 

Mehr von 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 }