2012-01-01から1年間の記事一覧
Groovy!(挨拶)最近Groovyであまり遊べていないfumokmmです。G* AdventCalender2012の10日目ということで、久々に記事を書かせていただいております。 せっかくの機会なので、Groovyでメタプログラミングする際のとっかかり部分をまとめてみました。自分の…
当メモは [お題] Project Euler Problem 3 最大の素因数 | Think Twice へ移管しました。
プログラミングお題の一覧はこちら ※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 (このお題の元ネタはこちら) JavaDocのパッケージ内容を記述するpackage-info.javaを生成するプログラ…
元ネタ RubyでJavaのpackage-info.javaを一括生成するスクリプト - tbpgの技術メモ GroovyでJavaのpackage-info.javaを一括生成するスクリプト - 日々常々 はじめに id:tbpgさんのRuby記事を見て、Groovyで解こうかなと思っていたら、id:irofさんに先を越さ…
当メモは [お題] Project Euler Problem 4 最大の回文積 | Think Twice へ移管しました。
当メモは [お題] Project Euler Problem 22 名前のスコア | Think Twice へ移管しました。
当メモは [お題] うるう年チェック | Think Twice へ移管しました。
プログラミングお題の一覧はこちら※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 以下例のように、カンマと1で階層を表現するデータ入力がある。 階層ごとに出現順にインクリメントしナ…
はじめに Groovyでは as演算子 を利用するためには #asType(Class) メソッドを実装すればよい。既存クラスには既に #asTypeメソッド が実装されているため、通常あまりいじることはない(と思われる)のだが、とある事情でいじる必要が出てきた。その際、ちと…
はじめに Javaでインスタンスを生成するクラス、いわゆるファクトリクラスを書く場合、色々な書き方があると思いますが、特定のクラスのインスタンスのみしか作れないとわりと不便なので、今回は、型トークン(クラスクラスと呼ばれるやつですね: Class<T> で</t>…
お題 第一回 オフラインリアルタイムどう書くの参考問題 #勉強会 #Ruby #C - Qiita 問題 ポーカー5枚のカードを示す文字列を入力とし、ポーカーの役を出力せよ。 ただし: 一枚のカードは、スートを表す文字+ランクを表す文字列 で構成される。 スートを表す…
cf.mike、mikeなるままに…: "fizzになる数字をn個挙げる"をGroovyで解説は後日追記します。
Groovy!(あいさつ) Clojure!(あいさつ)今回はClojureのマクロの練習も兼ねて、unlessを書いてみました。 unlessはifの逆です。(つまり、条件が偽なら実行するやつですね) まずはClojure test-isでテストなども書いてみました。 マクロって素敵。 次はGroov…
リストの第一要素がシンボルなら関数として起動できるのかな?と思っていたんだがどうも違うらしい。とりあえず、printlnを例として。(symbol 文字列) でシンボルは作れるらしい。 $ clj Clojure 1.4.0 user=> (symbol? 'println) true user=> (= 'println (…
はじめに 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…
はじめに なるべく関数型を意識して書いてみました。 なんとか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…
このシリーズの一覧はこちら はじめに Clojure! (あいさつ)Buzzになる数字をn個挙げるをClojureで - No Programming, No Lifeの続き。 clojure-contrib.str-utilsのstr-joinをuseして、出力をカンマ区切りにしてみました。 useを追加 (use '(clojure.contrib…
このシリーズの一覧はこちら はじめに Buzzになる数字をn個挙げる - 日々常々 "Buzzになる数字をn個挙げる"をGroovyで…やろうと思ったんだけど - 日々常々 “Buzzになる数字をn個挙げる”をScalaで - 裏紙 なんか面白そうだったのでClojureで。前回のClojureで…
はじめに javaとかScalaで全角を半角に変換する方法 - ブログなんだよもんをGroovyでもやってみた。 元記事でも触れられておりますが、確かにこういう処理は再発明はしたくない。 ソース Groovyの場合、Grape(@Grabアノテーション)でMavenリポジトリなどから…
当記事は、Groovyのチートシート | Think Twiceへ移管しました。
このシリーズの一覧はこちら はじめに またClojureをちょこちょこいじりはじめています。ということで、凄く初歩的ですがFizzBuzzからやり直しています。 個人的な感想ですが、Clojureはやはり習得が少々難しい気がするので、ステップアップで学べるような記…
発端 だいぶ前にハマったんですが、解決したのでメモっておこうと思う。 発端や経緯はここらへん*1を見ていただきたく。*2 結論 夜フクロウを利用していて環境設定にて「アプリケーションを表示/隠す」の設定を Shift-Q にしているとグルーバルにキーボード…
はじめに enumでインタフェースが実装できることが分かったので、その応用例の一つとして、Javaでenumを使ってプロパティファイルのキーを定義するサンプルを書いてみました。 プロパティファイル読み込みは何が問題か Javaでの外部プロパティファイルの機構…
こんな感じで沢山クロージャを受け取るようなメソッドを書くと {} {} {} のように連なって中括弧が書ける。
当記事は、Javaのenumは継承できないけどインタフェースが継承できる | Think Twiceに移管しました。
はじめに Java標準のSDKに java.beans パッケージがありますが、この中にJavaBeansの getter/setter を便利に扱える PropertyDescriptor というクラスがあるようです。 クラス階層 java.beansClass PropertyDescriptorjava.lang.Object └java.beans.FeatureD…
タイトルの通りなんですが、いまやってるプロジェクトでJavaEEでリクエストのHTTPヘッダに値を付加して持ち回る必要が出てきていまして、その方法を模索中です。とりあえず色々ググってたどり着いた案は、今のところ以下のような感じ。 サーブレットだと、#s…