Slide 1

Slide 1 text

੍ޚߏจ2 MOBILEPROGRAMMING OCT, 15TH

Slide 2

Slide 2 text

ςΩετ ੍ޚߏจʂ ▸ if΍for-inͳͲ෼ذ΍܁Γฦ͠ॲཧΛಛఆͷจʹߏ଄Խͨ͠΋ͷ ▸ ϓϩάϥϜͷߏ଄͸ ॱ࣍ɺબ୒ɺ൓෮ͷࡾͭʹ෼ྨ͞ΕΔ ▸ ͜ΕΒΛ૊Έ߹Θͤͯϓϩάϥϛϯά͢Δํ๏Λߏ଄Խϓϩάϥ ϛϯάͱݺͿ ▸ ࠓճ͸܁Γฦ͠ͷߏจʹߜͬͯ΍ͬͯߦ͖·͢ ▸ ݴޠʹΑͬͯ͸for΍whileͱ͍͏ߏจ͕ଘࡏ͠ͳ͍(or ͨͩͷγ ϯλοΫεγϡΨʔ)

Slide 3

Slide 3 text

1. FOR-IN

Slide 4

Slide 4 text

ςΩετ FOR-INจ ▸ ܁Γฦ͠ॲཧΛ͢Δͱ͖ͷجຊతͳߏจ ▸ ߏจ͸ for <ม਺> in { /* loop */ } ▸ Լهͷforͱ۠ผ͢ΔͨΊʹ for-inͱݺ͹Ε·͢ ▸ for (int i = 0; i <= 10, i++) { /* loop */ } ▸ ͷΑ͏ͳߏจ͸Swift 3.0 Ҏ߱ഇࢭ͞Ε·ͨ͠ ▸ ͜ͷΑ͏ͳforจΛC-style forͱݺͼ·͢ ▸ forจ͸ಛఆͷճ਺܁Γฦ͠ॲཧΛ͍ͨ͠ͱ͍͏Α͏ͳ৔߹ʹΑ͘࢖͍·͢

Slide 5

Slide 5 text

