No Programming, No Life

新しいNPNLです。http://d.hatena.ne.jp/fumokmm/ から引っ越してきました。

Groovy

GroovyでMarkdownパーサーを作ろう #4「Headers(見出し)の実装」その2

このシリーズの一覧へ Groovy! (挨拶)どうも、ふも(@fumokmm)です。 はじめに さてそれでは、前回の続きで、Headers(見出し)の具体的な実装に入って行きたいと思います。 一行ずつ処理する 前回までは、ファイルから読み取った内容を一気にHTMLのBODYタグに…

GroovyでMarkdownパーサーを作ろう #3「Headers(見出し)の実装」その1

このシリーズの一覧へ Groovy! (挨拶)どうも、ふも(@fumokmm)です。 はじめに さて、今回から具体的な変換処理の実装に入っていくわけですが、いざ実際にコードを書いていこうとすると色々と下準備が必要になってきそうです。ゆっくりやっていきたいと思いま…

GroovyでMarkdownパーサーを作ろう #2「HTML出力部分の作成」

このシリーズの一覧へ Groovy! (挨拶)どうも、ふも(@fumokmm)です。 はじめに さて、それでは早速コードを書いて行きたいと思います。といってもまだ、Markdownの変換ロジックには入りません。 今回は設定ファイルを読み込んで、その内容をプレーンなHTMLに…

GroovyでMarkdownパーサーを作ろう #1「名前決め」

このシリーズの一覧へ Groovy! (挨拶)どうも、ふも(@fumokmm)です。 はじめに 最近がっつりとブログを書いている時間がないので、先にやりたいことを決めて、ちょっとずつその軌跡を記録していく感じで記事にしていこうと思います。だいたい一つの記事が3分…

GroovyでMarkdownパーサーを作ろう

GroovyでMarkdownパーサーを作ってみよう。 GroovyでMarkdownパーサーを作ろう #1「名前決め」 - No Programming, No Life GroovyでMarkdownパーサーを作ろう #2「HTML出力部分の作成」 - No Programming, No Life GroovyでMarkdownパーサーを作ろう #3「Hea…

Re:3年間の進歩(10分でコーディング)

Groovy! (挨拶) はじめに id:uehajさんが、3年間の進歩 - uehaj's blog で楽しそうなお題を解いていたので私もやってみました。こういう三年越しの計画とかっていいですね。昔自分で解いたお題を今の知識で再トライするとか素敵です。 お題 あなたはこれから…

JLineの最小サンプル in Groovy

はじめに Groovy! (挨拶)突然ですが、 航海日誌: 2012-01-09: [Scala][Java] JLineの最小サンプル をGroovyでも書いてみました。 JLineは、コンソールアプリケーションにおいてユーザの入力の編集と読み込みを行うJavaライブラリです。 タブ補間、コマンド履…

メタプログラミングGroovy入門

Groovy!(挨拶)最近Groovyであまり遊べていないfumokmmです。G* AdventCalender2012の10日目ということで、久々に記事を書かせていただいております。 せっかくの機会なので、Groovyでメタプログラミングする際のとっかかり部分をまとめてみました。自分の…

Project Euler Problem 3 を解いてみた

問題 The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 600851475143 ? Problem 3 - Project Euler 13195 の素因数は 5、7、13、29 である。 600851475143 の素因数のうち最大のものを求めよ。 Problem 3 -…

GroovyでJavaのpackage-info.javaを一括生成するスクリプト(二番煎じ)

元ネタ RubyでJavaのpackage-info.javaを一括生成するスクリプト - tbpgの技術メモ GroovyでJavaのpackage-info.javaを一括生成するスクリプト - 日々常々 はじめに id:tbpgさんのRuby記事を見て、Groovyで解こうかなと思っていたら、id:irofさんに先を越さ…

Project Euler Problem 4 を解いてみた

問題 A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 99.Find the largest palindrome made from the product of two 3-digit numbers. Problem 4 - Project Euler 3桁…

Project Euler Problem 22 を解いてみた

問題 Using names.txt (right click and 'Save Link/Target As...'), a 46K text file containing over five-thousand first names, begin by sorting it into alphabetical order. Then working out the alphabetical value for each name, multiply this v…

Groovyによるうるう年チェック

はじめに Javaによるうるう年チェック - お仕事の備忘録みたいなもの で画期的なうるう年判定を行っていた。 それは、 java.util.Calendar#getActualMaximum(Calendar.DAY_OF_YEAR) を使うというもの。 Calendar#getActualMaximum Calendar#DAY_OF_YEAR この…

Groovyで既存クラスのasTypeをOverrideする

