From: yamataka@...08.itscom.net Date: 2016-10-26T14:22:06+09:00 Subject: [ruby-list:50444] Re: [質問] インスタンスメッソド hookについて 山口です。 なかださん、内海さん、市田さん、dezawaさん それぞれコード提示いただき、大変ありがとうございます。 Rubyコード記述への理解が、非常に深まりました。 インスタンスメッソド呼び出しと、Class内メッソド定義が同じ方が、 後々コードを見返した際に、分かりやすいと思うので、 今回は、dezawaさんのコードを参考にさせて頂こうと思います。 ----- Original Message ----- > 市田さんの言われる > > 共通の処理をくくりだすというのであれば、共通部分を別メソッドとして定 義 > > して、対象となるメソッドの先頭で呼び出すというのはどうでしょうか。 > > が良いのでは > > class WebAPI > > attr_reader :is_in_nw > > def initialize(ip,is_in_nw=false) > @ip = ip > @is_in_nw = is_in_nw > end > > def check_and_go(&block) > if !is_in_nw then > puts "TV(#{@ip}) is not in Network" > return nil > end > yield > end > > def Register(code) > check_and_go{ > puts "Register(code)" > } > end > end > code=12 > webapi =WebAPI.new("ip",true) > webapi.Register(code) > webapi =WebAPI.new("ip",false) > webapi.Register(code) >