Scala」カテゴリーアーカイブ

2つの型クラスを使う

任意のリストの合計を計算する sum メソッドを作ったときには、「足すことのできる」型クラスとして Additive という型クラスと、そのインスタンス IntAdditive、StringAdditive を作った。 … 続きを読む

カテゴリー: Scala | コメントする

Implicitの探索範囲

Implicit Conversion や Implicit Parameter が探索される範囲には、次のような範囲がある。 ローカルで定義されたもの import で指定されたもの スーパークラスで定義されたもの コ … 続きを読む

カテゴリー: Scala | コメントする

型クラス

前回のエントリで見たような Implicit Parameter の使い方を、「型クラス(を使った計算)」という。 これは Haskell から持ってきたもので、Haskell の用語では Additive を型クラス、 … 続きを読む

カテゴリー: Scala | コメントする

Implicit Parameter (2)

Implicit Parameter のもう1つの使い方。順を追ってみていく。 何らかのリストの合計を求めるメソッド sum を考える。ポイントは何のリストかわからない(あるいは何のリストでもいいように)、というところだ … 続きを読む

カテゴリー: Scala | コメントする

Implicit Parameter

Implicit Parameter は暗黙の引数だ。2つの使い方があるようだけど、今日はその1つ、あちこちで共通に使われる引数を、いちいち明示的に渡すのを省略するための使い方を見ていこう。 参考にしている Dwango … 続きを読む

カテゴリー: Scala | コメントする

Implicit Conversion

Implicit Conversion とは、暗黙の型変換をユーザが定義できるようにする機能、だそうだ。例えば、真偽値が必要なところにユーザ定義型が来たとき、その型を真偽値に変換する Implicit Conversio … 続きを読む

カテゴリー: Scala | コメントする

Try

Try には Either と同じように2つの値がある。Success と Failure だ。Either と違うのは、Failure には Throwable の値しか入れられないことだ。こんな感じ。 scala> … 続きを読む

カテゴリー: Scala | コメントする

Either

Option には2つの値 Some と None がある。Some はある種のコンテナで中に別の値を持つことができるけど、None は値を持つことができない。 つまり、エラーが起こったこと自体は None で知らせるこ … 続きを読む

カテゴリー: Scala | コメントする

Option

今日から Scala のエラーを表すデータ型を見ていく。 最初は Option 型だ。Option は言ってみれば値を1つだけ入れられるコンテナで、値の入っている Some と何もないっていないことを表す None の2 … 続きを読む

カテゴリー: Scala | コメントする

部分関数

よくわからないものが出てきた。説明の前に使い方を見てみよう。 scala> List(1,2,3,4,5).collect { case i if i % 2 == 1 => i * 2 } res0: List[Int … 続きを読む

カテゴリー: Scala | コメントする