第2回            初心者ScalaScalaの初歩              2012/10/09              @shitai246_
自己紹介❖   シラトリタイスケ    ๏ Twitter:   @shitai246_    ๏ Blog: http://a4p.me/❖   エンジニア    ๏ Java歴8年・Scala歴1年・JoJo歴18年    ๏ Webサービ...
前回までのあらすじ❖   Scalaのインストール❖   REPLでFizzBuzz❖   Scalaの基本動作    ๏ valとvarの違い    ๏ Scalaのメソッド定義    ๏ カリー化    ๏ Listの関数いろいろ
今日話すこと❖   ScalaはScalableな言語❖   Scalaでバッチを書いてみよう❖   質疑応答
ScalaはScalableな言語❖   Scalaは完全なオブジェクト指向!    ๏ Javaみたいにプリミティブ型(intとかcharとか)がないよ!❖   REPLで確認してみよう!     scala> 1     res0: Int...
ScalaはScalableな言語❖   演算子に見えるものは全て関数です。    ๏ + も - も == も < も関数です。❖   REPLで確認してみよう!     scala> 1     res0: Int = 1     scal...
ScalaはScalableな言語❖   これらの関数名は自分で作ったクラスでも利用できます。    ๏ 加算をしたいとき、def add() じゃなくて def +() が作れるから直感的にわかりやすい。    ๏ 以下はわかりにくいJava...
ScalaはScalableな言語❖   何が嬉しいの?    ๏ 複素数や三角関数などを独自に実装した場合でも、ネイティブサポートされている型と同じ使用感で使える。    ๏ 演算子(っぽく見えるもの)以外でもこういう書き方ができる。❖   ...
ScalaはScalableな言語❖   おまけ    ๏ Scaladocを読むと「+」や「==」などの関数がちゃんと載ってます。    ๏ http://www.scala-lang.org/api/current/index.html#p...
Scalaでバッチを書いてみよう❖   Scalaでバッチを書いてみよう!    ๏ Main.scala ファイルを作ってコードを書く。      // main関数を書く場合にはobjectにしないといけない      object Mai...
Scalaでバッチを書いてみよう❖   Scalaでバッチを書いてみよう!    ๏ scala Main.scala 引数1 引数2 ... で実行できる。     $ scala Main.scala 1 10 100 a "b c"   ...
Scalaでバッチを書いてみよう❖   実践!    ๏ Scalaで引数をソートして標準出力するバッチを書いてみよう。
Upcoming SlideShare
Loading in …5
×

Beginners Scala in FAN 20121009

925 views

Published on

第2回初心者Scala in F@N での発表資料。

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
925
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Beginners Scala in FAN 20121009

    1. 1. 第2回 初心者ScalaScalaの初歩 2012/10/09 @shitai246_
    2. 2. 自己紹介❖ シラトリタイスケ ๏ Twitter: @shitai246_ ๏ Blog: http://a4p.me/❖ エンジニア ๏ Java歴8年・Scala歴1年・JoJo歴18年 ๏ Webサービスとかアドテクノロジーとか❖ マネージャー ๏ 管理しないこともひとつの管理手法です❖ ㈱ファンコミュニケーションズではエンジニアを募集しています ๏ 成果報酬型のアフィリエイト、A8.net/Moba8.netを開発・運用・保守するお仕事。 ๏ Javaがメイン、ところによりPerl、稀にC。もれなくレガシー。Scalaは積極採用中。
    3. 3. 前回までのあらすじ❖ Scalaのインストール❖ REPLでFizzBuzz❖ Scalaの基本動作 ๏ valとvarの違い ๏ Scalaのメソッド定義 ๏ カリー化 ๏ Listの関数いろいろ
    4. 4. 今日話すこと❖ ScalaはScalableな言語❖ Scalaでバッチを書いてみよう❖ 質疑応答
    5. 5. ScalaはScalableな言語❖ Scalaは完全なオブジェクト指向! ๏ Javaみたいにプリミティブ型(intとかcharとか)がないよ!❖ REPLで確認してみよう! scala> 1 res0: Int = 1 scala> res0.toString res1: java.lang.String = 1 scala>
    6. 6. ScalaはScalableな言語❖ 演算子に見えるものは全て関数です。 ๏ + も - も == も < も関数です。❖ REPLで確認してみよう! scala> 1 res0: Int = 1 scala> res0.+(2) res1: Int = 3 scala> res1.==(4) res2: Boolean = false
    7. 7. ScalaはScalableな言語❖ これらの関数名は自分で作ったクラスでも利用できます。 ๏ 加算をしたいとき、def add() じゃなくて def +() が作れるから直感的にわかりやすい。 ๏ 以下はわかりにくいJavaのメソッドの例 // BigDecimal の引き算 BigDecimal decimal1 = ∼ BigDecimal decimal2 = ∼ // decimal1 - decimal2 decimal1.subtract(decimal2); // Dateの比較 Date date1 = ∼ Date date2 = ∼ if (date1.after(date2)) { ... }
    8. 8. ScalaはScalableな言語❖ 何が嬉しいの? ๏ 複素数や三角関数などを独自に実装した場合でも、ネイティブサポートされている型と同じ使用感で使える。 ๏ 演算子(っぽく見えるもの)以外でもこういう書き方ができる。❖ REPLで確認してみよう! scala> 1 to 5 res0: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5) scala> res0 foreach println 1 2 3 4 5 scala>
    9. 9. ScalaはScalableな言語❖ おまけ ๏ Scaladocを読むと「+」や「==」などの関数がちゃんと載ってます。 ๏ http://www.scala-lang.org/api/current/index.html#package ๏ たいがいのクラスにソースコードへのリンクがついてるので ちょっと英語が?なときでも大丈夫。
    10. 10. Scalaでバッチを書いてみよう❖ Scalaでバッチを書いてみよう! ๏ Main.scala ファイルを作ってコードを書く。 // main関数を書く場合にはobjectにしないといけない object Main { // 関数はdefで始める // main関数は main(args : Array[String]) : Unit def main(args : Array[String]) : Unit = { // 引数argsを表示する args.foreach(println) } }
    11. 11. Scalaでバッチを書いてみよう❖ Scalaでバッチを書いてみよう! ๏ scala Main.scala 引数1 引数2 ... で実行できる。 $ scala Main.scala 1 10 100 a "b c" 1 10 100 a bc $
    12. 12. Scalaでバッチを書いてみよう❖ 実践! ๏ Scalaで引数をソートして標準出力するバッチを書いてみよう。

    ×