タグ

2013年10月9日のブックマーク (3件)

  • Scala @tailrecメモ(Hishidama's Scala @tailrec Memo)

    概要 scala.annotation.tailrecアノテーションは、末尾再帰でないメソッドの場合にコンパイルエラーにするアノテーション。 再帰するメソッド(自分自身を呼び出すメソッド)は、呼び出す回数が多くなるとその分スタックフレームを消費してしまう(最悪はOutOfMemoryErrorが発生する)が、 末尾再帰だと効率の良いループに変換してくれる。 tailrecアノテーションを付けておくと、誤って末尾再帰になっていない時にコンパイルエラーになってくれる。 例 @tailrecの使用例。 import scala.annotation.tailrec メソッドが末尾再帰でないとコンパイルエラーになる。 (再帰呼び出し部分が呼び出した結果との演算になっていると、末尾再帰に出来ない) scala> @tailrec | def f(n: Int): Int = { | if (n <=

    golden_eggg
    golden_eggg 2013/10/09
    "末尾再帰でないメソッドの場合にコンパイルエラーにするアノテーション"
  • ScalaのFunction22問題(またはTuple22問題)について思うこと - たけぞう瀕死ブログ

    Scalaで実際にシステム開発を行う上でかなりの高確率で遭遇するのがFunction22問題(またはTuple22問題)です。Scala Conference in Japan 2013のセッションではScalaの問題点として挙げたのですが、実際はいろいろと思うところもあるので書いておきます。 Function22問題(またはTuple22問題)とは? Scalaのフレームワークではケースクラスへの値のマッピングにタプルを使ったり、値のバインドやアンバインドにapplyメソッドやunapplyメソッドを使うものが多いのですが、Scalaには以下のような制約があるため、22個以上のプロパティを定義することができない、というものです。 22個以上の引数を持つ関数を作ることができない(メソッドとしては定義できますが、変数に代入したり関数渡しをしようとするとコンパイルエラーになります) 要素が22

    ScalaのFunction22問題(またはTuple22問題)について思うこと - たけぞう瀕死ブログ
    golden_eggg
    golden_eggg 2013/10/09
    Function22問題
  • パナソニック プラズマテレビから撤退へ NHKニュース

    経営の立て直しを進めている「パナソニック」は、国内の大手電機メーカーで唯一手がけているプラズマテレビ事業について、採算が悪化しているため今年度末をめどに生産を停止し、事業から撤退する方針を固めました。 パナソニックは2期連続で7500億円を超える最終赤字を計上していて、経営悪化の要因となっているテレビ事業の立て直しが急務となっています。 このうち特に採算が悪化しているプラズマテレビ事業について、パナソニックは今年度末をめどに生産を停止し、事業から撤退する方針を固めました。 当初パナソニックは、プラズマテレビは液晶テレビよりも大画面の画質が鮮明だとして薄型テレビ命に位置づけ、兵庫県尼崎市に3つの工場を建設するなど巨額の投資を行ってきました。 しかし薄型テレビの市場では、技術開発が進んで生産コストが安くなった液晶テレビのシェアが拡大し、パナソニックとしてはプラズマテレビ事業の継続は難しいと

    golden_eggg
    golden_eggg 2013/10/09
    テレビ番組というソフトの価値・魅力が低い以上、テレビに金掛けたいと思わない