タグ

scalaに関するtsukkeeのブックマーク (10)

  • JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記

    JavaScalaとC#のジェネリクスは、いずれも継承を持ったオブジェクト指向言語においてParametric Polymorphismを実現するための手段であり、それぞれ異なった特性を持っている。というわけで、それぞれの言語においてジェネリクスがどのようにサポートされているかを比較した表を用意してみた。後で気が向いたら、各項目の説明を追加するかも。 Java(5.0以降) Scala C#(4.0) ジェネリックなクラス ○ ○ ○ ジェネリックなメソッド ○ ○ ○ 型パラメータの上限 ○ ○ ○ 型パラメータの下限 × ○ × 型パラメータの推論 ○ ○ ○ 全ての型のサブタイプ(ScalaにおけるNothing) × ○ × definition-site variance × ○ ○ use-site variance ○(Wildcard) ○(Existential Typ

    JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記
  • Scala Compiler Plugin | ブログ.武田ソフト.jp

    takeda-soft.jp 2024 著作権. 不許複製 プライバシーポリシー

    tsukkee
    tsukkee 2010/11/01
    CのプリプロセッサみたいなのをScala自身で書けていろいろ追加できるイメージかな?面白いな
  • Scala2.8 の新機能 特化型パラメータ - A Memorandum

    Scala におけるプリミティブ型の扱い Scala は純粋オブジェクト指向言語であり、Java にあるプリミティブ型は存在しません。Java の int などはScala では Int というオブジェクトとして扱われます。しかしこれはコンパイル段階の話で、出力されるバイトコードでは、Scala コンパイラによる最適化が行われ、オブジェクトは対応するプリミティブ型に変換されます。 型消去(type erasure) Scala の型パラメータは Java のジェネリクスと同様に type erasure(型消去) となります。型パラメータの情報はコンパイルの段階で検査され、コンパイル後のバイトコードからは消去されます。コンパイル後、型パラメータは上限境界(デフォルトではObject)型に変換されます。 型パラメータが消去された結果、プリミティブ値をオブジェクトとして扱うためにボクシングとア

    Scala2.8 の新機能 特化型パラメータ - A Memorandum
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

    tsukkee
    tsukkee 2010/05/13
    > RubyからScalaに乗り換えた15くらいの理由
  • ついったーのStreaming API ChirpUserStreamとWebSocketを組み合わせてみた - ( ꒪⌓꒪) ゆるよろ日記

    最近の流れでは、時代はHTML5なんですかね? そんなわけで、前にちょっとやってみたJetty7のWebSocketと、ついったーのStreaming API ChirpUserStreamを組み合わせて簡単なWebベースのついったクライアントを書いてみました。 スクリーンショット: 動いているところ: 動作している動画を見てもらえば分かるんですが、Streamingで受信したイベントを上から"落とす"ようなUIにしてみました。 TLをちゃんと読むのではなく、ぼーっとみてるようなコンセプトです。実際に使うならこんなUIしんどいでしょうけどまぁ実験あぷりなんで。 (もしスクリーンショットや動画に自分のPOSTが表示されていて、消して欲しい場合は、お手数ですがコメントお願いします。) ChirpUserStreamなんで、他の人がふぁぼったりフォローしたりという情報も落ちてきますよ。 ソースは

    ついったーのStreaming API ChirpUserStreamとWebSocketを組み合わせてみた - ( ꒪⌓꒪) ゆるよろ日記
  • https://blog.8-p.info/2010/2-fsc-ruby

    tsukkee
    tsukkee 2010/01/14
    Macだとtmpディレクトリの場所が$HOME/tmpだった,変えられないのかなぁ
  • flagir: 国旗手書き検索 - まめめも

    2016/08/11 追記 Java アプレットと自宅サーバが滅びたので、Android アプリとして作り直しました。 https://play.google.com/store/apps/details?id=io.github.mame.flagir 国旗を描いて検索するアプレットです。国際競技の観戦などのお供にどうぞ。 ref: http://dame.dyndns.org/misc/flagir/ スクリーンショット。 フランス イタリア スイス カナダ ネパール 思った国旗がうまく出ないときは色が微妙に間違ってる可能性があります。明るい青とか暗い青とか変えて試行錯誤してみてください。細かい形は見ていないので、その辺にこだわってもたぶんダメです。 アルゴリズム 飛廉さんに聞いただけのにわか知識。 画像を 3x3 分割 *1 して、それぞれの位置を RGB ごとにヒストグラム *2

  • 刺激を求める技術者に捧げるScala講座---目次

    連載では,次世代のエンタープライズ・プラットフォームを支える言語として,このところ最も注目を集めている言語「Scala」の魅力をお伝えしていきたいと思います。Scalaは,技術的にもかなり刺激的で,楽しい言語に仕上がっています。最初の一歩から刺激的な技術解説まで,幅広くScalaおもしろさ,楽しさをお伝えしたいと思います。 第1回 なぜScalaなのか? 第2回 Scalaの基的な文法 第3回 Scala言語を探検する(1) 第4回 Scala言語を探検する(2) 第5回 Scala言語を探検する(3)関数型言語としてのScala 第6回 Scala言語を探検する(4)Scalaの型システム 第7回 関数脳のつくり方 First Season 第8回 Scala DSLでできること 第9回 Scala DSL事始め(前編) 第10回 Scala DSL事始め(後編)

    刺激を求める技術者に捧げるScala講座---目次
  • inforno :: 日本語プログラミング言語Scala

    via 第20回 日語でおk Ruby もいいけど Smalltalk でも、おk。 Scalaはメソッド名に日語使えるよ。Scalaは日語プログラミング言語だよ(言いすぎ)。 1object JapaneseLanguage { 2 class Standard[A](self:A) { 3 def の[B](f:(A) => B) = f(self) 4 def を[B](f:(A) => B) = f(self) 5 def する() = () 6 } 7 8 class PseudoKansai[A](self:A) { 9 def のな[B](f:(A) => B) = f(self) 10 def をな[B](f:(A) => B) = f(self) 11 def すんねん() = () 12 } 13} 14 15 16def 平方根(v:int) = Math.sq

  • Scala で tap メソッドを使う:Rainy Day Codings:So-net blog

    Ruby 1.9 で標準装備になったという tap メソッド [1] [2] というのがかなりかっこいい。この場合の tap って多分電源タップの意味だろうか。メソッドチェーンの流れを切るまいとする Ruby 的な発想なんだろうと思う。 というわけで Scala でもやってみた。仕組み自体はおなじみのもの。Scala でも特に問題無い様に思われる。 scala> class Tap[T](obj: T) { | def tap(block: T => Unit): T = { block(obj); obj } | } defined class Tap scala> implicit def any2tap[T](obj: T): Tap[T] = new Tap(obj) any2tap: [T](T)Tap[T] scala> val l = List(2, 1, 4, 5, 3)

  • 1