タグ

methodに関するyukimori_726のブックマーク (4)

  • 【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス - 圧倒亭グランパのブログ

    rubyを書き始めて間もない頃、 「なんで NoMethodError なんだ...。あ、メソッド定義にself 付けたら通った。」 みたいなことがありました。 rubyを読んでいると、そのあたりがハッキリとイメージできるようになったのでまとめておきます。 参考にした 年明けからひたすらRubyを読んでいます。読了したのは以下。 現在は Effective Ruby を読んでいます。 これらを読んでいくと、中途半端に理解していた部分がカチッとハマるのでオススメです。 ※ 今回のコードは ruby 2.2.0 で試したものです。 オブジェクトとクラスの関係 サンプルコードを見てみましょう。 class C def c_instance_method @my_var = 1 end end obj = C.new 当初、自分はオブジェクトとクラスの関係を以下のように考えていました。 (

    【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス - 圧倒亭グランパのブログ
  • 「特異メソッド」は誤訳か - Qiita

    注意 この記事は当初,「Ruby の用語として,singular method を特異メソッドと訳したのは妥当でなかったのでは」というモチーフのもとに書いたものですが,コメントのやりとりを見ていただくと分かるように,英語を和訳したのではなく,日語の「特異メソッド」が先にあったようです。従って「誤訳か」という記事名は適切ではありませんでした。(2016年10月20日付記) ソフトウエア工学とやらを学んだこともなく,プログラミング用語に詳しいわけでもなく,英語が得意でもないので,的外れなことを書いているかもしれません。乞うご批判。 ほかのプログラミング言語でどうなのかは知らないので,Ruby だけを考えます。 追記(2021 年 8 月 4 日) 記事では Ruby における「特異メソッド」の英語として一貫して「singular method」を採っていますが,どうやら圧倒的に「singl

    「特異メソッド」は誤訳か - Qiita
  • メタプログラミングRuby読んだ - にこにこインターネット

    メタプログラミングRuby 作者: Paolo Perrotta,角征典出版社/メーカー: アスキー・メディアワークス発売日: 2010/08/28メディア: 大型購入: 18人 クリック: 533回この商品を含むブログ (124件) を見る 全体的には,メタプログラミングとは何をすることなのかということと,メタプログラミングするために必要となるRubyのオブジェクトモデル(『「このメソッドはどのクラスのものなのか?」や「このモジュールをインクルードしたら何が起きるのか?」といった質問の答えるが見つかる場所』)やその周辺について,2人の会話形式で進めていくような形で書かれている.メタプログラミングをするので,Rubyの表面的なことではなく,内部的なことから理解できてすごくいい.メタプログラミングに興味がなくても割りと楽しめると思う. Rubyに一歩踏み込んだクラスやメソッド,スコープなど

    メタプログラミングRuby読んだ - にこにこインターネット
  • 実行中のメソッド名やクラス名を取得する方法 - [サンプルコード/Java] ぺんたん info

    new Throwable()やThread.currentThread()のgetStackTrace()を使用すると、このクラスはStackTraceElement型の配列を返却するので、 呼び出し元のスタックフレームの情報を得ることができます。 またエラーではないときの、スタックトレースなどにも使用できます。 Throwable#getStackTrace()はJ2SE1.4から追加されています。 Thread#getStackTrace()はJ2SE5.0から追加されています。 この配列つまりスタックの最初である0番目の要素が、Throwableクラスを生成したメソッドを表す要素となります。 new Throwable().getStackTrace()[0].getMethodName() または Thread.currentThread().getStackTrace()[0]

  • 1