[Scala] machの深いネストの予防方法(についての確認&練習) 投稿日時: 2012年9月16日 投稿者: tmyymmt 1 https://gist.github.com/2382341についての確認&練習。 // see https://gist.github.com/2382341 // scalaz for only solution3 import scalaz._ import Scalaz._ object SolutionForMultiNestedMatchforMyStudy { def f(num: Int): Option[Int] = { num match { case 0 => Some(1) case 1 => Some(2) case 2 => Some(3) case _ => None } } def solution1(num: Int): Int = { f(num) match { case Some(v1) => { f(v1) match { case Some(v2) => { f(v2) match { case Some(v3) => v3 case _ => -3 } } case _ => -2 } } case _ => -1 } } def solution2(num: Int): Int = { val v1 = f(num) val v2 = v1.flatMap(f) val v3 = v2.flatMap(f) (v1, v2, v3) match { case (Some(_), Some(_), Some(result)) => result case (Some(_), Some(_), None) => -3 case (Some(_), None, None) => -2 case _ => -1 } } def solution3(num: Int): Int = { f(num).toSuccess(-1).flatMap(f(_).toSuccess(-2)).flatMap(f(_).toSuccess(-3)).fold(identity, a => a) } def solution4(num: Int): Int = { (for { v1 <- f(num).toRight(-1).right v2 <- f(v1).toRight(-2).right v3 <- f(v2).toRight(-3).right } yield v3).merge } def solution5(num: Int): Int = { val v1 = f(num).getOrElse { return -1 } val v2 = f(v1).getOrElse { return -2 } f(v2).getOrElse { return -3 } } def example { (0 to 3).foreach{n => println(solution1(n))} println (0 to 3).foreach{n => println(solution2(n))} println (0 to 3).foreach{n => println(solution3(n))} println (0 to 3).foreach{n => println(solution4(n))} println (0 to 3).foreach{n => println(solution5(n))} } }
Retractive Scroll Views for Android 投稿日時: 2012年4月3日 投稿者: tmyymmt 返信 今さらですがGitHubの練習がてら、Android向けのライブラリをGitHubにアップしました。 iOSみたいに、びよーんとオーバースクロールできるスクロールビューです。複数のスクロールビューを同期して動かすこともできます。Android 1.6 (API Level4)から使えます。 https://github.com/tmyymmt/Retractive-Scroll-Views-for-Android
Google Gadget – やった!? – メンテナンスのお知らせ 投稿日時: 2010年1月14日 投稿者: tmyymmt 返信 ネットワークメンテナンスのため、1/16(土)は終日ご利用頂けない、または不安定な状態となります。
Google Gadget – ピンポイント天気予報 不具合修正 投稿日時: 2009年6月22日 投稿者: tmyymmt 返信 不具合を修正しました。結論としては私のミスでした。すみません。皆様、ご迷惑をおかけいたしました。m(_ _)m 原因:コードの途中で_IG_AdjustIFrameHeightを呼んでいたので、最後の最後で呼ぶように修正したところ正しく動作しました。 iGoogleの実装が変更されてミスが発現したようです。(今まで動いていたのが謎。昔は内部で遅延実行していたのかも。)
Vista ファイルの関連付け *.jarファイルをダブルクリックで起動 投稿日時: 2008年9月5日 投稿者: tmyymmt 返信 Vistaでファイルの関連付け コントロールパネル → 規定のプログラム → ファイルの種類またはプロトコルのプログラムへの関連付け Vistaで*.jarファイルをダブルクリックで起動 Java 6 update 7 をインストール スタート → ファイル名を指定して実行 → regedit HKEY_CURRENT_USER\Software\Classes\Applications\java.exe\shell\open\command データに「"C:\Program Files\Java\jre1.6.0_07\bin\javaw.exe -jar" "%1"」を入力
RDFの表記法 投稿日時: 2007年4月25日 投稿者: tmyymmt 返信 RDFの表記法はいくつかあるが、RDFを学ぶ段階でRDF/XMLは使わない方が良いだろう。はっきり言ってRDF/XMLは分かりにくい。コード上で機械に扱わせる時に初めて使用するくらいで十分。 一番分かりやすくいのは図。まずは図を描く。 文字で書くならn3が分かりやすい。ちなみにRDFクエリ言語のSPARQLもn3に近い書き方。