2010-01-01から1年間の記事一覧
プログラミングお題の一覧はこちら※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 テストドリブン開発が主流になってきていますね。そこで各言語でJUnitのようなテストを実装して下さい…
プログラミングお題の一覧はこちら※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 古のお題。 解いてみた Groovyで解いてみた (2010-10-12更新) Javaで解いてみた (2010-10-12更新) Scal…
はじめに 最近関数型言語をよく目にする機会が増えたので、Groovyでは#inject(左畳み込み)はあるけど、そういえば右畳み込みがないんじゃない?と思ってCollectionを拡張してみました。 ソース (動作確認: Groovy Version: 1.7.5 JVM: 1.6.0_20) 解説 metacl…
はじめに ちとタイトル分かりにくいですが、せっかく書いたので投稿しておく。 ソース (動作確認: Groovy Version: 1.7.5 JVM: 1.6.0_20) 解説 動的に作った文字列でメソッド呼べるよね〜っていうサンプルでした。
はじめに ライフゲームをなんとなくGroovyで書いてみました。 ソース (動作確認: Groovy Version: 1.7.5 JVM: 1.6.0_20) スクリーンショット グライダー(初期状態) shape.txtをいじった状態 実行方法 >groovy lifegame.groovy 操作方法など エラー処理などさ…
♪右から、右から、カレー化しちゃ〜う〜 ええ、ちょっと古いネタでした。いつのまにやらGroovyのClosureメソッドで#rcurryやら#ncurryやらできるようになってました。*1 軽い説明 メソッド 説明 #curry 普通のカリー化(左から) #rcurry 右からカリー化 #ncur…
はじめに クロージャ(groovy.lang.Closure)を引数にとって、途中の処理を委譲するようなメソッドを定義し、呼び出し時にブロックのように呼び出すことはGroovyでは普通に行われます。 ただ、通常では#callメソッドに渡す引数がクロージャ内で -> の前に列挙…
はじめに なんとなく書いてみた。せっかくなので公開。 ソース (動作確認: Groovy Version: 1.7.5 JVM: 1.6.0_20) ちなみに 気が向いたらもっとチェックメソッドを増やしていこうと思う。気が向いたらね。 参考 idにアルファベットの重複がある人集まれ! - …
はじめに こちらにて、java.text.Collatorの使い方が示されていた。 知らなかったんですが、このCollatorというクラスはソートで使うらしく、通常のソートではUnicode順になってしまうところを良きに計らってくれるようです。 ソース (動作確認: Groovy Vers…
Gitでリポジトリを作成する場合は以下の二種類がある。 git init git init --bare で、ベアリポジトリってのは、ワークツリーを持たないリポジトリだけで構成されたリポジトリ*1ってことなんですが、じゃあ、普通に作ったリポジトリと何が違うの?っていう素…
このシリーズの一覧はこちら はじめに JSONとGroovyのマップは非常に形式が似ている。 違っているのはJSONの方はマップに {} を利用するのに対して Groovyは を使う点くらいだ。 ということで、{} を することでJSONをGroovyObject*1に変換するクラスを書い…
最近購入したMacでGroovyConsoleを利用していた時のこと。 以前まで使っていたWindowsの感覚でバックスラッシュを入力してしまっていてハマったのでメモ。*1Windowsだとキーボードの一番右上にある「¥」のキーを押すことでバックスラッシュを入力できますが…
Mac(Mac OS X 10.6.4)のターミナルからgroovyを実行しようとすると、エンコードの指定がうまくいっていないのか、文字化けしてしまって起動できなかった。 根本的な解決法は他に在りそうだけど、ひとまずエイリアスを作ってUTF-8にエンコードを固定するよう…
プログラミングお題の一覧はこちら はじめに タイトルの通りなんですが、どう書く?orgに思いついたお題を投稿しようと思ったらなぜかログインできなくなっている*1ので、ひとまずこのブログにお題を書いておく。あとで復活したら改めて投稿しようと思う。 …
注意:名前やメールアドレスは適時ご自身のものに読み替えて下さい。 git config --global user.name "fumokmm" git config --global user.email "fumo.kmm@gmail.com" git config --global color.ui auto コマンド 説明 git config --global user.name "xxx…
お題: Server error 投稿: Server error こんな感じになりました 動作確認はGroovy Version: 1.7.3 JVM: 1.6.0_20にて。 考察 ソートする際に数値と数値でない部分に分けて、数値のところは数値でソートするような形で実装してみました。 関連記事にも挙げま…
タイトルの通りです。 BigIntegerやBigDecimalは文字列からインスタンスを生成できますが、その際、全角も許されるみたいです。 地味にすごい! new BigInteger("123").intValue() // => 123 new BigDecimal("123.45").doubleValue() // => 123.45d
この記事はGroovy基礎文法最速マスター | Think Twiceへ移管しました。
はじめに GroovyではAntBuilderやGantといったAntを利用する上でとても強力な拡張が存在しますが、もうちょっとシンプルにAntスクリプト内からGroovyを利用する方法もあるのでそのご紹介です。 使い方 Seeing is believing!! ということで、サンプルをば。 (…
はじめに Gmailを迅速に使いたいなと思ったときに、キーボードショートカットがあったことは覚えているのですが、どんなキーだったかなと曖昧な記憶で結局はマウスでクリックしてしまう…そんな経験ありませんか?*1 ということで、良く使うキーボードショー…
Twitterをやっているとフォロワーが自然と膨れ上がってしまいますよね。適当にフォローしてしまったけど、簡単にリムーブできなくて困っている。そんな人には以下の3つのステップでフォロワーを整理してみてはいかがでしょうか。 ステップ1 20の分類(リ…
ここで紹介されていて感動したので早速試してみました。↓こちらからどうぞ ...を試してみた! 用意したのはこちらの洗濯バサミさん。 ...... - iPhone - ふも - はてなハイクいやぁ、便利ですね。よくYouTubeで動画とかを見てるんですがこれでかなり楽に見や…
このシリーズの一覧はこちら はじめに 前回の記事の続き。iPad発売記念日ですがこんな記事を書いてます(笑) IvyリポジトリをWeb上に公開したい まだわかっていないことも多いのですが、ちょこちょこ調べていった結果ivy.xml的なものを宣言して、あとは とい…
このシリーズの一覧はこちら はじめに Groovyの@GrapeはIvyを使っているらしい。IvyとかMavenとかよくわかっていなかったんですが、これを機に勉強を開始したところです。*1で、いろいろ探ってみるとどうも日本語の情報があまり見当たらない*2…長期戦になり…
id:nazokingさんが、java使いのためのScala の勉強のための資料作り scalaって素晴らしい いろいろ1 - nazonoDiaryという記事を書いていた。 ここでは、Scalaで書くとJavaよりも簡潔に書けるよとのことで紹介されているのですが、比較対象にGroovyが入ってお…
例 →ここ やりかた 1.gistで「Create Public Gist」する。 2.次に「show embed」をクリックし、埋め込みリンクをコピーする。 ↓こちら(スクリプトのすぐ右上)の方だとうまく貼り付けられないのでご注意を 3.はてなブックマークの本文に2のリンクをペ…
こんな感じでバインドできるところはまさに関数型。
はじめに 多分できるって話を聞いてはいたんですが、まぁそんなにWiFiに繋いでまで使うこともないかなーとか思っていて、ずっと放ったらかしにしたままだったんですが、YouTubeの動画とかもきれいに見れるって話だったのでちと自宅無線LAN環境でWi-Fiを使え…
id:nidouchiさんのところ(http://d.hatena.ne.jp/nidouchi/20090904/p1)にて切符問題というものが取り上げられていたので、私も解いてみた。 いくつかの正の整数と加算・減算・乗算 の3つの演算子(そして、括弧)を使って、ある別の正の整数を生成する方法…
SwingのJLabelなどでHTMLを使いたい時は先頭と末尾に空白が入っているとだめらしい。 new JLabel(" <html> .... </html> "); // ←これNG new JLabel("<html> .... </html>"); // ←これOK たったこんな事で1時間程度はまった…やはりGUIはいろいろと勝手が違うね。