やってみよう Scala！ By Fringe81

# やってみよう Scala！

## 第一部：やってみる前に！（導入編）

### [第1章：Hello Worldから始めるScala](http://qiita.com/items/8d67fb3f211fb3e149db)
>プログラムは動かさないと始まらない！最初は動かなくて嵌るかもしれない。
>でも自分の手を動かして書いたソースが動き始めるともっと書きたくなってくるはず！
>
>手を動かすことに喜びを感じたら、プログラミングの才能があるね！
>最初はうまく書けなくても良いんだよ。
>とにかくソースを書いて動かしてみようぜ！！

### [第2章：What is 関数型言語?](http://qiita.com/items/9f0b9cc5c0f28deb48e2)
>Scalaの醍醐味は関数型言語とオブジェクト指向言語のハイブリッドだ！
>
>今回はオブジェクト指向をやっている人には馴染みが薄い、
>関数型言語について語るよ。

### [第3章：クロージャに Challenge!](http://qiita.com/items/259d3459bcef3bb15c69)
> 今回はクロージャです。
>JavaScriptではお馴染みですが、Javaプログラマーにとってはどうでしょうか。
>
> 何でJavaプログラマーかって？
> meがJavaプログラマーであるからであーる！

### [第4章：But I remember オブジェクト指向 ](http://qiita.com/items/5cbba25f1d4d7c8953e5)
> 今回はオブジェクト指向を試してみるよ！
>
> Scalaはオブジェクト指向もできるんだ！
> ソースでの話がメインだよ。
> だからオブジェクト指向プログラミングだ。

## 第二部：やりながら修行開始！（基本編）

### [第5章：型について語る](http://qiita.com/items/f98e157210c0b83e5842)
> 今回から第二部に突入です！
>
> Scalaを勉強していて気づいたのですが、型、型、かた、カタ、カタカタ・・・
> 型という言葉が登場する頻度が高いんです！
> 語るのはそんなに得意では無いですがｗ、
> もしかして型が重要な要素の一つかも・・・と思い筆を持つ。。

### [第6章：Scalaのプリミティブ型を語る](http://qiita.com/f81@github/items/c43803f4a8da94615c9c)
> プリミティブ型について語ってみる。
>
> データ型としては基本だけど、重要だからね！
> プリミティブ型とは。。。。。
> 基本型 という表現もするけど、 プリミティブ型 の方が一般的かな？

### [第7章：タプルにチャレンジ！](http://qiita.com/f81@github/items/a8419532c316d190782d)
> 第7章も相変わらず 型 について語るぞ！
> 今回の主役は、Javaプログラマーには馴染みがない タプル ！
>
> (Javaプログラマでなくとも気軽に読んでいたきたく思います。。)

### [第8章：Scalaのコレクション(Seq, Set, Map)入門](http://qiita.com/f81@github/items/dc79819d23ce4889d552)
> まだまだ型だ！
> 今回は複数のインスタンスを束ねる コレクション型 。
> アプリケーションを作るには重要な型だ！
> コレクションも奥が深いから、今回は入門と言う形にするよ！

### [第9章：Scalaのトレイト(trait)](http://qiita.com/f81@github/items/5b96af593812286eec49)
> まずは トレイト の感じを掴んでみYO！
> 色々な意見があるかもしれないけど、トレイトをこういうモノだと思っている。
> 
> 機能を切りだして、再利用可能な塊にしたモノ ...

### [第10章：Scalaの「Traversable」リファレンス](http://qiita.com/f81@github/items/62ad3c56ce6be271ef35)
> 今回はCollection パッケージの「Traversable」ついて、
> リファレンス風に紹介するよ。
> 
> # scala.collection.Traversable
> 
> このトレイトは、コレクションの中でも上位トレイトで重要なメソッドを持っているんだ。

### [第11章：ScalaのSeqリファレンス](http://qiita.com/f81@github/items/75c616a527cf5c039676)
> # scala.collection.immutable.Seq
> 
> 要素の順序を意識する必要がある場合に、使う箱だ。
> JavaのListと役割は似ているね。
> ただ色んなことができるんだ。

