Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「var禁止」禁止
Search
RyotaMurohoshi
February 20, 2016
Technology
0
17
「var禁止」禁止
2016/02/20 Hokuriku Comm CampのLTで発表した際のプレゼンテーションスライドです。
RyotaMurohoshi
February 20, 2016
Tweet
Share
More Decks by RyotaMurohoshi
See All by RyotaMurohoshi
Tilemapのアップデートについて
ryotamurohoshi
0
52
Unityの合同同人誌や合同商業誌を書いてる僕は感想やレビューや評価が欲しい
ryotamurohoshi
0
560
Unity 2021.1での Unityパッケージの名称変更について
ryotamurohoshi
0
760
Odin Validationはいいぞ!
ryotamurohoshi
2
1k
Tilemapはいいぞ!2020 〜すごいぞ、プロジェクト専用拡張Brush〜
ryotamurohoshi
0
2.4k
Unityでも、新しいC#
ryotamurohoshi
0
1.4k
Riderはいいぞ!
ryotamurohoshi
1
3.6k
Riderのススメ〜俺はRiderここが好き〜
ryotamurohoshi
1
2.6k
Unity開発者に伝えたい.NETのこと
ryotamurohoshi
4
38k
Other Decks in Technology
See All in Technology
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
320
手動から自動へ、そしてその先へ
moritamasami
0
300
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
740
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.5k
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
5
1.5k
チーリンについて
hirotomotaguchi
6
2k
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
文字列の並び順 / Unicode Collation
tmtms
3
580
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
350
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
250
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
1
140
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
1
770
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
Building Applications with DynamoDB
mza
96
6.8k
A Modern Web Designer's Workflow
chriscoyier
698
190k
Building an army of robots
kneath
306
46k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Fireside Chat
paigeccino
41
3.7k
Bash Introduction
62gerente
615
210k
Transcript
ʮvarېࢭʯېࢭ @RyotaMurohoshi 2016/02/20()(Hokuriku(ComCamp(2016(powered(by(MVPs
C#Λॻ͍͍ͯͯɺ͜Μͳ͜ͱ ݴΘΕͨ͜ͱͳ͍Ͱ͔͢ʁ
ʮvar͏ͷېࢭͳʂʯ
ࣗݾհ @RyotaMurohoshiͰ͢
ઍ༿ݝദࢢ͔Β͖·ͨ͠
࣮Ո৽ׁݝͰ͢
UnityΫϥελ͔Β͖·ͨ͠
Ξϯέʔτʂ
C#er%!? ͬͨ͜ͱ͋Δਓʂʁ
ʮvarʯ͕Կ͔Θ͔Δ$!? C#erͳΒΘ͔ΔΑͶʂʁ
Javaॻ͘Αͬͯͻͱ$!?
ʮvarېࢭʯݴΘΕͨ͜ͱ͋Δ$!? ͭΒ͍orz
͋Γ͕ͱ͏͍͟͝·ͨ͠
C#ͷศརͳݴޠػೳͷʮvarʯ ੈͷதʹɺͦΕΛݏ͏ɾΘͳ͍ਓ͕͍ΔΒ͍͠Ͱ͢
ͦΕΛΘͳ͍ͳΜͯͱΜͰͳ͍
ʮvarʯͪΌΜͱ͓͏ͥ
ʮvarېࢭʯېࢭ
ͦΕͰʮvarېࢭʯͬͯݴΘΕͨ࣌ͷ ͍͍ײ͡ͷฦ͠Λߟ͍͖͑ͯ·͠ΐ͏ʂ
έʔε1 ʮvarɺܕ͕ͳͯ͘ΩϞ͍͔Βېࢭͳʂʯ ͬͯݴΘΕΔ
έʔε1ͷݪҼ varΛͪΌΜͱཧղ͍ͯ͠ͳ͍
ʮvarͱʁʯ ҉తʹܕࢦఆ͞ΕΔϩʔΧϧม from%MSDN%h+ps:/ /msdn.microso5.com/ja8jp/library/bb384061.aspx
҉తʹܕࢦఆ͞ΕΔϩʔΧϧม
varɺܕ͋Γ·͢ʂ ໌ࣔతʹมͷܕΛॻ͔ͳ͍͚ͩʂ
// ໌ࣔతʹมͷܕΛॻ͍͍ͯΔ string name = "RyotaMurohoshi"; // =ͷӈล͕จࣈྻϦςϥϧ͔ͩΒstringܕ var title
= "ʮvarېࢭʯېࢭ";
varɺ͔͚ͯ͘ૉఢΜʂ // ΞϗΈ͍ͨʹ͍ܕ໊(ۃ)Λ2ճॻ͘ʂʁ Dictionary<HogeFuga, List<PiyoPiyoPiyo>> dictionary = new Dictionary<HogeFuga, List<PiyoPiyoPiyo>>();
// 1ճॻ͚͍͍ΑͶ var dictionary = new Dictionary<HogeFuga, List<PiyoPiyoPiyo>>(); Θ͟Θ͟ಉ͜͡ͱɺ2ճॻ͘ඞཁͳ͍ΑͶ
έʔε1·ͱΊ varʹܕ͕͋Δɺ໌ࣔతʹͳͬͯͳ͍͚ͩͰɻ ʮvarɺܕ͕ͳͯ͘ΩϞ͍͔Βېࢭͳʂʯͬͯ ݴΘΕͨ߹ɺ૬खvarΛצҧ͍͍ͯ͠Δ͔Βڭ͑ͯ͋͛Α͏ʂ
͖ͭͮ·ͯ͠...
έʔε2 ʮvarɺԿͷܕ͔͔Γʹ͍͔͘Βېࢭͳʂʯ ͬͯݴΘΕΔ
έʔε2ͷݪҼ varͷཚ༻ɻదʹvarΛ͍ͬͯͳ͍ͨΊɻ
(Զ͕ࢥ͏)#varͷྑ͘ͳ͍ར༻ྫ ʮͳΜͩΑɺ͜ͷϝιουͷฦΓͷܕʯͬͯͳΔʂ ɹ var result = GetResults();
varͷཚ༻orz
varΛͬͯܕ͕Θ͔Δ࣌ʹɺ varΛ͓͏ʂ
(Զ͕ࢥ͏)#varͷྑ͍ར༻ྫ // =ͷӈล͕Ϧςϥϧ var level = 27; var name =
"Ryota"; // =ͷӈล͕ίϯετϥΫλ or ϑΝΫτϦϝιου var playerData = new PlayerData(level, name); // =ͷӈล͕δΣωϦοΫϝιουͰܕҾ͕ฦΓܕͳ // ϝδϟʔͳϝιου(࣍ͷUnityͰྑ͘͏ͭ) var player = FindObjectOfType<Player>();
ʮΘ͟Θ͟ೋճॻ͔ͳͯ͘ӈล͔Βܕ͕Θ͔Δ͡ΌΜʯ ͱ͍͏߹varͰεοΩϦɻ
έʔε2·ͱΊ ʮvarɺԿͷܕ͔͔Γʹ͍͔͘Βېࢭͳʂʯͬͯ ͔֬ʹཚ༻͢ΔͱಡΈͮΒ͘ͳΔ͜ͱ͋Δɻ ಡΈ͘͢ͳΔ໘Ͱ͏ϧʔϧΛަব͠·͠ΐ͏ʂ
͖ͭͮ·ͯ͠...
έʔε3 ʮvarɺList<string>͕IList<string>ʹ ͳͬͯ͘Εͳ͍͔Βېࢭͳʯ ͬͯݴΘΕͨ
έʔε3ͷݪҼ JavaͰͷܦݧ͕ཧ༝ʢ͔ʁʣ ͜ͷύλʔϯ͕Ұ൪հ
varͷӈล͕List<string>ܕ͔ͩΒɺlistͷܕList<string>ʹɻ ɹ var list = new List<string>();
ࠓ͔ΒνϣοτJavaͷ
JavaͷίʔυͰ͢ // Լهͷॻ͖ํྑ͘ͳ͍ ArrayList<String> list = new ArrayList<String>(); // Լهͷॻ͖ํΛ͖͢
List<String> list = new ArrayList<String>(); // μΠϠϞϯυԋࢉࢠͰ͔͚͘Δ List<String> list = new ArrayList<>();
JavaͰμΠϠϞϯυԋࢉࢠΛ͔͍ͭɺهड़Λলུͭͭ͠ ʮϩʔΧϧมʯΛநతͳܕͰѻ͏͜ͱ͕Ͱ͖Δ
͜Εʹ׳Εͨਓ͜͏ࢥ͏߹͕͋ΔΈ͍ͨ ʮvarɺList<string>͕IList<string>ʹ ͳͬͯ͘Εͳ͍͔Βېࢭͳʯ
JavaɺμΠϠϞϯυԋࢉࢠͰهड़Λলུͭͭ͠ListΠϯλʔϑΣʔεܕͷมͰѻ͑Δ // Java List<String> list = new ArrayList<>(); C#ͷvarͷ߹ɺIList<string>ΠϯλʔϑΣʔεʹͳΒͳ͍ɻList<string>ΫϥεʹͳΔɻ //
C# var list = new List<string>();
͔֬ʹϝιουͷҾฦΓͷܕΛ దʹநతͳܕͰѻ͏ͷେ // ྑ͘ͳ͍ྫ(Java) public ArrayList<string> loadList(){ /*தུ*/ } //
վળྫ(Java) public List<string> loadList(){ /*தུ*/ }
͚ΕͲʮvarɺList<string>ΫϥεͷΦϒδΣΫτ͕ IList<string>ΠϯλʔϑΣʔεͷมʹͳΒͳ͍͔Βېࢭʯ ؒҧ͍ͬͯΔͱࢥ͏
var͕͑Δͷ ϩʔΧϧม͚ͩʂ
ϩʔΧϧมΛநܕͰѻ͏ͷͦΜͳʹେࣄʁ ઈରඞཁʁ
ϩʔΧϧมͳΒείʔϓด͍ͯͯ͡ɺ ͔͔ͨͩߦɺͯ͘2,30ߦ
varͰ͔͚͘Δ͜ͱͱɺ ͘ดͨ͡είʔϓͰϩʔΧϧมΛநతͳܕͰѻ͏͜ͱ Ͳ͕ͬͪେࣄͩΖ͏ʁ
varͰ͔͚͘Δํ͕ ͍͍ΑͶʂ
͔ͨ͠͠Β ʮJavaͰ͜͏͔ͩΒɺC#Ͱ͜͏͡Όͳ͖Όμϝʯ ػցతʹஅͯ͠Δ͔͠Εͳ͍orz
ʲಓʳʮvarɺList<string>͕IList<string>ʹͳͬͯ͘Εͳ͍͔Βېࢭͳʯ͍ͬͯ͏ਓͦ͏ʲภݟʳ ྻIList<T>࣮͍ͯ͠ΔͷΒͳͦ͏ɻ IReadOnlyList<T>ͱ͔͍͍͑ͷʹΒͳͦ͏ɻ
έʔε3·ͱΊ ʮvarɺList<string>͕IList<string>ʹͳͬͯ͘Εͳ͍͔Βېࢭͳʯ ͱݴΘΕͨΒɺϩʔΧϧมͰநతͳܕͰѻ͏ϝϦοτͱ ͘هड़Ͱ͖Δ͜ͱͷϝϦοτɺͲͪΒ͕େࣄ͔͠߹͓͏ɻ ͦͯ͠উͯʂࠓॻ͍ͯΜͷJava͡Όͳͯ͘C#ͩʂ
࠷ޙʹ • ࠓ͍ɺKotlinSwi*Ͱvar!(ͱ͔valͱ͔let) • varɺ͓͏ͥ • varɺదʹਖ਼͓͘͠͏ͥʂཚ༻μϝͳʂ • ʮvarېࢭʯېࢭͳʂʂʂ
ʮvarېࢭʯېࢭ @RyotaMurohoshi 2016/02/20()(Hokuriku(ComCamp(2016(powered(by(MVPs
ิ
ͦͷ4 ʮvar͏ͱΠϯλʔϑΣʔεܕͷมʹͳΒͳ͍͔Β ໌ࣔతͳ࣮͍ͯ͠Δϝιουݺͳ͘ͳΔ͡ΌΜʯ ͬͯݴΘΕͨΒʁ
ͦͦ͞ɺΫϥε͕Θ͔͍ͬͯΔͷʹ ΠϯλʔϑΣʔεͷ໌ࣔత࣮͍ͯ͠Δϝιου ݺͿඞཁ͋Δͷʁ