Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

2013-02-26から1日間の記事一覧

Ruby | method_missingでゴーストメソッドを定義

概要 method_missingでゴーストメソッドを定義 詳細 Rubyではメソッドが見つからなかった場合にmethod_missingが呼び出されます。 その際の動作をオーバーライドしておくことで、本来存在しないメソッド=ゴーストメソッドを 呼び出すことができます。 サン…

書籍 Ruby Cookbook | alias

パンくず Ruby Cookbook alias 概要 alias 内容 Rubyではメソッドに別名をつけることが可能です サンプルコード 改行付きで標準出力を行うKernel#putsに 「改行付表示」というエイリアスをつけてみます。 # encoding: Windows-31J require "pp" module Kerne…

書籍 Ruby Cookbook | 文字列評価によるメタプログラミング

パンくず Ruby Cookbook 文字列評価によるメタプログラミング 概要 文字列評価によるメタプログラミング 内容 method_defineで定義したメソッドと同様のことが文字列評価で定義可能です。 利用するメソッドは Module#module_eval です。method_defineと異な…

書籍 Ruby Cookbook | メタプログラミングでコードのボイラープレートを避ける

パンくず Ruby Cookbook メタプログラミングでコードのボイラープレートを避ける 概要 メタプログラミングでコードのボイラープレートを避ける 内容 メソッド名・処理内容がメソッドがある場合は、 define_methodによるメタプログラミングで簡潔に記載可能で…

書籍 Ruby Cookbook | メンバー変数の自動設定

パンくず Ruby Cookbook メンバー変数の自動設定 概要 メンバー変数の自動設定 内容 レシーバのインスタンス変数に値を設定 instance_variable_set サンプルコード # encoding: UTF-8 require "pp" class Object private def set_instance_variables(binding…

書籍 Ruby Cookbook | Classの変更をListenする

パンくず Ruby Cookbook Classの変更をListenする 概要 Classの変更をListenする 内容 undef,remove_methodの利用時は、各メソッドをオーバーライドした際に 特定の処理を実行することが可能です。 Listenメソッド名 内容 method_added メソッドの追加,オー…

Ruby | 演算子

概要 演算子 詳細 Rubyの主な演算子は以下です。 演算子 意味 == 等価性の確認 === case文のwhenで利用されている。例えばcase文でRange 1..3が2と一致するのはこのため 汎用比較演算子。レシーバーが引数より小さければ-1等しければ0大きければ+1 =,> 未満,…