ruby
初日と2日目の感想はこっち。 東京Ruby会議10に行ってきた(1日目) #tkrk10 http://masasuzu.hatenablog.jp/entry/2013/01/13/tkrk10-1 東京Ruby会議10に行ってきた(2日目) #tkrk10 http://masasuzu.hatenablog.jp/entry/2013/01/14/tkrk10-2 行ってきたよ。…
まだざっくりとしか触ってないけど、こんな感じで書けてかなり楽に書けそう。 https://github.com/cinchrb/cinch # coding: utf-8 require 'cinch' bot = Cinch::Bot.new do configure do |c| c.server = "irc.masaszuu.local" c.nick = "hello" c.channels …
http://tokyo10.rubykaigi.info/timetable 2日目も出遅れましたが、千葉に行ってきました。 大雪で結局、途中解散になってしまったのは残念ですが、楽しいカンファレンスでした。運営の皆様、お疲れ様でした。ありがとうございました。2日目はアンチぼっちラ…
http://tokyo10.rubykaigi.info/timetable ということで行ってきました。 千葉なのに東京Ruby会議。千葉なのに東京Ruby会議。さて。詳細なレポートとかは他の人が書くので、そういうのは置いておいて、印象に残ったことと試したいことだけ簡潔に。 全般的に…
忘れがちな脳のための覚え書き % rvm -v rvm 1.6.32 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/] rvm get head rvm get latest rvm reload ふむ、アップデートできたみたいだ。 % rvm -v rvm 1.16.8 () by Wayne E. Seg…
RubyでGmailにアクセスしてメールを取得する用途にnet/imapを使っていたんですが、どうもIMAPの仕様を理解していないと使えない、低レイヤーなモジュールだったので、ちょっとruby-gmailを試してみました。ちなみにruby1.9.2です。 #coding: utf-8 require '…
講演のまとめとかはほかの方がやっていらっしゃるのでその辺はほかの方に任せて、ペアプロでTDDをした上での自分の気づきと反省を書きます。 やったこと 今回は自分はrubyで参加しました。本当はPerlでやりたかったんですが、残念ながら候補言語になかったの…
今月の目標に上げていたにもかかわらず、全く手を付けていなかったのでそろそろ着手してみる。 開発言語は何でも良かったのですが、ちょうどRubyKaigiが開催中なので、ruby1.9.1でやってみます。 環境構築 とりあえず、rvmだけ入っている、まっさらな状態か…
rvmのインストール方法は、http://rvm.beginrescueend.com/rvm/install/にあるように適当に。 aptitude install curl bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head ) mkdir -p ~/.rvm/src/ && cd ~/.rvm/src && rm -rf ./rvm/ &…
12章で実施したこと Expressionインタフェースの追加 +()メソッドの追加 Bankクラスの仮実装 money.rb 静的型付けであるJavaのコードから写経しているので、不自然な部分が多々あります。、 #!/usr/bin/ruby #coding: utf-8 # テスト駆動開発入門12章 ついに…
11章で実施したこと Dollarクラス、Francクラスの削除 money.rb #!/usr/bin/ruby #coding: utf-8 # テスト駆動開発入門11章 諸悪の根源 class Money attr_accessor :amount, :currency protected :amount def initialize(amount, currency) @amount = amount…
今までずっとruby1.8を使っていると思っていたのですが、ふとバージョンを調べてみたらruby1.9の方にパスが通っていてそっちを使っていたみたいです。 Windows PowerShell Copyright (C) 2006 Microsoft Corporation. All rights reserved. PS [RICHARD] >ru…
ruby1.9から標準のユニットテストのフレームワークはTest::Unitからminiunitに変更になっているみたいですね。特に仕事でRubyを使っている訳ではないので、1.8から1.9に移行するのは難しくはないのですが、この辺の細かい変更点は留意しておかないとね。
10章で実施したこと *()メソッドをMoneyクラスに移動 結局Pythonの__repr__()メソッドに相当するメソッドが分かりませんでした。to_s()メソッドがクラスの文字列表現らしいのですが、うまく出力してくれませんでした。 money.rb #!/usr/bin/ruby #coding: ut…
9章で実施したこと DollarクラスとFrancクラスのコンストラクタを共通化 通貨単位を返すcurrencyアクセサの実装 *()メソッド内でのファクトリメソッドの使用 money.rb #!/usr/bin/ruby #coding: utf-8 # テスト駆動開発入門9章 生きている時(times) class Mo…
8章で実施したこと ファクトリメソッドパターンを適用し、サブクラスへの参照を減少させた money.rb #!/usr/bin/ruby #coding: utf-8 # テスト駆動開発入門8章 オブジェクトの生成 class Money attr_accessor :amount protected :amount def ==(other) retur…
7章で実施したこと 同じ量のFrancとDollarを比較した際、同値と判断されないよう修正 money.rb #!/usr/bin/ruby #coding: utf-8 # テスト駆動開発入門7章 りんごとみかん class Money attr_accessor :amount protected :amount def ==(other) return @amount…
5章で実施したこと Francクラスの追加 ただし一番汚い形で。 money.rb #!/usr/bin/ruby #coding: utf-8 # テスト駆動開発入門5章 「フランク」に話す class Dollar attr_accessor :amount protected :amount def initialize(amount) @amount = amount end def …
6章で実施したこと Franc、Dollarの親クラスMoneyの追加 Franc、Dollarの*()メソッドをMoneyに移動 money.rb #!/usr/bin/ruby #coding: utf-8 # テスト駆動開発入門6章 再度、すべてに対する等価性 class Money attr_accessor :amount protected :amount def…
ちょっと再開します。 PythonよりRubyの方がすっきり書けて楽しいです。 4章で実施したこと amoutのプライベート化 今回はインスタンスメソッドとして呼び出しているので、可視性はprotectedになっています。 money.rb #!/usr/bin/ruby #coding: utf-8 # テ…
RubyのTest::Unit::Testクラスにおけるassert_equal()メソッドでは第一引数がexpected、第二引数がactualってなっています。確かJUnitと同じだったと思います。 http://www.ruby-lang.org/ja/man/html/Test_Unit.htmlPythonのTestCaseクラスのassertEqual()…
Matz本の評判がよろしいようだからちょっと秋葉の書泉まで見に行ったら、なぜかこの本を買っていた。自分でも何を…ryちょうど、デザインパターンの勉強がしたいなとか思っていたから、この本はお誂え向きなんですね。この本もサンプルコードが多いからPython…
第3章 # !/usr/bin/ruby # coding : utf-8 # テスト駆動開発入門3章 require 'test/unit' class Test_Money < Test::Unit::TestCase def test_multiplication five = Dollar.new(5) product = five.times(2) assert_equal(10, product.get_amount) product =…
第2章 # !/usr/bin/ruby # coding : utf-8 # テスト駆動開発入門2章 require 'test/unit' class Test_Money < Test::Unit::TestCase def test_multiplication five = Dollar.new(5) product = five.times(2) assert_equal(10, product.get_amount) product =…
こうですか?よく分かりません。 RubyはPythonよりも初心者レベルなのでよく分かりません。何か間違いがあったらご指摘をば。 とりあえず『テスト駆動開発入門』を手元に持ってない人にはよく分からないと思います。このあたりを参考にしました。 Test::Unit …