No Programming, No Life

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

2010-10-01から1ヶ月間の記事一覧

ScalaでJavaのコレクションを使うには?

Javaのコレクションを取得してそれをScalaのコレクションに変換する方法ではまったのでちょっとメモ。 scala.collection.JavaConversions.asBuffer(/* ここにJavaのコレクション */) としたらうまく行きました。微妙に面倒くさいですね。 考察 そう考えてみ…

Groovyでクロージャを期待するメソッド呼び出し時の挙動について

はじめに (10..1e4).grep(~(9..0).sum{"$it?"}).any''.&println anarchy golf - the source code を見ていたら見つけたのですが、Groovyってクロージャを引数として期待しているメソッドにクロージャインスタンスを渡した場合は自動でうまい感じに動くんです…

Anarchy Golf:perfect square freeをGroovyで解いてみた

やってみた お題の内容 問題 output all the numbers from 3 to 100 without perfect square. (3から100の数値のうち平方数を除くものを出力せよ。) 期待値 [3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 26, 27, 28, 29, 30,…

Gitではワーキングツリーを入れ子にできるようです

Git

はじめに Gitは.gitフォルダにてメタデータをすべて取り扱うため、タイトルのように、ワーキングツリーを入れ子にできるのかな?と思って実験してみたらできたのでこの記事を書いています。 図にするとこんな感じ *1 一つめのワーキングツリーが青色のところ…

お題:リストの内容比較

プログラミングお題の一覧はこちら※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 二つのリスト(左・右)の内容を比較し、片方にしかないものと両方に在るものを出力するプログラムを書…

Iokeをインストールしてみた

はじめに ちょっと気になってた言語なのでひとまずインストールまでやってみたのでメモです。 インストール 環境 Mac OS X 10.6.4 portsで管理されてるかな?? $ port search ioke No match for ioke found なんと!無いのか。 じゃあ、本家からダウンロー…

GroovyでBuilder系の定義ファイルの外出しする

はじめに GroovyはほにゃららBuilderが充実していますが、ちょっとだけ不満点を挙げるとしたらそれはコードに直接埋め込まなければいけないことではないだろうか。 new HogeBuilder().aaa { bbb (ccc: 'ddd') { eee() { . . . } } } こんな感じに。 そこで …

Groovyでevalしたかった

はじめに 文字列をevalする例です。 ソース (動作確認: Groovy Version: 1.7.5 JVM: 1.6.0_20) 解説 BindingはmapをasすればOKみたい。便利ですね。 上記例でinfoとなっているところを外部ファイルから読み込んだりすれば夢が広がります。 2011-03-27追記 評…

Groovyの#stripMarginをもうちょっと便利にしてみた

はじめに v1.7.3からString#stripMarginが追加されたので、先頭にパイプ('|')など*1を指定することで揃えることができるようになりました。 '''|aaa |bbb |ccc'''.stripMargin() みたいな感じで書くと aaa bbb ccc といった感じになります。 まぁ、これはこ…

お題:FizzBuzz

プログラミングお題の一覧はこちら※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに 'Fizz' と、5の…

JVM上で動くプログラミング言語のまとめ

※当記事はNAVERまとめに移行しました。(2012-04-14) 今後はNAVERまとめの方でメンテしてゆきますので、 よろしくお願いします。 JVM (Java Virtual Machine)上で動くプログラミング言語が増えてきたのでここらへんでまとめて行きたいと思います。新しいのを…

Gaucheをインストールしてみた

はじめに MacPortsでGaucheをインストールしたのでコマンドをメモ。 インストール 環境 Mac OS X 10.6.4 前提 snow leopardの場合はbuild_arch=i386とする必要があるらしい 依存するlibiconv,gdbmを+universalでビルドし直す必要があるらしい コンソール $ s…

GroovyのString(Groovy JDK)にいつの間にか#trメソッドが追加されてた

はじめに もう、追加したんなら言ってよぉ〜(笑) ということで、v1.7.3から追加されてたみたいです。前に自分でtrコマンドを書いたりしてたんですが標準サポートされるなんて嬉しい限り。ということで早速使ってみた。 ソース (動作確認: Groovy Version: …

groovyshではdefは使わないほうがいい、たぶん

これは… id:orangecloverさんが Groovyでdef関数からdef関数が呼び出せないのか? - みちしるべ でいろいろと困っているようだったんですが、この症状は私もなったことがある。 groovyshでdefを使うとスコープが(たぶん)その行だけになる $ groovysh Groovy …

お題:テストの実装

プログラミングお題の一覧はこちら※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 テストドリブン開発が主流になってきていますね。そこで各言語でJUnitのようなテストを実装して下さい…

お題:Hello, World

プログラミングお題の一覧はこちら※みなさんもこのお題をお気に入りの言語で解いてみて下さい。解いたらこの記事にトラックバックをお願いします。 説明 古のお題。 解いてみた Groovyで解いてみた (2010-10-12更新) Javaで解いてみた (2010-10-12更新) Scal…

Groovyでfoldl, foldrを書いてみた

はじめに 最近関数型言語をよく目にする機会が増えたので、Groovyでは#inject(左畳み込み)はあるけど、そういえば右畳み込みがないんじゃない?と思ってCollectionを拡張してみました。 ソース (動作確認: Groovy Version: 1.7.5 JVM: 1.6.0_20) 解説 metacl…

Groovyでメソッドをメソッド名(String)で呼び出す

はじめに ちとタイトル分かりにくいですが、せっかく書いたので投稿しておく。 ソース (動作確認: Groovy Version: 1.7.5 JVM: 1.6.0_20) 解説 動的に作った文字列でメソッド呼べるよね〜っていうサンプルでした。

Groovyでライフゲームを書いてみた

はじめに ライフゲームをなんとなくGroovyで書いてみました。 ソース (動作確認: Groovy Version: 1.7.5 JVM: 1.6.0_20) スクリーンショット グライダー(初期状態) shape.txtをいじった状態 実行方法 >groovy lifegame.groovy 操作方法など エラー処理などさ…

Groovyで右からや指定した位置でカリー化する

♪右から、右から、カレー化しちゃ〜う〜 ええ、ちょっと古いネタでした。いつのまにやらGroovyのClosureメソッドで#rcurryやら#ncurryやらできるようになってました。*1 軽い説明 メソッド 説明 #curry 普通のカリー化(左から) #rcurry 右からカリー化 #ncur…

Groovyでクロージャ内部で設定してもらった値を利用する

はじめに クロージャ(groovy.lang.Closure)を引数にとって、途中の処理を委譲するようなメソッドを定義し、呼び出し時にブロックのように呼び出すことはGroovyでは普通に行われます。 ただ、通常では#callメソッドに渡す引数がクロージャ内で -> の前に列挙…