### [第12章：ScalaのSetリファレンス](http://qiita.com/f81@github/items/115392ec869da2a41530)
> # scala.collection.immutable.Set
> 集合を現す箱。
> 要素の重複を許さない箱だ。
> 
> よって、要素の重複をなくしたり、存在判定をするときに使えるね。

### [第13章：ScalaのMapリファレンス](http://qiita.com/f81@github/items/d0556b20bb00e041a814)
> # scala.collection.immutable.Map
> キーで値(要素)を特定することができる箱だ。
> キーの重複はできないからね。
> 
> 代表的なメソッドを使ってみたよ。

### [第14章：ScalaのOption型とnullを語る](http://qiita.com/f81@github/items/7bca48469d9aea65780d)
> Option型って知っているかい？これマジ凄いよ！
>
> NullPointerException、通称 ヌルポ 。
> 少し込み入ったJavaアプリを作って動かすと、大抵発生するよね。
> ...
> Option型を上手く使えれば、コンパイル時にnullチェックみたいなことができてしまうんだ。
> とても素敵だよね！
> 
> では、Option型について語ってみます。

### [第15章：Scalaの制御構造](http://qiita.com/f81@github/items/b64832468d112b4c9597)
> 最近、型り（語り）まくっていたけど、今回は制御構造だよ。
> 
> Scalaではどんな制御構造があるのでしょうか？
> 
>  if、for、while、try、match ．．．全て語ります。

### [第16章：Scalaの等価性](http://qiita.com/f81@github/items/a90c16419645be5d7008)
> 今回は 等価性 だ。
> 
> 等価という考え方は非常に大事だから。是非マスターしようぜ！
> 
> 等価を考える上で、大事なことが2つあるんだ。 
> 等価性 と 同一性 だ。

### [第17章：Scalaの演算子](http://qiita.com/f81@github/items/1e72244cdac7ea512bbb)
> 今回は 演算子 だ。
> プログラミングの中では基本的なとこみたいだよ。
> サラッと見てみよう！


### [第18章：Scalaのパターンマッチ](http://qiita.com/f81@github/items/aa46c248a38a171ed955)
> 今回は パターンマッチ だ！！
> こいつ凄い奴なんだぜ。
> 
> 実は最初、全く使い道がわからなかった。
> ifで良いんじゃね？とか思ってけど、
> ifよりもやれることの幅が広すぎるんだ。

### [第19章：Scalaでカリー化と部分適用](http://qiita.com/f81@github/items/e8bfab96b4be9e404840)
> 突然だけど、実は僕はカリーが大好きなんだ！
> だから、Scalaを勉強していて カリー の文字が見えた時、急に親近感が湧いたんだ。
> そう、今回は カリー化 を語ってみるよ。
> JavaScriptでも出てくる話だから、知っている人も多いんじゃないかな？

### [第20章：Scalaでアクター！](http://qiita.com/f81@github/items/55b83d7f4104b1a4dfac)
> ついに アクター について語る時がきました。
> Scalaの醍醐味の一つです。そして難しいです。。。
> 
> でも、アクターを使うと並列処理を扱うことが簡単になります。
> ただアクターには色々な種類があるので、そこが簡単じゃないかも。。。

### [第21章：Scalaの型パラメータ](http://qiita.com/f81@github/items/7a664df8f4b87d86e5d8)
> 皆、元気してた？久々の投稿をさせてもらうね。
> 今回から 応用編 に突入するよ！
> 
> 今回のテーマは、 型パラメータ だ！
> こんな感じで語っていくからね。

### [第22章：Scalaの抽出子](http://qiita.com/f81@github/items/109dbe953dac516bd71a)
> 抽出子とは、unapplyメソッドが定義されているオブジェクト のことです。
> 定義としては簡単だね！
> 
> このメソッドの役割は、受け取ったインスタンスを分解して、 何かを抽出することです。
> パターンマッチでこのメソッドが使われることが多いです。


## 第三部：もっとやれる気がする（応用編）
> ご意見募集中！（修行中なので柔軟に対応します！）


## 第四部：ホントに使える技が知りたい（実用編）
> ご意見募集中！（修行中なので柔軟に対応します！）