タグ

ブックマーク / i.loveruby.net (8)

  • ミニパターン集

    $Id: minipattern.rd,v 1.8 2003/07/29 15:55:24 aamine Exp $ いかにも Ruby 特有ぽいものを中心に小技をあつめました。 Cookbook なんかと違うのは、具体的な課題を解決する方法ではなく 言語上のパターンにしぼったこと。 インスタンス変数の遅延初期化 初期化されているかどうかわからない インスタンス変数を初期化するときは ||= を使う。 @ivar ||= "" # @ivar が既に非 nil ならばそのまま、nil なら "" を代入 1.6.2 まではこう書くと初期化されていない場合に警告が出ていたのだが、 1.6.3 からは ||= を使う場合に限り警告が出なくなった。 Mix-in のメソッド中での初期化などに便利である。 コンテナの遅延初期化 例えば配列のハッシュを作るとき、ハッシュのキーになにが来るか わからな

  • ReFe

    セット + リファレンス + Rubyソースコード 基セット + リファレンス 基セット (100KB) 旧バージョンのリスト クラス名とメソッド名から Ruby のリファレンスマニュアルのエントリを引く、 コマンドライン用のツールです。読みは「りふぇ」。 ri をパクって日語・RD に対応させたものです。 # 最も簡単な例 ~ % refe String concat String#concat --- self << other --- concat(other) 文字列 other の内容を self に連結します。 other が 0 から 255 の範囲の Fixnum である場合は その 1 バイトを末尾に追加します。 self を返します。 クラス名やメソッド名の補完機能があるので長いメソッド名を 全部入力する必要がありません。 例えば String#gsub! な

  • Development Environment Conference - 青木日記/T(2006-09-09)

  • http://i.loveruby.net/svn/public/bin/trunk/rdefs.rb

    #!/usr/bin/env ruby # # $Id$ require 'optparse' CLASS_RE = /\A\s*(?: class\s | module\s | include[\s\(] )/x DEF_RE = /\A\s* (?: def\s | class\s | module\s | include\b | alias(?:_\w+)?\b | attr_reader\b | attr_writer\b | attr_accessor\b | attr\b | public\b | private\b | protected\b | module_function\b )/x def main re = DEF_RE print_line_number_p = false parser = OptionParser.new parser.banner = "#{

  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • RubyがSEGVしたら

    $Id: segv.html,v 1.9 2002/10/24 18:37:50 aamine Exp $ この文書は 2002-10-24 の日記に書いていたのを単独ページに 移したものです。とある SEGV をデバッグする過程を記録しました。 デバッグ方法の参考にでもしてください。 きっかけ TMail の質問メールが来た。 マルチパートメールを作るにはどうしたらいいのかという質問だ。 このへんのユーティリティメソッドは欲しいと思ってたので、 答えを書くついでにライブラリにも追加することにする。 書き終わって、それじゃあテストしようと思ったら、 ~/r/tmail % t ....................................................... ..............F.....................................

  • 『ふつうのHaskellプログラミング』サポートページ

    $Id: index.html,v 1.9 2006/06/01 16:35:13 aamine Exp $ [ 正誤表 | 書誌情報 | 詳細目次 ] [ SBCr | Amazon ] リスト処理・文字列処理の基礎からモナド、パーサコンビネータまで。 ふつうのプログラマに贈る関数型言語入門。 サポート情報 正誤表 GHC 6.4.2 のダウンロード [www.haskell.org] LazyLines のダウンロードとインストール サンプルコード (オンライン) サンプルコードのダウンロード (.zip) サンプルコードのダウンロード (.tar.gz) リファレンスマニュアル検索ツール href 質問や間違いの指摘などはメールで aamine AT loveruby.net (AT は @ に置き換え) までお願いします。 書誌情報 書名

  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

  • 1