4XJGUίϯύΠϥʹ$POUSJCVUF͢Δ·ͰSwift愛好会 Vol. 54"QQMF͕։ൃͨ͠ΦʔϓϯιʔεͳίϯύΠϥʹߩݙ͢ΔGSFEEJ<ొஃऀ>͔ΜͨΜͳ4XJGUͷਂ͍ϨΠϠʔͷಡΈา͖ํ4XJGU*OUFSNFEJBUF-BOHVBHFɹɹ4*-0QUJNJ[FS
View Slide
GSFEEJ ొஃऀʹ͍ͭͯΠΩϦJ04&OHJOFFS
ࠓॳ৺ऀ͚ͷίϯύΠϥͷ͕$POUSJCVUF͢Δ·ͰʹͲΜͳ͜ͱ͔ͬͨw Ͳ͏͍͏ࣝΛಘ͔ͨw Ͳ͏͍͏ΞΫγϣϯΛ͔ͨ͠
୯ೖʹݴ͑4XJGUίϯύΠϥʹ$POUSJCVUF͠·ͨ͠w IUUQTHJUIVCDPNBQQMFTXJGUQVMMw IUUQTHJUIVCDPNBQQMFTXJGUQVMM
ԿΛ$POUSJCVUFͨ͠ͷʁҰͭ%PDTͷϛεͷగਖ਼w 4XJGUͷதؒදݱͷ(SBNNFS͕ϛεͬͯͨ͏Ұͭ࠷దԽϩδοΫͷόάw ੲɺొஃࢿྉ࡞ͬͯͨͱ͖ۮવݟ͚ͭͨͭ
ͱ͍͏Θ͚Ͱ4XJGU$POUSJCVUPSσϏϡʔ4XJGUίϯύΠϥͷษڧࣗମڈ͔Βw ίϯύΠϥશൠͷษڧͬͯͨw ͦͬͪʹཱ͔ͬͨඍົ
4XJGUίϯύΠϥͷษڧʹׂ͍ͭͯ̑͘Β͍ಠֶͰׂͬͨ̑͘Β͍Θ͍Θ͍TXJGUDͱ͔Ͱษڧw ݄̍ͷ4XJGUίϯύΠϥͷษڧձw աڈͷษڧձͷࢿྉಡΜͩΓw ؔ࿈͢ΔํͷࢿྉΛಡΜͩΓ
ϞνϕͬͯԿʁతح৺ͷෝ͘··ʹ͍ͬͯΔw ͕ΒதϞνϕ͋ΔΘ͚Ͱͳ͍ࣄͰ4XJGU͍ͬͯΔਂ͘Γ͍͔ͨΒ͋ͱͦͷࣝͰΈΜͳͱΘ͍Θ͍͢Δͷָ͍͠
4XJGUίϯύΠϥͷೖͱ͍͑͜ͷίϯύΠϥͷϑϩʔਤw ίϯύΠϥΔͱͷإΑΓݟΔӋʹͳΔ
4XJGUίϯύΠϥͷೖͱ͍͑4XJGU*OUFSNFEJBUF-BOHVBHF͔Βw 4XJGUͷதؒදݱݴޠ
4XJGU*OUFSNFEJBUF-BOHVBHF4XJGUͷಛ༗ͷதؒදݱw ௨শ4*-ίʔυΛநߏจʢ"45ʣʹͨ͠ޙͷϑΣʔζ3VTUʹಉ͡Α͏ͳதؒදݱ͕͋Δ
ͳͥ4*-͔Βͳͷ͔TXJGUDͷίʔυҾͬுΒΜ͍͍ͯ͘4*-͓खݩͰ͔ΜͨΜʹੜͰ͖Δ4*-Λ࠷దԽ͢ΔίϯύΠϥͷίʔυಡΈ͍͢w TXJGUDͷதͰൺֱతͱ͍͏ҙຯຊਓ͕Α͘4*-Λղઆ͍ͯ͠ΔͷͰจݙ๛
4XJGU͔Β4*-Λੜ͢Δw ҎԼͷίϚϯυͰมͰ͖Δswiftc -emit-sil hello.swift -o hello.silw ҎԼͷίʔυΛม͑ͯΈΔprint(“Hello SIL!”)
ಡΊͳ͍ɾɾɾʁ
ͰେৎLJUBTVLF͞Μͱ͍͏ํ͕ղઆ͍ͯ͠ΔIUUQTXXXTMJEFTIBSFOFULJUBTVLFTJMGPSpSTUUJNFMFBOFST
ͰେৎLJUBTVLF͞Μͱ͍͏ํ͕ຊΛॻ͍͍ͯΔIUUQTLJUBTVLFCPPUIQNJUFNT
ͷ4*-ͷษڧ๏͖ͬ͞հͨ͠ຊͱࢿྉಡΈړ͍ͬͨΖΜͳ4XJGUίʔυΛ4*-ʹͯ͠ಡΜͩ4*-ͷߏΛཧղͨ͠
ͷ4*-ͷษڧ๏4*-͕ಡΊΔΑ͏ʹͳͬͨ͢Δͱ4*-0QUJNJ[FS͕ಡΊΔΑ͏ʹͳΔ͜ͱʹؾͮ͘
4*-0QUJNJ[FS͖ͬ͞ͷ4*-Λ࠷దԽ͢ΔίϯύΠϥͷϞδϡʔϧ4XJGUಛ༗ͷ࠷దԽΛߦ͏
4*-0QUJNJ[FSʹؔͯ͜͠ͷຊ͕ࢀߟʹͳΔIUUQTLJUBTVLFCPPUIQNJUFNT
࣍4*-0QUJNJ[FS͜ͷ͜Ζ͔ΒࣗͰίϯύΠϥΛHJUDMPOFͨ͠ίϯύΠϥͷίʔυΛ࿔ͬͯࣗͷ0QUJNJ[FS࡞ͬͨ
4*-0QUJNJ[FSͷษڧͦͷ࣌ͷͷղઆಈը͕͜ΕIUUQTXXXZPVUVCFDPNXBUDI W2#9D$5GXZ;
࣍0QUJNJ[FSͷதͷΈ͕ؾʹͳΔʮ෭࡞༻ͷ͋ΔίʔυʯΛൃݟ͢ΔΈw ͜Ε͕ؾʹͳΓ͗ͯ͢͠ΐ͏͕ͳ͍ͷͰௐࠪ
ʮ෭࡞༻ͷ͋ΔίʔυʯΛൃݟ͢ΔΈΜͰ͜Εʹ͍ͭͯొஃIUUQTTQFBLFSEFDLDPNGSFEEJNBZIBWFTJEFF⒎FDU
͜ͷௐࠪΛ௨ͯ͡ۮવόάΛݟ͚ͭΔͦΕ͕͖ͬ͞ͷ̎ͭͷBQQMFTXJGUͷ13ҙ֎ͳͱ͜Ζͷௐ͕͖͔͚ࠪͬͯ$POUSJCVUF
͑ɺ$POUSJCVUFͨ͠ͷӡήʔ͡ΌΜͦ͏Ͱͳ͍ؾ͕͢Δw (JUIVCʹ͋Δެࣜͷ4*-ͷղઆΨόΨόw '*9.&ͱ͔ҙ֎ͱࢸΔͱ͜Ζʹ͋Δw νϟϯϨϯδͷՄೳੑແݶେ
$POUSJCVUFνϟϯεɺଞʹʁIUUQTCVHTTXJGUPSHͱ͔όάใࠂͨ͘͞Μ͋Δ
͓લͷೖͬ͘͟Γ͗ͯ͢͠Θ͔ΒΜLJUBTVLF͞Μ͕ຊΛ SZIUUQTLJUBTVLFCPPUIQNJUFNT
ࣗ৴͕͍ͭͯདྷͯɺࣗ৴͕ͳͯ͘Θ͍Θ͍TXJGUDʹࢀՃͯ͠ͶʂొஃେܴIUUQTJPTEJTDPSEDPOOQBTTDPN
·ͱΊ4XJGUίϯύΠϥҙ֎ͱೖ͍͢͠ΑΘ͍Θָ͍͘͠ษڧ͢Δͱ͍͔ͭ$POUSJCVUFͰ͖ΔΑΘ͍Θ͍TXJGUDੋඇࢀՃͯ͠Ͷʢొஃʂʣ