ςΩετ ͳΜͰC-STYLE FOR ͸ফ͑ͨʁ ▸ ؆ܿʹ͍͏ͱSwiftΒ͘͠ͳ͍͔Β ▸ CݴޠܦݧऀҎ֎ʹ͸Θ͔Γʹ͍͘͠ ▸ ॳΊͯSwiftΛֶͿਓʹͱͬͯ͸֮͑ʹ͍͘ ▸ ΠϯΫϦϝϯτɺσΫϦϝϯτʹΑΔ໰୊΋͋Δ͠ for (let i = 0; i <= 10; i++) { // loop... for (let j = 0; j <= 10;, i++) { print("it's a infinity loop!") } }

Slide 6

Slide 6 text

Ͱ͸Ͳ͏΍ͬͯ ϧʔϓͤ͞Δʁ

Slide 7

Slide 7 text

1-1.RANGE

Slide 8

Slide 8 text

ςΩετ RANGE(ൣғԋࢉࢠ)Λ࢖͏ ▸ Ұ൪؆୯ͳ΍Γํ ▸ switchͷ࣌ʹग़͖ͯͨΑ͏ʹ 0…10 ͱͯ͠ 0 ~ 10·Ͱͷ Sequence(Array)Λ࡞੒ ▸ ͦΕΛfor-inͱ૊Έ߹ΘͤΔ // Range let range = 0...10 for number in range { print("number: \(number)") }

Slide 9

Slide 9 text

ςΩετ FOR-IN STLIDE ▸ for-inͱ stlide Λ࢖༻͢Δ͜ͱͰִؒΛ։͚ͯϧʔϓͤ͞Δ ͜ͱ͕Ͱ͖·͢ // 0͔Β10·ͰೋͭͱͼͰϧʔϓ for number in stride(from: 0, to: 10, by: 2) { print("number: \(number)") }

Slide 10

Slide 10 text

1-2. ARRAY

Slide 11

Slide 11 text

ςΩετ ARRAYΛ࢖͏ ▸ ͜Ε΋ඇৗʹΦʔιυοΫεͳ΍Γํ ▸ ఆٛࡁΈͷarrayʹରͯ͠for-inΛ࢖͏ ▸ indexͰΞΫηε͢Δํ๏ʹൺ΂ Array ͷൣғ֎ʹΞΫηε ͯ͠͠·͏͜ͱ͕ͳ͍ͨΊ҆શ // Array let array = ["sunday", "monday", "tuesday", "wednsday", "thursday", "friday", "Saturday"] for number in array { print("number: \(number)") }

Slide 12

Slide 12 text

1-3.DICTIONARY

Slide 13

Slide 13 text

ςΩετ DICTIONARYΛ࢖͏ ▸ ͜Ε΋ׂͱΦʔιυοΫεͳ΍Γํ ▸ ఆٛࡁΈͷdictionaryʹରͯ͠for-inΛ࢖͏ ▸ key, value ͷܗʹͳ͍ͬͯΔͨΊ for ͷҾ਺͸ೋͭʹͳΔ // Dictionary let dic = ["Animal": "Cat", "Fruit": "Banana"] for (key, value) in dic { print("key: \(key)") print("value: \(value)") }

Slide 14

Slide 14 text

2. WHILE

Slide 15

Slide 15 text

ςΩετ WHILEจ ▸ ܁Γฦ͠ॲཧΛ͢Δͱ͖ͷجຊతͳߏจ ▸ ߏจ͸ while <ϧʔϓ৚݅> { /* loop */ } ▸ whileจ͸ಛఆͷ৚݅ʹϚον͢Δ·Ͱ܁Γฦ͠ॲཧΛͨ͠ ͍࣌ʹ࢖͏ var count = 0 var total = 0 while count < 5 { count += 1 total += count } print("count: \(count) total: \(total)")

Slide 16

Slide 16 text

3. ੍ޚసૹ

Slide 17

Slide 17 text

ςΩετ ੍ޚసૹ(CONTROL TRANSFER STATEMENTS)ʁ ▸ ੍ޚసૹ(Control Transfer Statements)͸ϓϩάϥϜͷॲཧ ΛΛ͋Δ৔ॴ͔Βผͷ৔ॴʹҠ͢ػೳͷ͜ͱ ▸ ྫ͑͹continue ΍ break, switchͷfallthroughͳͲ͕͋Δ ▸ ؔ਺ͷreturn΍ Τϥʔॲཧʹग़ͯ͘Δ throw ΋ಉ͡ ▸ ࠓճ͸breakͱcontinueʹߜ͓ͬͯ࿩Λ͠·͢

Slide 18

Slide 18 text

3-1.BREAK

Slide 19

Slide 19 text

ςΩετ BREAK ▸ ଞͷݴޠಉ༷Swiftʹ΋ break ͕͋Γ·͢ ▸ ಛఆͷ৚݅ͷ࣌ʹϧʔϓ͔Βൈ͚͍ͨ৔߹ʹbreakΛ࢖༻͠ ·͢ for i in 0...10 { // 11ճϧʔϓͤ͞·͢ɻ if i >= 3 { // i ͕ 3 Ҏ্ʹͳͬͨͱ͖ʹൈ͚Δ break } print(i) }

Slide 20

Slide 20 text

3-2. CONTINUE

Slide 21

Slide 21 text

ςΩετ CONTINUE ▸ ଞͷݴޠಉ༷Swiftʹ΋ continue ͕͋Γ·͢ ▸ ಛఆͷ৚݅ͷ࣌ʹॲཧΛεΩοϓ͍ͨ͠৔߹͸continueΛ࢖ ༻͠·͢ ▸ breakͱ͸ҧ͍loopΛൈ͚Δ͜ͱ͸͋Γ·ͤΜ for i in 0...10 { if i % 3 == 0 { // 3ͷഒ਺ͷ࣌͸εΩοϓ continue } print(i) }

Slide 22

Slide 22 text

͓·͚

Slide 23

Slide 23 text

ςΩετ FOR΍WHILEΛ࢖Θͳ͍ʁ ▸ ๯಄Ͱগ͓͠࿩ͨ͠௨ΓݴޠʹΑͬͯ͸for΍while͕ଘࡏ͠ ͳ͍Ͱ͢ ▸ Ͱ͸Ͳ͏΍ͬͯ܁Γฦ͠Λදݱ͢ΔͷͰ͠ΐ͏͔ʁ ▸ ํ๏͸͍͔ͭ͋͘ΓҰͭ͸ߴ֊ؔ਺Λ࢖͏ํ๏ ▸ ΋͏Ұͭ͸࠶ؼؔ਺Λ࢖͏ํ๏Ͱ͢

Slide 24

Slide 24 text

͓·͚: ߴ֊ؔ ਺

Slide 25

Slide 25 text

ςΩετ ߴ֊ؔ਺ʁ ▸ ؔ਺ΛҾ਺ʹͱͬͨΓɺؔ਺Λฦؔ͢਺ ▸ ΍΍͍͜͠ͷͰࠓ͸ৄ͘͠͸આ໌͠·ͤΜ ▸ ܁Γฦ͠ͷͨΊͷ༗໊Ͳ͜ΖͰ͸ map, ΍ forEach ͳͲ͕͋ Γ·͢ ▸ for-inΛ࢖͏ํ๏ΑΓ؆ܿʹॻ͘͜ͱ͕Ͱ͖·͢

Slide 26

Slide 26 text

ςΩετ ͨͱ͑͹ʁ ▸ ஋ஈͷϦετʹରͯ͠ফඅ੫Λ͔͚ͨޙͷ஋ஈͷϦετΛੜ ੒͢ΔྫΛߟ͑·͢ ▸ ͜ΕΛfor-inͰॻ͘ͱ࣍ͷΑ͏ʹͳΓ·͢

Slide 27

Slide 27 text

ςΩετ ϥϯμϜʹੜ੒ͨ͠਺஋ͷഒ਺ΛٻΊΔ // ফඅ੫཰
 let taxRate = 0.08 // ஋ஈͷϦετ let prices: [Double] = [10000, 9800, 34570, 29800, 114514] // ·ͣ͸ۭͷ഑ྻΛੜ੒ var newPrices = [Double]()

Slide 28

Slide 28 text

ςΩετ ϥϯμϜʹੜ੒ͨ͠਺஋ͷഒ਺ΛٻΊΔ // ফඅ੫཰
 let taxRate = 0.08 // ஋ஈͷϦετ let prices: [Double] = [10000, 9800, 34570, 29800, 114514] // ·ͣ͸ۭͷ഑ྻΛੜ੒ var newPrices = [Double]()
 // for-inͰҰ౓഑ྻ͔ΒऔΓग़ͯ͠ɾɾɾ for price in prices { }

Slide 29

Slide 29 text

ςΩετ ϥϯμϜʹੜ੒ͨ͠਺஋ͷഒ਺ΛٻΊΔ // ফඅ੫཰
 let taxRate = 0.08 // ஋ஈͷϦετ let prices: [Double] = [10000, 9800, 34570, 29800, 114514] // ·ͣ͸ۭͷ഑ྻΛੜ੒ var newPrices = [Double]()
 // for-inͰҰ౓഑ྻ͔ΒऔΓग़ͯ͠ɾɾɾ for price in prices { let newPrice = price * taxRate newPrices.append(newPrice) // ·ͨ഑ྻ΁ೖΕΔʂ }

Slide 30

Slide 30 text

߇͑Ίʹݴͬͯ ໘౗

Slide 31

Slide 31 text

ςΩετ ߴ֊ؔ਺Λ࢖ͬͨ৔߹ ▸ ߴ֊ؔ਺(ࠓճ͸map)Λ࢖͏ͱ࣍ͷΑ͏ʹॻ͘͜ͱ͕Ͱ͖· ͢ // ফඅ੫཰
 let taxRate = 0.08 // ஋ஈͷϦετ let prices: [Double] = [10000, 9800, 34570, 29800, 114514]

Slide 32

Slide 32 text

ςΩετ ߴ֊ؔ਺Λ࢖ͬͨ৔߹ ▸ ߴ֊ؔ਺(ࠓճ͸map)Λ࢖͏ͱ࣍ͷΑ͏ʹॻ͘͜ͱ͕Ͱ͖· ͢ // ফඅ੫཰
 let taxRate = 0.08 // ஋ஈͷϦετ let prices: [Double] = [10000, 9800, 34570, 29800, 114514] let newPrices = prices.map { $0 * taxRate } // ׬੒ʂ

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

୹͍ʂ

Slide 35

Slide 35 text

ςΩετ ୹͍ʂ ▸ ߴ֊ؔ਺Λ࢖͏ͱͱͯ΋؆ܿʹ͔͚·͢ ▸ ࠓճ࢖ͬͨmapͱ͍͏ߴ֊ؔ਺͸഑ྻͷத਎ʹॱ൪ʹड͚ औͬͨॲཧΛద༻͠ɺ৽͍͠഑ྻΛੜ੒͢Δؔ਺Ͱ͢ ▸ { $0 * taxRate } ͷ෦෼͕഑ྻͷத਎શͯʹద༻͞Εɺͦͷ݁ Ռ͕৽͍͠഑ྻͱͳΓ·͢ ▸ ߴ֊ؔ਺Λ࢖͏͜ͱͰ༨ܭͳίʔυΛল͖ɺͲΜͳॲཧΛ ͍ͨ͠ͷ͔ʁͱ͍͏෦෼ʹूதͰ͖·͢

Slide 36

Slide 36 text

ͪΐͬͱ଴ͬ ͯʂ (TWITTERฒײ)

Slide 37

Slide 37 text

ͦ΋ͦ΋ؔ਺ͬͯ ͳΜ͚ͩͬʁ