タグ

ブックマーク / jutememo.blogspot.com (2)

  • Scala の List クラスで map, filter, foldRight と シーケンス内包表記 | すぐに忘れる脳みそのためのメモ

    1. Scala の覚えやすそうな点と、すぐに忘れそうな仕様 Scala に興味を持った理由は、「今からでも遅くない これから始めるScala(前編)」 で挙げられていた以下の特徴による。 オブジェクト指向と関数型言語の特徴を組み合わせています。Scalaでは、関数をオブジェクトとして扱うことができますし、高階関数も利用できるなど、関数型言語からさまざまな特徴を取り入れています。 Scalaは静的型付け言語ですが、型推論によって型の記述を省略することができます。変数や関数の宣言時に、コンパイラが型を推論してくれるため、型の指定をいちいち行わなくてもよいのです。 Trait(トレイト)という、実装を持つことができるインターフェイスを利用して、Mix-Inができます。 暗黙の型変換(implict conversion)などを利用して、DSL(ドメイン固有言語,Domain-Specific

    Scala の List クラスで map, filter, foldRight と シーケンス内包表記 | すぐに忘れる脳みそのためのメモ
  • Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って

    1. メソッドをクラスメソッドにするときは、デコレータを使う あるメソッドをクラスメソッドにするとき、 Python ではデコレータを使うことができる。 2.1 組み込み関数 によると、(太字は引用者による) classmethod( function) function のクラスメソッドを返します。 クラスメソッドは、インスタンスメソッドが暗黙の第一引数としてインスタンスをとるように、第一引数としてクラスをとります。クラスメソッドを宣言するには、以下の書きならわしを使います: class C: @classmethod def f(cls, arg1, arg2, ...): ... ふーむ、ここでも第一引数が必須で、それがクラスを参照するということか。Python のこういう書き方は、最初とっつきにくいと感じた。 (+_+) デコレータの書き方としては、関数の前に @classmeth

    Python のクラスメソッド – デコレータ @classmethod, @staticmethod を使って
    restartr
    restartr 2011/01/30
    @staticmethodはJavaの静的メソッドと同等。@classmethodは引数にclsを取るので、動的参照が可能。
  • 1