IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
sumimさんの「 Ruby1.9のクラスのメタ階層を整理する 」という記事、Rubyの型階層は雑然としているというのは、なんかsumimさんの図が悪いような気もするなぁ。整理すればもうちょっと情報を引き出せるよ。あと、モジュールのせいもある。 前提知識 Rubyは基本的には単一継承のクラスベースオブジェクト指向言語なのだけれども、幾つか注意すべき処がある。 クラスはClassクラスのインスタンスである。 モジュール 制限付きの実装多重継承をもたらす仕組み。内部的には、モジュールの「化身」となるクラスを継承階層を挟み込むことで実装されている。 以下、モジュール M に対してその化身クラスを I(M) と表記する。 詳しくは 以前の記事 を参照。 特異クラス 特定のオブジェクトに専属するクラスのこと。特定のオブジェクトにだけ存在するメソッド「特異メソッド」を定義すると、内部的には特異クラスを
[ruby-core:18437] Class as second-generation singleton class を読んだ当初は、特異クラスのクラスが Class ってことでええやん!と思ったのですが、改めて調べてみるとどうやら必ずしもすべての特異クラスが Class に属するわけではないようで(かつ、確認する過程で、id:sumim:20080111:p1 の間違いを見つけてしまったり、id:sumim:20061019:p1 の謎が解けたりもしたので)、この機会に表題の件についていったん図にして自分なりに理解を整理しておくことに。 関連: Ruby1.9 のクラスのメタ階層を整理する 2 - Smalltalkのtは小文字です Ruby1.9 のクラスのメタ階層を整理する 3 - Smalltalkのtは小文字です Ruby で、クラスのメタ階層の情報を得る際の注意として、Ru
あんま深く考えず valgrind を Ruby の head のテストに適用してみたところ、結構もにょもにょ漏れてるもんだなぁと気付いたので、いくつか修正してみたりしたのですが、その時案外困るのが、リークする最小のコードが簡単に作れない、ってことでした。 valgrind は C 言語的にどこで malloc を呼んだかは教えてくれるものの、 Ruby コードでどこだったかは教えてくれないからです。修正はできたけど具体的にどこで漏れてるかはよくわからん、ということさえありました。 というわけで、 Ruby 的にどこで漏れたかを教えてくれる valgrind 用の tool 、 Rubygrind を作ってみました。 http://shinh.skr.jp/binary/rmemcheck.tgz これを valgrind-3.3.1 のディレクトリに展開して、 > diff -u con
<< 2008/08/ 1 2 3 4 1. 帰省 2. 読者プレゼント 5 1. [映画] アイ・アム・レジェンド 6 1. 夏休み 2. 山口ちょうちん祭 7 1. 松江帰還 2. 読者プレゼント受付 3. 瀕死のPrius 8 1. [Ruby] Ruby合宿 2. 当選発表 9 1. [映画] どろろ 10 11 12 13 14 15 16 17 18 1. 出発準備 2. フィード削減 3. 妻のブログ 19 1. 東京 20 1. 三鷹ジブリの森美術館 2. Ruby Academy開講記念セミナー 21 1. U20プロコン審査委員会 22 23 24 25 26 1. 航空券手配 2. [言語]シーケンス述語 3. [言語] Lisp, the Universe and Everything: Re: An Acceptable Lisp 4. ぎっと 27 1. e-T
[ruby-dev:35551] [Ruby 1.8 - Bug #212] Issues with Readline in Mac OS X 話の流れをまとめると次のような感じ。 Mac OSX で Ruby の Readline モジュールのヒストリ機能がなんか変ですよ 高尾さんがパッチを作って下さった なんか色々大丈夫? それで高尾さんが状況の確認用として作成されたのが次のテストコードというわけです。 #include <stdio.h> #ifdef HAVE_EDITLINE_READLINE_H #include <editline/readline.h> #else #include <readline/readline.h> #include <readline/history.h> #endif /* HAVE_EDITLINE_READLINE_H */ int mai
以前笹田さんに、procのソースが見たいとお願いしてみたことがあったのですが、 それをRubyコードレベルで実現するライブラリを見つけたので紹介します。 proc_source.rb I wrote this a while ago and it works by extracting a proc's origin file name and line number from its .inspect string and using the source code (which usually does not have to be read from disc) -- it works with procs generated in IRB, eval() calls and regular files. It does not work from ruby -e and stuff
1 sudo gem sources -a http://gems.github.com 2 sudo gem install genki-wormhole メソッドの内部を実行中に、呼び出し元に一旦処理を戻し、 中断した場所から処理を継続する機能を提供します。 例えば、以下のようなプログラムに対して、 1 require 'rubygems' 2 require 'wormhole' 3 4 def foo 5 puts "foo" 6 Wormhole.throw :foo => 'hello' do |data| 7 puts data[:foo] 8 end 9 puts "bar" 10 end 11 12 Wormhole.catch do 13 foo 14 end.return do |data| 15 puts data[:foo] 16
自分用のちょこっとスクリプトです。動作は無保証です。 (2009/07/01 追記: ちょこっと改良版書きました) インディーズというか個人製作のmp3を落としていたりするとタグが適切についていない場合があるので作りました。 対象はアルバム名とアーティスト名。個人的にアーティストというのは嫌いなんですが(ぉ 利用方法 下記のようなフォルダ構成で mp3 ファイルが配置されている事を想定しています 音楽ファイル用のディレクトリ/アーティスト名/アルバム名/mp3ファイル このプログラム(最後に記載)を音楽ファイル用のディレクトリに配置 配置したディレクトリから実行 動作 カレントディレクトリ配下一階層目のディレクトリ名をアーティスト名として認識します。アーティスト名が設定されていないファイルに対してアーティスト名を設定します mp3ファイルが入っているディレクトリの名前をアルバム名として認識
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く