Excel 列名変換


Excel列名変換問題で第2回社内プログラミングコンテストを開催してみた

Perl 書けないので Ruby と Python で書いた。あとコマンドラインで引数渡して……という部分は省いて、それぞれ単純な関数にしてある。


Ruby

Ruby 1.9.3 で確認。

Python

Python 2.7.2、Python 3.2.2 で確認。


最初に Ruby の方を大体制限時間内で書いて、あとから友だちの Rubyist、@hidachinoiro に教えてもらったりしてリファクタリング。その後 Python に移植。

Perl で書くともっと難しそう。Ruby 最初からいろいろできて便利。Python は Ruby と同じことするのに3つもモジュールをインポートしてる1けど、やろうと思えばモジュール使わずに同じ機能を実装できる。コードの量は増える。

プログラミングコンテストとしては現実にありそうな良問だと思う。ただ慣れてる人ならもっと簡単に解けそう。


  1. Python 2 だけなら2つで良いけど Python 3 で reduce()functools に移動してた 

Ruby + Nokogiri で 気象庁スクレイピング

このあいだの連休中に『たのしい Ruby』を読んで、まあまあかっこよく [[wiki:Ruby]] 書けるようになったから書いてみた。Ruby は 1.9.2 使った。

気象庁 | 過去の気象データ検索

ブロック付きでもなしでも何となく使える感じ。

Ruby はじめてちゃんと勉強して、全部オブジェクトなのはかっこいい。ブロック使うのちょっと慣れるまで気持ち悪かったけど、慣れると便利。

TextMate と BBEdit と行き来しながら書いたけど、TextMate の方が便利。