Ruby

Ruby1.9に対してできること

(この記事はRuby Advent Calendar jp: 2009 : ATNDの6日目です。前日はMr.GことJugyoさんでした)2日目のyharaさんの記事にもあるように、Ruby1.9では、1.8よりも便利な機能が満載です。最新の安定版の1.9は、1.9.1-p243ですが、現在1.9.2の開発が進められ…

jijixiさんのarrow.rbを試す

以前、変なこといっていたら、jijixiさんにMaybeについて反応をいただいて、コメントのほうにEitherとArrowについて書いてみたら、jijixiさんに苦行をしていただいてしまったようだ。(ありがとうございます。で、簡単に使ってみた。 irb(main):001:0> arrow …

ポータブルなwiki

前々から、プロジェクト本体のwikiを持ち運んで、外でそれを参照したり書き込んだりしたあとにマージできる分散VCSみたいな感じのwikiがないかなぁと思っていたら、まんまのがあった。 git-wiki: a git-powered wikiざっくりソースを眺めましたが、200行強で…

最近の好きなメソッド

今更ながら、injectから、Symbol.to_procが急浮上しております。あと、最近やっとsort_byなんてメソッドがあることに気付きました。気付いたきっかけというのが、この間の松江ruby会議のUstで行われていたパネラーによるコミット祭りで"sort_by_bangコミット…

るりまと(旧)Rubyリファレンスマニュアルでクラス変数の説明が違う

題意通りちょっと、クラス変数を持つクラスを継承したときの動作を勘違いしておりました。 class Hoge @@hoge = 0 def self.hoge @@hoge end end class Moge < Hoge def hoge=(i) @@hoge = i end end class Fuga < Hoge def hoge=(i) @@hoge = i end end と…

Pragmatic ProgrammersでRubyCocoaの本がでるみたい。

なにげに、プログラミングErlangのPDFを落とそうと、The Pragmatic Bookshelfにアクセスしたら、RubyCocoa: Bringing Some Ruby Love to OS X Programmingなんてあった。どうも、11月にでるみたい。本とのパックをカートにいれたところで冷静になってみた。

二日目行ってきた

reject会議にRejectされて、RejectReject会議で「Hashのmapについて」愚痴ってきました。なんか、他の豪勢な内容と違って、うだうだ言っているだけですみません。予想以上に、自分がしゃべれなくて情けない。終わった後、笹田さんに「collectは使わないんだ…

Rubykaigi1日目行ってきた

題意通り。 スタッフ、参加者のみなさんおつかれさまでした。まぁ、まっとうなレポートは他の方に期待して、個人的な感想。Rubiniusすごいなぁ。あれはパフォーマンスはどうあれ楽しそう。 あと、ujihisaさん人気はすごかった。 LTの最初に総会屋みたいな人…

もうすぐ1.9.0-2ですね

Rubyが。まぁ、明日RubyKaigiに行くというのに、最近ほとんどRubyなんて書いていない訳なのですが、ちょっと昨日1.8系の環境でちょっとしたテキスト処理をするスクリプトを書いたのですが、やっぱりinjectかわいいよinjectで、ひさしぶりに書いたにもかかわ…

これはまりそうだなぁ

rubyのパーサの挙動がよくわからない。((続)rubyのinjectにはバグがあるのか?) - 計算機と戯れる日々より普通に、ファイルにコード書くときは、きちんと空白とか気をつけて書くけど、irb上だとか、ワンライナーで書くときはやってしまいそう。それに、エラ…

原始的Ruby入門2回目Fizzbuzzの回

一昨日のつづきね。こないだのHello Worldが、プログラミング言語を学ぶための儀式であるならば、最近のプログラミング言語の学習でこれでも書いとけ的な問題としてFizzBuzz問題というのがある。1から100までの数字で、3の倍数のときはアホになるFizzと、5の…

原始的Ruby入門

最近、Rubyを書いていないので再入門しようと思い、Hello World のチュートリアルを書こうと思う。まず、Rubyを入手する。ここから最新のソースを入手し、コンパイルしておこう。何事も新しいのはいいことだと思う。とりあえず、今回は、安定版の最新ソース…

ついかっとなった

テレビを見ていたら、傘をふるわして、傘のしただけ音が聞ける音時雨という傘が紹介されていたが、傘のに雨に弱いとかいっていて爆発しろと思った。そんなことを思っていたら、かっとなって書き直したくなったコード。ホントは、コメントしようと思ったので…

1.9と1.8でのcase文の違い

今日のruby-listで[http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/44769:title=[ruby-list:44769] Ann: Ruby-1.9.0-1 Windowsインストーラパッケージ]というのが流れていたので、会社のパソコンのRubyをアップデート。これで、日本語のファ…

制約プログラミング楽しそう

Jリーグの対戦予定作成に制約プログラミングソリューション − @ITを読んで、制約プログラミングってこういう分野にもつかえるんだなぁっておもたt。制約プログラミングといわれてすぐ浮かぶのはprologなわけなんですが、やっぱりprologとかいってしまうと…

Hpricotの読み方

Hpricotって、正確にはなんて読むんでしょうね。Ruby札幌: 日本PostgreSQLユーザ会北海道支部 / Ruby札幌 合同セミナーのUstのircでは、"エイチプリコット"派と"アプリコット"派がいたと思ったのです、ここにきてHpricot = ヘプリッコットって読み方があるん…

OSC TokyoでのRubyのお話

オープンソースカンファレンス2008 Tokyoに行ってきました。ただ、体調が芳しくなかった(花粉で頭痛が)ので、Rubyのだけ聴いて帰ってしまいました。以下、メモ。高橋課長からの質問"Ruby1.9使ったことある人はいますか?" -> 4,5人程度(会場は120はいるみた…

RHGの逆襲2回目いってきた

題意通り内容は、Lingrのページにmitsuiさんが、議事録並に記録されています。ありがとうございました。なので、そちらをご覧ください。で、月曜に優しい懇親会(4:00スタート)にも参加してきたのですが、そちらのほうで聴いた感じたことをメモっときます。 …

RHGの逆襲第2回に参加します

ちょっと、予習が不十分ですが、参加してきます。いかに、予習した分の簡単なまとめをさらしておきます。st_tableのメンバが変化している - ruby 1.8 struct st_table { struct st_hash_type *type; int num_bins; int num_entries; struct st_table_entry *…

assoc配列をhashにする

勉強がてら、Ruby1.9でassocArrayになっている配列からハッシュを作るメソッドをArrayに追加してみました。 自分は、主にテキスト処理(sar だの iostat だのの結果をマージしたり平均したり)をするのに Ruby を使うことが多くて、単語分割して先頭をキーにし…

今回のRuby関西勉強会が面白そうな件について

ruby-listを眺めていたら、今回のRuby/Rails勉強会@関西が非常に面白そうと思った。今日、るりまのArrayの項を見ていたら、1.9になって結構組み合わせ関連のメソッドが増えていて面白そうだなと思っていたら、今回その件についての発表があるようだ。あとは…

rhg-strikes-back行ってきた

rhg-strikes-backに今日は行っていました。関係者のかたがた、ありがとうございました。内容に関しては、他のかたが素晴らしいレポートを書いてくれると思うので、次回参加したいというかたのための注意でも書こうかと。まず、予習は大切。予習はしておきま…

週末の予習

今週末、第1回 RHGの逆襲に参加してこようと思います。今回の範囲は、第2章 オブジェクトみたいなので、簡単に予習をしておりました。で、簡単に見た限り(といっても、正直オブジェクトの構造体あたりは自身がありません)、この章において、1.8と1.9で違いが…

とりあえず写経

継続渡し形式の階乗の定義をRubyで写経してみた。 #! /usr/bin/ruby def fact_cps(n,cont) return cont.call(1) if n == 0 fact_cps((n-1), lambda{|a| cont.call((n*a))}) end def fact(n) fact_cps(n,lambda{|a| 1 * a }) end うーん。関数をまわしている…

ImageScienceつかってみた

ちょっとデジカメの画像をリサイズしなきゃいけないことがあり、モテる Ruby! - Ruby会議 2007 - 川o・-・)<2nd lifeで紹介されていたImageScienceを使ってみた。 $ ruby resize.rb 1280 853 orginalのように、widht height 画像ファイルのディレクトリの…

Trap::Arrayにはまる

Rubyでプログラム書いているときに、空の要素の配列を複数個もつ配列が欲しかったのですが、 irb(main):001:0> [[],[],[]] => [[], [], []] と書くのがめんどくさかったので、Array.*を使って、 irb(main):002:0> [[]]*3 => [[], [], []] と書いてみました。…

まじにめにどんなのがうれしいか書いてみる

あたりまえだったんだけど、ちょっとがっかりしてしまったこと - takkan_mのNo planな日常で、HashのmapがArrayでがっかりみたいに書いたんだけど、HashのmapはHashを返せと思うのは、僕だけじゃないのね。ということで、いくつか案を考えてみた。まず1 clas…

あたりまえだったんだけど、ちょっとがっかりしてしまったこと

ちょっと、前にHashの要素のvalueのほうをちょっと変換して、あたらしいHashが欲しいと思ったことがあって、そのときにHashのmapつかったらどうなるのかなと思ってやったら、予想通り配列が返ってきてがっかりしてしまった。 {:a=>1,:b=>2,:c=>3}.map{|i,j| …

enumeratorを知る

知人のRubyコードを勝手に添削してみました - 趣味的にっきより、初めてenumeratorなんてライブラリをしりました。to_enumかわいいよto_enum。ということで、めっさ便利。Rubyを知って、6年になる(あぁ、よく考えるとRubyを知っている時期が人生の1/4もある…

rushcheck事始め

人や自分の書いたコードを書き直して、簡単なテストをすました後に、ふとホントにこれで大丈夫なのか、不安になるときがある。そんな不安を解消するのにRubyであれば、ikegamiさんが作られたRushCheckがディモールとよいので、ためしてみる。RubyのArrayは、…