2012-05-01から1ヶ月間の記事一覧
パンくず Ruby 配列 部分配列の取得 概要 Rubyの配列の一部を取得剃る方法について 構文 array[a,b] # => arrayのa-1番目からb-1番個分を部分配列として取得 array[a..b] # => arrayのa-1番目からb-1番目までを部分配列として取得 array[a...b] # => a…
パンくず Ruby 配列 負のindexの動作 概要 Rubyの配列に負のindexを与えた場合の動作について 内容 Rubyでは配列に負のindexを与えると最後の要素から順に参照することになります。 サンプル # -*- encoding: utf-8 -*- require "pp" nice_guys = %w[修造 照…
Androidアプリ版書籍からKindle Touchへの道のり ・スマートフォンのGoogle PlayでOreillyのアプリ版書籍を購入 ※今回は「正規表現クックブック」の英書版である、 「Regular Expressions Cookbook」を購入・スマートフォンで購入したアプリを起動・メニュー…
パンくず Ruby ブロック 基礎 概要 ブロックについて 内容 Rubyのブロックの基本的なパターンをサンプルとして例示します 構文 yieldによってブロック内のコードを呼び出すことが出来ます。 yield param... サンプル require "pp" class Person attr_accesso…
パンくず Ruby ハッシュ ソート 概要 Rubyのソートについて 構文 以下の構文で、ハッシュからソート済みの二次元配列を取得出来ます。 hash.sort_by {|key, param|param} # =>param順にソート サンプル # -*- encoding: utf-8 -*- require "pp" class HashCo…
パンくず 書籍 Patterns to Patterns Simplification Compose Method 概要 Compose Methodのリファクタリングについて 使用する場面 雑然とした長い処理のメソッドなどがある場合 対応方法 同レベルの粒度でExtract Methodを適用する。 役割を表す分かりやす…
パンくず 書籍 Refactoring to Patterns Simplification 概要 Simplification、単純化に関するリファクタリング 単純化に関するリファクタリング Refactoring リファクタリング 補足 Compose Method メソッドの構造化 ーー Replace Conditional Logic with S…
パンくず 書籍 Patterns to Patterns Creation Inline Singleton 概要 Inline Singletonのリファクタリングについて 使用する場面 Singletonitisは、Singletonパターンを適用することと定義します。 Singletonの目的はインスタンスが一つしかないことを保証…
パンくず 書籍 Patterns to Patterns Creation Encapsulate Composit Builder 概要 Encapsulate Composit Builderのリファクタリングについて 使用する場面 複雑化したCompositeを含む生成ロジックをクライアントから切り離したい場合 対応方法 Builderを作…
パンくず Ruby応用 メタプログラミング 概要 メタプログラミングについて メタプログラミングとは プログラムをプログラムすること。 これにより、動的にクラスやメソッドや処理内容を定義することが可能です。 サンプル 動的にメソッドを定義するサンプル #…
概要 ・外出先で技術書を読みたいが重くて苦労する ・自宅の本棚がいっぱい ・オライリーの書籍が高い。電子書籍なら安く買える という3点により、Kindle Touchを購入を決意しました 購入 ・Amazon.comのKindle購入ページへ ・通常版(Without Special Offer…
パンくず 書籍 Patterns to Patterns Creation Introduce Polymorphic Creation With Factory Method 概要 Introduce Polymorphic Creation With Factory Methodのリファクタリングについて 使用する場面 複数のクラスを同一の型で扱うFactory Methodにした…
パンくず Ruby ライブラリ Comparable 概要 Rubyの組み込みライブラリのComparableモジュールについて Comparableモジュール概要 比較演算を許すクラスのための Mix-in。 このモジュールをインクルードするクラスは、 基本的な比較演算子である 演算子を定義…
パンくず Ruby ライブラリ Bignum 概要 Rubyの組み込みライブラリのBignumクラスについて Bignumの各メソッドのサンプル bignum = (0b1 << 30) # => 2進数の1を30ビット左シフト演算 = 1073741824 puts bignum.class puts bignum % 3 # => 1073741824/3の余…
パンくず Ruby ライブラリ 概要 Rubyの組み込みライブラリについて 内容 組み込みライブラリ クラス名 概要 Bignum 多倍長整数のクラス Comparable 比較演算を許すクラスのための Mix-in Enumerable 繰り返しを行なうクラスのための Mix-in。
パンくず 書籍 Patterns to Patterns Creation Encapsulate Classes with Factory 概要 Encapsulate Classes with Factoryのリファクタリングについて 使用する場面 一つのインターフェースを実装したクラスが複数あった場合に、 必要最低限のクラスのみ外部…
パンくず Ruby 正規表現 概要 Rubyの正規表現について 内容 Rubyで使用できる正規表現の文法をまとめます 構文 概要 サンプル構文 サンプル結果 ^ 行頭 ※改行がある場合は改行直後もマッチ puts "test hoge" =~ /^test/puts "test\nhoge" =~ /^hoge/ 05 $ 行…
パンくず Ruby 特異メソッド 概要 特異メソッドについて 特異メソッドとは あるインスタンス固有のメソッドのこと。 クラスに持たせるほどではないメソッドに利用 サンプル class Hoge;end def hello_hoge hoge = Hoge.new def hoge.hello;"Hello Hoge";end …
概要 Rubyの例外について説明します。 構文 Rubyの例外は以下の構文で利用出来ます。 begin 例外の例外の起こる可能性のある処理 rescue 例外が起こった場合の処理 ensure 例外の有無に関わらず実行される処理 end サンプル def divide_number(number,divide…
パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 Railsの画面遷移 概要 Railsの画面遷移について。 前提 Hello Railsを動的に出力まで設定済みであること 内容 goodbyeページを用意します。say_controller.rbのgoodbyeメソッドを以下のよ…
パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 Hello Railsを動的に出力 概要 Hello Railsを動的に出力する方法について。 前提 Hello Railsまで設定済みであること 内容 Hello Railsの手順で作成されたコントローラーとerbファイルに…
パンくずリスト 書籍 RailsによるアジャイルWebアプリケーション開発 Hello Rails 概要 Hello Railsについて。 前提 Railsのインストール、新規プロジェクト作成済みとします >詳細はこちら 内容 以下のコマンドでHello Railsのページを追加出来ます。 rail…
概要 Rubyの属性の設定について説明します。 構文 Rubyの属性の設定は以下の構文で利用出来ます。 def sample; @sample; end def sample=(sample);@sample=sample;end また、仮想属性として外部からは通常の属性と同じように見せつつ 実際は別のフィールドに…
概要 Rubyの継承階層の確認について説明します。 構文 Rubyの継承階層の確認は以下の構文で利用出来ます。 インスタンス.is_a? クラス名 ※is_aはkind_ofでも可 サンプル class Parent attr_accessor:name def initialize(name) @name=name end end class Chi…
概要 Rubyのアクセス制御について説明します。 内容 Rubyのアクセス制御には以下の3種類があります。 名称 内容 public インスタンスメソッドとして利用可能 ※記述を省略した場合はpublic扱い protected クラス内でメソッドを利用可能+インスタンス内ではイ…
概要 Rubyのクラスの拡張について説明します。 構文 Rubyでは既存のクラスの拡張を行うことが出来ます。 サンプル Stringクラスを拡張して、キャメルケースをスネークケースを変換するメソッドを追加します。 ※スネークケース:test_hogeのように小文字、ア…
概要 シンボルによるハッシュ初期化を簡易化する方法について 内容 以下のように記述することで、ハッシュの初期化を簡易化することが出来ます 構文 通常の記述 ハッシュ = {:シンボル1 => シンボル1の値, :シンボル2 => シンボル2の値} 簡易記法 ハッシュ =…
概要 %記法で文字列配列の記述を簡易化する方法について 内容 %記法を使用することで、配列の初期化の記述を簡易化することができます。 構文 式展開無効 array = %w{str1 str2 str3} 式展開有効 variable = "hoge" array = %W{#{variable}str1 str2 str3} …
概要 riコマンドでドキュメントを参照する方法について 内容 riコマンドにより、標準ライブラリのクラスやメソッドに関するドキュメントを参照することが出来ます。例:Dateクラスのドキュメントを参照する場合 ri Date 例:Dateクラスのtomorrowメソッドの…
AptanaStudioでアップデート実行後に起動エラーが発生。 以下のコマンドで起動したら復旧しました。 AptanaStudio3.exe -clean