タグ

ブックマーク / qiita.com/f81@github (6)

  • 第6章:Scalaのプリミティブ型を語る - Qiita

    今回も型だYO, YO! プリミティブ型について語ってみる。 データ型としては基だけど、重要だからね! プリミティブ型とは 基型 という表現もするけど、 プリミティブ型 の方が一般的かな? そもそもの プリミティブ型 の定義をWikipediaで見てみよう。 プリミティブ型(プリミティブがた)とは、計算機科学において、プログラミング言語によって提供されるデータ型であり基的な要素である。対する語は複合型という。言語やその実装に依存して、プリミティブ型がコンピュータメモリ上のオブジェクトと一対一対応のときもあれば、そうでないときもある。組み込み型もしくは基型とも呼ぶ。プリミティブ型の種類は、使用されているプログラミング言語に依存する。例えばC言語では、文字列は複合データ型だが、BASICやその派生言語ではプリミティブ型である。 クロージャよりはわかりやすいけど、やっぱり難しいかな。。。

    第6章:Scalaのプリミティブ型を語る - Qiita
  • 第22章:Scalaの抽出子 - Qiita

    今回は 抽出子 だよ。 こいつを使えるようになると、更にパターンマッチが便利になるんだ。 こんな感じで進めてみるよ! 抽出子とは 抽出子を使う unapplySeqメソッド applyメソッド applyとunapplyの関係 まとめ 抽出子とは unapplyメソッドが定義されているオブジェクト のことです。 定義としては簡単だね! このメソッドの役割は、受け取ったインスタンスを分解して、 何かを抽出する ことです。 パターンマッチでこのメソッドが使われることが多いです。 抽出子を使う 早速使ってみよう! パターンマッチで使う import scala.Option class User(private val firstname: String, private val lastname: String) object User { def unapply(user: User) =

    第22章:Scalaの抽出子 - Qiita
  • 第7章:タプルにチャレンジ! - Qiita

    第7章も相変わらず 型 について語るぞ! 今回の主役は、Javaプログラマーには馴染みがない タプル ! 複数の戻り値 戻り値で複数の異なる型を返したくなったことはある? Javaだと引数の型は1つと決まっているから、単純には実現できないよね。 だから、代替案としてこんな手を使ったりするよね。 例えば、新たなDTO等の 情報格納役 を定義し、そのフィールドに複数の型を用意する 引数に複数のオブジェクトを渡して、戻り値相当をそのオブジェクトに設定する インタフェースを分割する。つまりそれぞれのデータを返すメソッドを用意する 戻り値をコレクションにして、複数の型のオブジェクトを格納する(ほとんどやらないけど) どれも面倒臭いんだよね。クラス名決めるのだって大変だし。。。 Javaの世界では諦めモードだけど、Scalaの世界では素晴らしい仕組みが備わっているんだ。 複数の型を返す仕組み、 タプル

    第7章:タプルにチャレンジ! - Qiita
    nacika_inscatolare
    nacika_inscatolare 2015/04/19
    体で感じてくれたシリーズ
  • 第14章:ScalaのOption型とnullを語る - Qiita

    Option型って知っているかい?これマジ凄いよ! NullPointerException、通称 ヌルポ 。 少し込み入ったJavaアプリを作って動かすと、大抵発生するよね。 nullチェックを入れてたり、規約で縛ったりして対応することになると思います。 だけど、コンパイル時に見つけることができれば、、、と思ったことない? Option型を上手く使えれば、コンパイル時にnullチェックみたいなことができてしまうんだ。 とても素敵だよね! では、Option型について語ってみます。 Optionとは 値があるかないかを表す型です。箱って言っても良いかもですね。 Optionは更に2種類のサブクラスを持っている。 Some None Some 値があることを表す型。値を持っている。 None 値がないことを表す型。 Optionを使ってみる 淡白に説明してみたので、早速使ってみよう! Opt

    第14章:ScalaのOption型とnullを語る - Qiita
    nacika_inscatolare
    nacika_inscatolare 2015/04/18
    体で感じてくれたシリーズ
  • 第10章:Scalaの「Traversable」リファレンス - Qiita

    今回はCollection パッケージの「Traversable」ついて、 リファレンス風に紹介するよ。 scala.collection.Traversable このトレイトは、コレクションの中でも上位トレイトで重要なメソッドを持っているんだ。 どんな操作が存在するか実際に実行して感じてみてね! 入門編としてこちらも必読(^^)v 第8章:Scalaのコレクション(Seq, Set, Map)入門 scala.collection.Traversable コレクション階層の基となるトレイト。Seqだけではなく、Set・Mapもこのトレイトをミックスインしている。 foreachメソッドのみが抽象メソッド。このメソッド以外はTraversableLikeに実装が用意されている。 代表的なメソッドを使ってみたよ。 抽象メソッド foreach 全走査して要素を1回ずつ処理する

    第10章:Scalaの「Traversable」リファレンス - Qiita
  • 第11章:ScalaのSeqリファレンス - Qiita

    今回はSeqについて、リファレンスなノリで紹介するよ。 入門編としてこちらも読んでね(^^)v 第8章:Scalaのコレクション(Seq, Set, Map)入門 scala.collection.immutable.Seq 要素の順序を意識する必要がある場合に、使う箱だ。 JavaのListと役割は似ているね。 ただ色んなことができるんだ。 しかも前回の 第10章:ScalaのTraversableリファレンスで紹介したメソッドも使えるんだ。 前回のソースのほとんどがSeqだったことに気付いたかな? 添字参照 (i) 添字の要素を返す

    第11章:ScalaのSeqリファレンス - Qiita
  • 1