タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

codingとrubyとoopに関するcu39のブックマーク (14)

  • http://objectgraph.rubyforge.org/

    ObjectGraph: Ruby Class Hierarchy What the…? A simple script that generates a graph of the ruby class hierarchy. The script relies on GraphViz for generation of the PNG and HTML map files. Take a look at the basic Ruby class hierarchy here or with a different layout here. Both these examples were created with objectgraph.rb -neato -dot -skip-errno -font Tahoma. A few useful examples are: The

  • Rails、あんたなんか嫌いよ - Rails での OO 設計について - tomykaira makes love with codes

    2013-06-25 Rails、あんたなんか嫌いよ - Rails での OO 設計について ruby rails 最近はずっと Rails 書いてるんですが、書けば書くほど嫌いになってくるんです。 倦怠期的なやつなんですが、 Rails さんの悪いところばっかり見えてきて、もう一緒にいたくないんです。 でも別れるほどじゃないし… という愚痴にみせかけた Rails での設計についての議論です。 長いけどコードは一切出てこないので通勤中にでもよんでください。 注意 一部にはげしい言葉遣いがでてくるので、読んで不快になるかもしれません。 不快になったとしても責任は負いかねます。 次のような方の期待に沿う結論はでません。残念でした。 Sinatra, Padrino の人 関数型の人 静的型付けの人 C の人 TL;DR Rails にだまされない。 自分の道を見定める。 欺瞞にみちた Ra

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

    cu39
    cu39 2013/05/26
    forwardable と delegate
  • Rubyのmoduleをmix-inする際のincludeとextendの違いをシンプルな例で理解する

    Rubyのclassにmoduleをmix-inする場合に、moduleをclassにincludeした場合とclassをmoduleでextendした場合で何が違うのか? よく判らなくなるのでシンプルな実例でまとめます。 「モジュールがクラスメソッドではなく、インスタンスメソッドを定義しているとき、これらのインスタンスメソッドは、ほかのクラスにミックスインできる」(「プログラミング言語Ruby」261ページ)とあります。そして「モジュールをミックスインするための通常の方法は、Module.includeメソッドだが、Object.extendを使う方法もある」(同262ページ)となっています。includeとextendで何が違うの? となり、時どき理解の足りない書き方をしてNoMethodError: undefined method...のような例外をだしてしまうことがあります。そこ

  • QA@IT サービス終了のお知らせ - @IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    QA@IT サービス終了のお知らせ - @IT
  • Ruby Best Practices- Issue #5: Testing Anti-patterns; Testing Private Methods

  • RSpecでprivateメソッドをテストする

    Object#send(send)ならメソッドの呼び出し制限に関わらずメソッドを呼び出すことが可能なので、privateメソッドもテスト可能。 確か、1.9以降はメソッド呼び出し制限がObject#sendにも影響するとどこかで見た記憶があるのだけど結局そうはなっていないみたい。 1.9.1、1.8.7で確認済み。 ちなみにオマケ。 Pythonはメソッド名の前にアンダースコアを2つけるとprivateなメソッドになるのだけれど、実際のところ別名でメソッドを定義してそちらを呼び出してるっぽい。別名で定義された方はprivateではないので、そちらを呼び出してテストすることが可能。 他にもJavaだったらsetAccessible(True)を実行すればpublicなメソッドに変更されるのでテスト可能。と聞いただけで確認はしていない。

    cu39
    cu39 2012/09/20
    instance.send(:method_name, arg)
  • irbで調べるObject, Module, Classの関係 - akimatter

    RubyのObject, Module, Classの関係と特異メソッドとインスタンスメソッドの話でメンバーを混乱に陥れたので補足しておきます。 継承関係 まずは、irbでクラスの継承関係を調べてみましょう。 Class.superclass #=> Module Module.superclass #=> Object Object.superclass #=> nil ということなので、 Class < Module < Objectという継承関係が成り立っていることが確認できます。ここだけ見ると、「ClassはModuleの派生クラスである」と言えます。実際、 Class < Module #=> true ですし。 インスタンスの生成関係 Rubyではすべてがオブジェクト(=インスタンス)ですので、ObjectとかClassもインスタンスとして扱えるはずです。こんどはClass,

    irbで調べるObject, Module, Classの関係 - akimatter
  • Rubyのトップレベルのメソッドの不思議 : As Sloth As Possible

    トップレベル(モジュールやクラスの外)でメソッドを定義するとどうなるでしょうか??トップレベルでは、メソッドを定義するとデフォルトで private なメソッドになるので注意です。 01.#!/usr/bin/ruby 02. 03.p self.class # Object 04.p self # main 05. 06.cmethod = self.class.private_methods 07.imethod = self.private_methods 08. 09.def bar 10. puts "bar method" 11.end 12. 13.p self.class.private_methods - cmethod # ["bar"] 14.p self.private_methods - imethod # ["bar"] 見ての通りですが、なぜかインスタンスメソ

    Rubyのトップレベルのメソッドの不思議 : As Sloth As Possible
  • 結局、Rubyの特異メソッドって何なの? - (゚∀゚)o彡 sasata299's blog

    2010年10月27日11:09 Ruby 結局、Rubyの特異メソッドって何なの? 今日は 特異メソッド について理解を深めるために書いてみます。説明の中にメソッドが色々出てきてややこしいですが、このルールで使っています。m(_ _)m c_method # クラスメソッド e_method # 特異メソッド i_method # インスタンスメソッド 特異メソッドっていうのは、オブジェクト固有のメソッドです。あるオブジェクトにはあるけど、同じクラスの別のオブジェクトにはそのメソッドは無い、みたいなメソッドですね。 class MyClass; end obj = MyClass.new obj2 = MyClass.new def obj.e_method puts "e_method called" end obj.e_method # e_method called obj2.e_

  • mapee.jp

    This domain may be for sale!

  • xingxx - Ruby :: ActionScript 3.0 とRubyの定義を見比べる - クラス編

    日にちびちびとRubyを触ってます。そんな備忘録。 今回はAS3とRubyのクラス定義について見比べてみましょう。 まずはおなじみのAS3のクラス定義です。class定義キーワードを使って、TestClassを定義します。クラス定義にあたってのポイントを列挙します。 ファイル名とクラス名は一致しなければならない。 定義範囲は{}で決定。 パッケージ アクセス制御指定子を省略した場合は、クラス、インスタンス変数・メソッドは自動的にinternalとなる。コンストラクタはpublicに設定される。 変数にはvar宣言を付けなければならない。 変数・定数・引数・戻り値には型を付けることが推奨されている。 package { class TestClass{ var name:String; function TestClass(name:String):void { this.name = na

  • mapee.jp

    This domain may be for sale!

  • まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro

    第0回 あらためてRuby入門 まつもとゆきひろ氏自身による「Ruby入門」をお届けします。日経Linuxの連載開始前の特別企画(2005年4月号)として,Rubyが他のスクリプト言語やオブジェクト指向言語とどこが違うのか,なぜ便利なのかを中心に解説してもらったものです。 ● 基と他言語との違い ● 実装とRuby誕生の秘密 第1回 プログラミングとオブジェクト指向の関係 プログラマを目指す人々の中にも,「オブジェクト指向は難しい」とか,「なかなか分からない」という印象を持つ方が多いようです。そこで,Rubyを題材にオブジェクト指向という考え方について説明していきます。 ● その1 ● その2 ● その3 第2回 抽象データと継承 オブジェクト指向プログラミングを構成する3原則のうち,前回は「ポリモーフィズム」を学びました。今回はオブジェクト指向の歴史を復習した後,残りの「データ抽象」と

    まつもと直伝 プログラミングのオキテ---目次 - まつもと直伝 プログラミングのオキテ:ITpro
  • 1