Submit Search
Upload
Rubyistを誘うScalaの世界
•
9 likes
•
9,758 views
Yuto Matsukubo
Follow
#kwskrb 30
Read less
Read more
Technology
Report
Share
Report
Share
1 of 25
Download now
Download to read offline
Recommended
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
Shuya Tsukamoto
Scala.jsはじめました?
Scala.jsはじめました?
K Kinzal
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
Ouka Yuka
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
papamitra
第二回tento.tech定例会
第二回tento.tech定例会
Sosuke Suzuki
Scalaはじめました!
Scalaはじめました!
Asami Abe
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
Mogi Isamu
Recommended
Scala勉強会_2014_11_18
Scala勉強会_2014_11_18
Shuya Tsukamoto
Scala.jsはじめました?
Scala.jsはじめました?
K Kinzal
Ruby使いのためのScalaのススメ
Ruby使いのためのScalaのススメ
Ouka Yuka
Scala.jsはじめました!
Scala.jsはじめました!
K Kinzal
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
papamitra
第二回tento.tech定例会
第二回tento.tech定例会
Sosuke Suzuki
Scalaはじめました!
Scalaはじめました!
Asami Abe
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
Mogi Isamu
Camp report for_kwskrb
Camp report for_kwskrb
rojiuratech
Cookpad TechConf 2016 - DWHに必要なこと
Cookpad TechConf 2016 - DWHに必要なこと
Minero Aoki
メカジョさんとジュリアたん♡ (Mechajyo and Julia-tan) #JuliaTokyo #JuliaLang
メカジョさんとジュリアたん♡ (Mechajyo and Julia-tan) #JuliaTokyo #JuliaLang
Takeshi Kimura
Juliaでオンライン線形分類器つくった
Juliaでオンライン線形分類器つくった
Takeshi Ishita
R&D at Foodtech company - #CookpadTechConf 2016
R&D at Foodtech company - #CookpadTechConf 2016
Aki Ariga
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
Shinya Okano
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016
Cloudera Japan
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
cyberagent
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Nagato Kasaki
Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01
Aki Ariga
Julia 100 exercises #JuliaTokyo
Julia 100 exercises #JuliaTokyo
Aki Ariga
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Cloudera Japan
TEGNOLOGIA DE PUNTA
TEGNOLOGIA DE PUNTA
Angela yanez
I'm happy
I'm happy
Fer Nanda
Pbl muskuloskeletal sken_2
Pbl muskuloskeletal sken_2
Amanda J Rumalatu
Jose F Ruiz - Los nuevos modelos de firma electrónica - semanainformatica.com...
Jose F Ruiz - Los nuevos modelos de firma electrónica - semanainformatica.com...
COIICV
Nilis cert in info man - rb on 'info and know' man - 1 oct 11
Nilis cert in info man - rb on 'info and know' man - 1 oct 11
NILISSL
13 nights of halloween
13 nights of halloween
LauraAdServices
Notas Excel Evaluaciones
Notas Excel Evaluaciones
SkulleD42
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Ra Zon
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Ra Zon
More Related Content
Viewers also liked
Camp report for_kwskrb
Camp report for_kwskrb
rojiuratech
Cookpad TechConf 2016 - DWHに必要なこと
Cookpad TechConf 2016 - DWHに必要なこと
Minero Aoki
メカジョさんとジュリアたん♡ (Mechajyo and Julia-tan) #JuliaTokyo #JuliaLang
メカジョさんとジュリアたん♡ (Mechajyo and Julia-tan) #JuliaTokyo #JuliaLang
Takeshi Kimura
Juliaでオンライン線形分類器つくった
Juliaでオンライン線形分類器つくった
Takeshi Ishita
R&D at Foodtech company - #CookpadTechConf 2016
R&D at Foodtech company - #CookpadTechConf 2016
Aki Ariga
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Shinya Okano
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
Shinya Okano
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016
Cloudera Japan
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
cyberagent
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Nagato Kasaki
Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01
Aki Ariga
Julia 100 exercises #JuliaTokyo
Julia 100 exercises #JuliaTokyo
Aki Ariga
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Cloudera Japan
TEGNOLOGIA DE PUNTA
TEGNOLOGIA DE PUNTA
Angela yanez
I'm happy
I'm happy
Fer Nanda
Pbl muskuloskeletal sken_2
Pbl muskuloskeletal sken_2
Amanda J Rumalatu
Jose F Ruiz - Los nuevos modelos de firma electrónica - semanainformatica.com...
Jose F Ruiz - Los nuevos modelos de firma electrónica - semanainformatica.com...
COIICV
Nilis cert in info man - rb on 'info and know' man - 1 oct 11
Nilis cert in info man - rb on 'info and know' man - 1 oct 11
NILISSL
13 nights of halloween
13 nights of halloween
LauraAdServices
Notas Excel Evaluaciones
Notas Excel Evaluaciones
SkulleD42
Viewers also liked
(20)
Camp report for_kwskrb
Camp report for_kwskrb
Cookpad TechConf 2016 - DWHに必要なこと
Cookpad TechConf 2016 - DWHに必要なこと
メカジョさんとジュリアたん♡ (Mechajyo and Julia-tan) #JuliaTokyo #JuliaLang
メカジョさんとジュリアたん♡ (Mechajyo and Julia-tan) #JuliaTokyo #JuliaLang
Juliaでオンライン線形分類器つくった
Juliaでオンライン線形分類器つくった
R&D at Foodtech company - #CookpadTechConf 2016
R&D at Foodtech company - #CookpadTechConf 2016
Pyconjp2016 pyftplib
Pyconjp2016 pyftplib
Python入門 コードリーディング - PyConJP2016
Python入門 コードリーディング - PyConJP2016
Cloud Native Hadoop #cwt2016
Cloud Native Hadoop #cwt2016
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Sparkを活用したレコメンドエンジンのパフォーマンスチューニング&自動化
Introduction to Kanagawa Ruby Kaigi01 #kana01
Introduction to Kanagawa Ruby Kaigi01 #kana01
Julia 100 exercises #JuliaTokyo
Julia 100 exercises #JuliaTokyo
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
Ibis: すごい pandas ⼤規模データ分析もらっくらく #summerDS
TEGNOLOGIA DE PUNTA
TEGNOLOGIA DE PUNTA
I'm happy
I'm happy
Pbl muskuloskeletal sken_2
Pbl muskuloskeletal sken_2
Jose F Ruiz - Los nuevos modelos de firma electrónica - semanainformatica.com...
Jose F Ruiz - Los nuevos modelos de firma electrónica - semanainformatica.com...
Nilis cert in info man - rb on 'info and know' man - 1 oct 11
Nilis cert in info man - rb on 'info and know' man - 1 oct 11
13 nights of halloween
13 nights of halloween
Notas Excel Evaluaciones
Notas Excel Evaluaciones
Similar to Rubyistを誘うScalaの世界
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Ra Zon
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Ra Zon
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
Ra Zon
Ruby on Rails on MySQL チューニング入門
Ruby on Rails on MySQL チューニング入門
だいすけ さとう
Java使いにとっての関数
Java使いにとっての関数
amkt922
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Taisuke Shiratori
Ruby で扱う LDAP のススメ
Ruby で扱う LDAP のススメ
Kazuaki Takase
Rubinius Under a Microscope
Rubinius Under a Microscope
高広 内山
scala.collection 再入門 (改)
scala.collection 再入門 (改)
Ryuichi ITO
Similar to Rubyistを誘うScalaの世界
(9)
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[エッセンシャル版]
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[完全版]
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
Ruby on Rails on MySQL チューニング入門
Ruby on Rails on MySQL チューニング入門
Java使いにとっての関数
Java使いにとっての関数
Beginners Scala in FAN 20121009
Beginners Scala in FAN 20121009
Ruby で扱う LDAP のススメ
Ruby で扱う LDAP のススメ
Rubinius Under a Microscope
Rubinius Under a Microscope
scala.collection 再入門 (改)
scala.collection 再入門 (改)
More from Yuto Matsukubo
がんばれテックリード!JIRA芸人篇!!
がんばれテックリード!JIRA芸人篇!!
Yuto Matsukubo
明日から使える気になるGo言語による並行処理
明日から使える気になるGo言語による並行処理
Yuto Matsukubo
Go/gRPCはじめました
Go/gRPCはじめました
Yuto Matsukubo
非エンジニア向け技術セミナーをした話
非エンジニア向け技術セミナーをした話
Yuto Matsukubo
GCPでSplatoonの戦績を分析する
GCPでSplatoonの戦績を分析する
Yuto Matsukubo
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
Yuto Matsukubo
Rubyistを誘うScalaの世界 2.0
Rubyistを誘うScalaの世界 2.0
Yuto Matsukubo
はじめてのTDD
はじめてのTDD
Yuto Matsukubo
Intoroduction to React.js
Intoroduction to React.js
Yuto Matsukubo
受託開発でAnsibleを導入した話
受託開発でAnsibleを導入した話
Yuto Matsukubo
More from Yuto Matsukubo
(10)
がんばれテックリード!JIRA芸人篇!!
がんばれテックリード!JIRA芸人篇!!
明日から使える気になるGo言語による並行処理
明日から使える気になるGo言語による並行処理
Go/gRPCはじめました
Go/gRPCはじめました
非エンジニア向け技術セミナーをした話
非エンジニア向け技術セミナーをした話
GCPでSplatoonの戦績を分析する
GCPでSplatoonの戦績を分析する
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
「オブジェクト指向設計実践ガイド」を読んだので誰かに意見聞きたい
Rubyistを誘うScalaの世界 2.0
Rubyistを誘うScalaの世界 2.0
はじめてのTDD
はじめてのTDD
Intoroduction to React.js
Intoroduction to React.js
受託開発でAnsibleを導入した話
受託開発でAnsibleを導入した話
Recently uploaded
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
osamut
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
Shota Ito
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
Atomu Hidaka
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
furutsuka
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(9)
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
Rubyistを誘うScalaの世界
1.
Rubyistを誘う Scalaの世界 @Peranikov
2.
ドーモ、 ルビースト=サン
3.
Scalaistデス
4.
今日はRubyistの皆様に Scalaの魅力を 伝えるために来ました
5.
どうやってつたえるか • Rubyの魅力(と思われるもの)をScalaで再現す れば良い • 型をなるべく書かない(Rubyistに型を見せると 死ぬ)
6.
Scalaは純粋な オブジェクト指向 である
7.
1 + 2 これをな
8.
1.+(2) +メソッド +メソッドの引数 こうじゃ
9.
1.+(2) +メソッド +メソッドの引数 RubyでもScalaでも通る!
10.
リスト操作
11.
どっちのコードか? [1,2,3].map { ¦i¦
i * 2 }
12.
正解:Ruby [1,2,3].map { ¦i¦
i * 2 } # => [2, 4, 6]
13.
Scalaではこう書く List(1,2,3).map { i
=> i * 2 } // => List(2, 4, 6)
14.
さらに短く List(1,2,3).map { _
* 2 } // => List(2, 4, 6) ※ _ には引数が代入される
15.
おなじみのメソッド達 • min • max •
reduce • zip • unzip
16.
Mix-In
17.
RubyにはModule、 ScalaにはTraitがある trait HelloModule { def
hello = "Hello!" } trait WorldModule { def world = "World!" } class Hoge extends HelloModule with WorldModule val hoge = new Hoge() hoge.hello // => "Hello!" Traitを定義 TraitをMix-In
18.
Open Class
19.
暗黙クラスを使う implicit class MyString(val
s: String) extends AnyVal { def addScala = s + "Scala" } "Ruby is like ".addScala // => "Ruby is like Scala" 拡張したい型を指定 implicitにより暗黙的に型変換され、MyStringの メソッドが呼ばれる
20.
Duck Typing
21.
がんばればできる (structural subtyping) type Hogeable
= { def hoge(s: String):String } def addFuga(t: Hogeable): String = { t.hoge + fuga! } class Hoge { def hoge = hoge! } addFuga(new Hoge()) // => hoge!fuga! 共通するメソッドを持つ 型を定義 定義した型を 引数に指定 メソッドを持っていれば そのまま渡せる
22.
結論 • Rubyの魅力(と思われるもの)は大体Scalaで再 現できた(はず) • Scala書こうぜ!
23.
終わり
24.
メタプログラミングは? • そんなものにふれてはいけない
25.
メタプログラミングは??? • 一応ScalaにもReflectionやMacroが存在する • まだEXPERIMENTAL •
触ってみたが面倒くさかった (Rubyほどカジュアルに使えない)
Download now