はじめに Groovyでは as演算子 を利用するためには #asType(Class) メソッドを実装すればよい。既存クラスには既に #asTypeメソッド が実装されているため、通常あまりいじることはない(と思われる)のだが、とある事情でいじる必要が出てきた。その際、ちと…

お題:ポーカーをGroovyで解いてみた

お題 第一回 オフラインリアルタイムどう書くの参考問題 #勉強会 #Ruby #C - Qiita 問題 ポーカー5枚のカードを示す文字列を入力とし、ポーカーの役を出力せよ。 ただし: 一枚のカードは、スートを表す文字+ランクを表す文字列 で構成される。 スートを表す…

"fizzになる数字をn個挙げる"をGroovyで無限リストと遅延評価を駆使して

cf.mike、mikeなるままに…: "fizzになる数字をn個挙げる"をGroovyで解説は後日追記します。

GroovyとClojureでunlessを書いてみた

Groovy!(あいさつ) Clojure!(あいさつ)今回はClojureのマクロの練習も兼ねて、unlessを書いてみました。 unlessはifの逆です。(つまり、条件が偽なら実行するやつですね) まずはClojure test-isでテストなども書いてみました。 マクロって素敵。 次はGroov…

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…

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

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

Groovyのチートシート

はじめに この記事は Groovyで頻出なコードの書き方のチートシート - No Programming, No Life からの転載です。 Groovyで頻出なコードのチートシート集です。 動作確認はGroovy Version: 1.8.6 JVM: 1.6.0_31 Vendor: Apple Inc. OS: Mac OS Xにて。 リスト…

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

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

私がGroovyを好きな9つの理由 2011年版

ぐるーびーたんと本 by id:torazuka はじめに G* Advent Calendar 2011 12/12(12日目)に参戦ということで。 そろそろGroovyについて語っておくベキかなと思ったのであらためて書いてみます。私なりの、Groovyを気に入っている理由を9つほど述べてみたいと…

Groovyでバブルソートを再発明してみた

車輪の再発明シリーズ!とりあえずバブルソート。 繰り返しはクロージャで、判定結果は畳み込み(inject)などを駆使してみた例。 効率?そんなの気にしちゃいかんです。

GroovyのMarkupBuilder用の文字列をXMLから生成するクラスを書きました

はじめに GroovyにはMarkupBuilderというのがあって、GroovyのDSLを用いて簡単にXML(などのマークアップランゲージ全般)を作れるというもの。このブログでも前にこれとかこれとかで記事を書いています。さて、今回はこの逆をやってみようという話です。つま…

Groovyでファイルツリーを巡り、最初に見つかったファイルを返却するメソッド書いたよ

はじめに GroovyにDirectory.EnumrateFiles("hogeDir").First()みたいなのってあったっけ?2011-09-10 12:24:59 via Twitter for Mac @kyon_mm @kimukou_26 new File('hogeDir').listFiles({it.isFile()} as FileFilter).first() とか?2011-09-10 12:35:24 …

実行時にGroovyのバージョンを調べる

groovy:000> GroovySystem.version ===> 1.9.0-beta-3

お前に本当のカリー化を見せてやろう、Groovyで

はじめに 思いの外話題になっているようなので、Groovyでちゃんとしたカリー化をする関数を書いてみました。ちょっとタイトルはあれですがお許し下さい。 こんな感じでいいんですよね?(ツッコミ大歓迎) ここでは、addが引数を3つ取って、加算するクロージ…

Groovyでは全要素に対してゲッターを呼ぶような時は*.の*が省略できる

はじめに GPathって言うんでしたっけ?こういうの。 サンプルを見た方が早いので説明はそちらで。 コードで語る まず、こんなクラスを用意する。 class A{ def getName(){ 'a' } } class B{ def getName(){ 'b' } } class C{ def getName(){ 'c' } } そして…

Groovyでメソッドのエイリアスを作成してみた

そういやコレクションのcollectメソッドという名称がいまだにしっくりこない。このメソッド名って日本語でいえば何になるんだべ?Rubyではmapって名のほうばかり使ってる。。。2011-08-10 08:40:23 via ちーたん Groovyからの回答 なら、エイリアスを作っち…

GroovyのPowerAssertの力を享受するなら、引数は1つの方を使わないとダメらしい

論よりコード。 動作確認バージョン $ groovy -v Groovy Version: 1.9.0-beta-1 JVM: 1.7.0-internal test.groovy def str = 'abc' assert 'わざと間違う' == str 結果 $ groovy test.groovy Caught: Assertion failed: assert 'わざと間違う' == str | | | …