ruby 超级でスーパークラスのメソッドの返り値とかを操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 超级でスーパークラスのメソッドの返り値とかを操作相关的知识,希望对你有一定的参考价值。

class H
  def hoge
    'hoge'
  end
  
  def array_print(arr=%w(hoge fuga))
    arr
  end
end

class F < H
  def hoge
    super.tap{ |str| str << 'fuga' }
  end
  
  def array_print(arr2)
    # super()で引数で渡したarr2を使わない
    super().tap{ |arr| arr.pop }
  end
end

f = F.new
p f.hoge #=> 'hogefuga'
p f.array_print(%w(fuga fuga)) #=> '["hoge"]'

以上是关于ruby 超级でスーパークラスのメソッドの返り値とかを操作的主要内容,如果未能解决你的问题,请参考以下文章

ruby クラスメソッドとインスタンスメソッドをミックスイン

Apex スケジューラを使用したジョブのスケジュール

java 同クラスの各インスタンスから,共通であるインスタンスメソッドを呼び出して,特定の结果を得る

csharp [ワークシートの作成] AddWorksheetメソッドかXLWorkbookインスタンスの工作表プロパティの添加メソッドを使用します。#ClosedXML

java 主メソッドのJUnit的サンプル.System.Exitのコードの确认。标准出力(的System.out,System.err的)の取得。

php PHPのクラスメソッドとインスタンスメソッド