作ったあるメソッドを使うとき、 attr_accessor みたいな書き方をしたかったのだけど、Rubyの名前空間にちょっとハマってしまった。復習しておこうっと。 それはともかく、attr_accessor はどうやって定義されているのかと思ってちょっと調べてみると、 Moduleクラスのプライベートインスタンスメソッドとして定義されていた。ClassクラスはModuleクラスのサブクラスだからか。なので、同じようにやってみる。 test.rb
作ったあるメソッドを使うとき、 attr_accessor みたいな書き方をしたかったのだけど、Rubyの名前空間にちょっとハマってしまった。復習しておこうっと。 それはともかく、attr_accessor はどうやって定義されているのかと思ってちょっと調べてみると、 Moduleクラスのプライベートインスタンスメソッドとして定義されていた。ClassクラスはModuleクラスのサブクラスだからか。なので、同じようにやってみる。 test.rb
書籍「リファクタリング―プログラムの体質改善テクニック(=以下 オリジナル本)」の6〜12章で紹介されている「リファクタリング」を写経します。同時に新しい言語を身に着けたいので、書籍「リファクタリング:Rubyエディション(以下 Ruby本)」をメインにまとめていきます。Ruby本 アイコンオリジナル本 アイコン一覧Composing Methods.リファクタリングComposing Methods.メソッドの構成方法メソッドの構成Extract Methodメソッドの抽出メソッドの抽出Inline Methodメソッドのインライン化メソッドのインライン化Inline Temp一時変数のインライン化一時変数のインライン化Replace Temp with Query一時変数から問い合わせメソッドへ問い合わせによる一時変数の置き換えReplace Temp with Chain一時変数から
新人研修で、プログラミングを教えることになったので、オブジェクト指向を説明する必要があるためまとめた。 『なぜ、あなたはJavaでオブジェクト指向開発ができないのか』 を参考にした。 なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング 作者: 小森裕介,アクロクエストテクノロジー株式会社出版社/メーカー: 技術評論社発売日: 2004/12/01メディア: 単行本購入: 10人 クリック: 217回この商品を含むブログ (50件) を見る 本書にはオブジェクト指向の本質的なことが書いてあったので、非常に勉強になった。 プログラムを書く流れ オブジェクト指向を理解するために、まずプログラミングの流れを押さえておく。 プログラムを書く流れは、以下の3ステップからなる。 1.コンピュータに行わせたいことを理解する(要件定義) 2.理解したことを説明
(追記:Array#-というメソッドがあるようです。id:yuguiさんありがとうございます) 二つの配列の比較をして、[レシーバー側にあったもの, 引数側にあったもの]を返すメソッドを作成してみました。どっかで見たことあるような気もする。。。 class Array def diff(other) self_diff = self.reject {|i| other.include? i} other_diff = other.reject {|j| self.include? j} return [self_diff, other_diff] end end a = [1, 2, 3, 4, 5] b = [1, 2, 3, 4, 5, 6] c = [1, 2, 3, 4, ] d = [1, 2, 3, 5, 6, 7] p b.diff(a) p a.diff(b) p c.di
Railsで、テーブルにupdated_atを追加しようと思って、さらに初期値に他のテーブルの関連づいたレコードの更新日時を代入したかった。 そのための方法をまとめておく。 まず、マイグレーションファイルを作成する。 Tagテーブルにupdated_atカラムを追加する。 timestampは、saveされたとき、自動的にその日時を保存してくれる。 def self.up add_column :tags, :updated_at, :timestamp, :null => false ActiveRecord::Base.record_timestamps = false Tag.find(:all).each do |tag| tag.updated_at = tag.taggings.last.created_at unless tag.taggings.blank? tag.sav
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く