Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PHPエンジニアが始めるScala
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
harakenta
December 04, 2017
Technology
0
550
PHPエンジニアが始めるScala
青山エンジニア勉強交流会~Scala勉強会~
https://techplay.jp/event/640848
harakenta
December 04, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
AI駆動開発を事業のコアに置く
tasukuonizawa
1
300
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
260
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
310
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
Agile Leadership Summit Keynote 2026
m_seki
1
650
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
360
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
~Everything as Codeを諦めない~ 後からCDK
mu7889yoon
3
450
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
470
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
140
インフラエンジニア必見!Kubernetesを用いたクラウドネイティブ設計ポイント大全
daitak
1
380
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.5k
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
440
30 Presentation Tips
portentint
PRO
1
220
WENDY [Excerpt]
tessaabrams
9
36k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
170
The browser strikes back
jonoalderson
0
390
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
Code Reviewing Like a Champion
maltzj
527
40k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
110
Building Adaptive Systems
keathley
44
2.9k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
The SEO identity crisis: Don't let AI make you average
varn
0
290
Transcript
1)1ΤϯδχΞ ͕࢝ΊΔ 4DBMB
ݪݡଠ )BSB,FOUB भۀେֶେֶӃमྃ ݱࡏגࣜձࣾϑΝϯίϛϡχέʔγϣϯζ भۀେֶଔۀ
αʔόαΠυΤϯδχΞͱͯ͠ܞΘΔ εϚʔτϑΥϯ͚ΞυωοτϫʔΫ OFOE αʔόαΠυΤϯδχΞͱͯ͠ܞΘΔ
ΞϓϦࠂ͚ ϏσΦΞυϓϥοτϑΥʔϜ ݱࡏαʔόαΠυΤϯδχΞͱͯ͠ܞΘΔ WJJEMF
ܕ ҆ શ ϥ Π ϒ ϥ Ϧ ෆ ม
None
ܕ ҆ શ
$account = array( "name" => "fan", "age" => 18 )
BSSBZ Ͱ ΰχϣΰχϣ
$account = array( "name" => "fan", "age" => "eighteen" )
ͨ·ʹ 4USJOH
case class Account( name: String, age: Int ) Կ͕ೖΔ͔ Ұྎવ
type Name = String type Age = Int case class
Account( name: Name, age: Age ) ܕΤΠϦΞε Ͱݟ͑Δੈք
type Name = String type Age = Int def hoge(name:
Name) : Age = 18 Ҿ ฦΓ Ұྎવ ίϯύΠϧ࣌ʹݟͯ͘ΕΔͷͰߋʹ҆৺
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ
$BLF1)1 Ͱ υϯʂʂ
scalaz/ cats બͿ͕࢟ ੜ·Εͨ doobie/ ScalikeJDBC ؔܕϓϩάϥϛϯά %# ૢ࡞
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞ ෆ ม
$account = array( "name" => "fan", "age" => 18 )
͍ͭ͜Λ
$account = array( "name" => "fan", "age" => 18 )
unset($account["age"]) ͍ͭ͜Λ ͜͏͢Δͱ όάΒͤ·ͨ͠͝ΊΜͳ͍͞ɺͳΜͰ͠·͢
val account = Account("fan",18) JNNVUBCMF Ͱ҆৺
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞ ෆ ม WBM JN N VUBCMF
ෆ ม 4DBMB ͷັྗ ͬͯ͜Ε͚ͩʁ
val hoge:Option[String] = Some("fan") val fuga:Option[String] = None 0QUJPO JTTFUɺFNQUZ
OVMMɺOVMM
ෆ ม val hoge:Option[String] = Some("fan") hoge match { case
Some(_) => ... case None => ... } NBUDIDBTF JG ͳΜ͍ͯΒͳ͍ ྻڍܕʢTFBMFEʣͰͷذͩͬͯՄೳ
val hoge : Either[Throwable,Int] = Right(18) &JUIFS 3JHIU SJHIU
val hoge: Either[Throwable,Int] ɹɹɹɹɹɹɹɹɹɹ= Right(18) val fuga: Either[Throwable,Int] ɹɹɹɹɹɹɹɹɹɹ= Right(20)
for { _ <- hoge _ <- fuga } yield () GPS ճ͢ͷศར
val hoge: Either[Throwable,Int] ɹɹɹɹɹɹɹɹɹɹ= Right(18) val fuga: Either[Throwable,Int] ɹɹɹɹɹɹɹɹɹɹ= Right(20)
for { _ <- hoge _ <- fuga } yield () GPS ͑ ͳʹ͜Ε
val hoge: List[Int] = List(1,2,3) val fuga = hoge.map{ i
=> i + 1 } NBQ ͋ ͋
val hoge: List[Int] = List(1,2,3) val fuga = hoge.flatMap{ i
=> List(Option(i + 1)) } qBU.BQ ͋
val hoge : List[Int] = List(1,2,3) val fuga = hoge.traverse{
... } USBWFSTF DBUT ͷͳͷͰৄࡉ࣍ͷൃදͰʂ
ϫλγɺϚμ ॻ͚ΔؾɺγφΠ
0QUJPO NBUDIDBTF &JUIFS NBQqBU.BQ USBWFSTF
Θͳͯ͘ ϓϩμΫτͷ ίʔυॻ͚Δ
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞ ෆ ม WBM JN N VUBCMF ֶ श ί ε τ
XFC ͰؤுΔ υϫϯΰ༷ͷ 4DBMB5FYU IUUQTEXBOHPHJUIVCJPTDBMB@UFYU
ຊ ͰؤுΔ 4DBMB εέʔϥϒϧϓϩάϥϛϯά
ؤுΒͳ͍ ઌਓͷܙΛआΓΔ ͜ͷޙ͙͢ʂ
ܕ ҆ શ DBTFDMBTT ܕ Τ Π Ϧ Ξ ε
Ҿ ฦ Γ ϥ Π ϒ ϥ Ϧ ࢟ બ Ϳ ָ ͠ ͞ ෆ ม WBM JN N VUBCMF ֶ श ί ε τ X FC ຊ ઌ ਓ ͷ ܙ
1)1ΤϯδχΞ ͕࢝ΊΔ 4DBMB
None