No Programming, No Life

プログラミング関連の話題や雑記

2012-05-01から1ヶ月間の記事一覧

エラトステネスの篩を使ってClojureで素数を求める

はじめに Project Eulerの問題7, 素数10001番目を求める問題。 今回はエラトステネスの篩を使って実装してみた。 By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13. What is the 10 001st prime numbe…

Groovyで関数型を意識したFizzBuzzを書いてみた

はじめに なるべく関数型を意識して書いてみました。 なんとか140文字に収めることができました。 a={n,s->['']*n+s};f={n->[0..n,a(3,'fizz')*n,a(5,'buzz')*n].transpose().collect{i,f,b->[f,b].any()?f+b:i}};f(100).drop(1).each{println(it)}2012-05-1…

Buzzになる数字をn個挙げるをClojureで(その2)

このシリーズの一覧はこちら はじめに Clojure! (あいさつ)Buzzになる数字をn個挙げるをClojureで - No Programming, No Lifeの続き。 clojure-contrib.str-utilsのstr-joinをuseして、出力をカンマ区切りにしてみました。 useを追加 (use '(clojure.contrib…

Buzzになる数字をn個挙げるをClojureで

このシリーズの一覧はこちら はじめに Buzzになる数字をn個挙げる - 日々常々 "Buzzになる数字をn個挙げる"をGroovyで…やろうと思ったんだけど - 日々常々 “Buzzになる数字をn個挙げる”をScalaで - 裏紙 なんか面白そうだったのでClojureで。前回のClojureで…

javaとかScalaで全角を半角に変換する方法をGroovyでもやってみた

はじめに javaとかScalaで全角を半角に変換する方法 - ブログなんだよもんをGroovyでもやってみた。 元記事でも触れられておりますが、確かにこういう処理は再発明はしたくない。 ソース Groovyの場合、Grape(@Grabアノテーション)でMavenリポジトリなどから…

Groovyのチートシート

当記事は、Groovyのチートシート | Think Twiceへ移管しました。

ClojureでFizzBuzzを書いた

このシリーズの一覧はこちら はじめに またClojureをちょこちょこいじりはじめています。ということで、凄く初歩的ですがFizzBuzzからやり直しています。 個人的な感想ですが、Clojureはやはり習得が少々難しい気がするので、ステップアップで学べるような記…

夜フクロウを使っていると "Q" が打てなくなる時がある件

発端 だいぶ前にハマったんですが、解決したのでメモっておこうと思う。 発端や経緯はここらへん*1を見ていただきたく。*2 結論 夜フクロウを利用していて環境設定にて「アプリケーションを表示/隠す」の設定を Shift-Q にしているとグルーバルにキーボード…

Javaでenumを使ってプロパティファイルのキーを定義する

はじめに enumでインタフェースが実装できることが分かったので、その応用例の一つとして、Javaでenumを使ってプロパティファイルのキーを定義するサンプルを書いてみました。 プロパティファイル読み込みは何が問題か Javaでの外部プロパティファイルの機構…

GroovyのDSLとかに使えるかもしれない小ネタ:連なった括弧

こんな感じで沢山クロージャを受け取るようなメソッドを書くと {} {} {} のように連なって中括弧が書ける。

Javaのenumは継承できないけどインタフェースが継承できる

当記事は、Javaのenumは継承できないけどインタフェースが継承できる | Think Twiceに移管しました。