2015年9月25日のブックマーク (4件)

  • 「値が無い」ということをどう表現するか、あるいはOption型について - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 現在、「イケている」と呼ばれる関数型言語について、大抵の場合は「Option型」と呼ばれる型が実装されていたりします。具体的には、OCamlとScalaであり、HaskellにもMonadの一つとしてMaybe型というものがあります。 この「Option型」とは何か、といえば、要するに「値があるかどうかわからない型」という型であり、値として「値を持っていない」か、「値を持っている」という二つのパターンをとります。そして、「値を持っている」という状態のときだけその値に対してアクセスすることができます。 とはいえ、これだけだと何が嬉しいのかさっぱりわかりませんので、その辺りについて、少しだけメモしておきます。 「値が無い」ということを表現すること 素朴に考えて、「何らかの値が無い」ということを示すためには、二つの方法で表現することが出来ます。 値が無い場合は、None(Python

    「値が無い」ということをどう表現するか、あるいはOption型について - Line 1: Error: Invalid Blog('by Esehara' )
    nwpct1
    nwpct1 2015/09/25
  • 第2回 Scalaの基本的な文法

    大手SIベンダにてSEやPMやアーキテクトとして勤務したのち,現在は株式会社豆蔵のチーフコンサルタント。主に超上流のプロセスである要求開発やオブジェクト指向,アジャイル開発のコンサルタントとして活躍中。開発の現場にこだわり,開発の現場を少しでもよくしたいと日夜奮闘している。要求開発アライアンス 執行委員。著書に『オブジェクト脳のつくり方』や『eXtreme Programming実践レポート』(ともに翔泳社発行。後者は共著)などがある。 前回,Scalaの3種類の実行方法を学びましたので,今回は基的な文法を説明していきます。 Scalaのぶっ飛んだ特徴を早く説明したいところですが,千里の道も一歩から。じっくり楽しみつつ,進んでいきましょう。 1.変数 最初にScalaの変数について説明します。ここでは,すべてscalaの対話式実行環境(連載ではScalaインタプリタと言います)で説明し

    第2回 Scalaの基本的な文法
    nwpct1
    nwpct1 2015/09/25
    “valは,再代入不可の変数で,Javaで言うとfinal句がついた変数に相当”
  • Scalaオブジェクトメモ(Hishidama's Scala object Memo)

    概要 Javaではstatic(静的)なメンバー(フィールド・メソッド)というものを定義できた。 静的なフィールドとは、アプリケーション内(JavaVM内)に一箇所にしか存在しないフィールド(データ)のこと。 (通常の(動的な)フィールドは、インスタンス毎にデータを保持する) Scalaにはstaticは無い。代わりにシングルトンオブジェクトを作成する機能がある。 シングルトンとは、インスタンスがアプリケーション内に1つしか存在しないこと。 クラスのインスタンスが1つしか作られないとき、その唯一のインスタンスをシングルトンオブジェクトと言う。 ※オブジェクトのメンバーはstaticメンバーの様に扱えるが、実際にはstaticではない Scalaでシングルトンオブジェクトを定義するにはobjectを使う。 classと同様に、他クラスを継承したい場合はextends、トレイトを継承したい場合

    nwpct1
    nwpct1 2015/09/25
  • 第9章:Scalaのトレイト(trait) - Qiita

    まずは トレイト の感じを掴んでみYO! 色々な意見があるかもしれないけど、トレイトをこういうモノだと思っている。 機能を切りだして、再利用可能な塊にしたモノ トレイトはJavaのインタフェース(interface)に近いモノという説明もある。 確かに、Javaのインタフェースのように使えると思うんだけど なんかスッと入ってこないんだよね。 まだまだScalaの修業が足りないせいかもしれない。 トレイトの特徴 Scalaのトレイトには、以下な大きな特徴があるよ。 traitキーワードで定義 クラスパラメータを取ることができない メソッドを実装できる クラスや他のトレイトにミックスインできる 任意の数をミックスインできる 純粋ではないが多重継承ぽさがある この特徴に沿って説明してみるね。 traitキーワードで定義 早速トレイトを定義してみよう。

    第9章:Scalaのトレイト(trait) - Qiita
    nwpct1
    nwpct1 2015/09/25