類別 IRB::Notifier::AbstractNotifier

抽象類別或超類別,供 CompositeNotifierLeveledNotifier 繼承。它提供 Notifier 使用的 OutputMethod 物件的幾個包裝方法。

屬性

prefix[R]

Notifierprefix,附加到輸出期間檢查的所有物件。

公開類別方法

new(prefix, base_notifier) 按一下以切換來源

建立新的 Notifier 物件

# File lib/irb/notifier.rb, line 41
def initialize(prefix, base_notifier)
  @prefix = prefix
  @base_notifier = base_notifier
end

公開實例方法

exec_if() { |base_notifier| ... } 按一下以切換來源

如果已啟用通知,則執行指定的區塊。

# File lib/irb/notifier.rb, line 99
def exec_if
  yield(@base_notifier) if notify?
end
notify?() 按一下以切換來源

用於判斷是否已啟用通知的包裝方法。

預設為 true

# File lib/irb/notifier.rb, line 53
def notify?
  true
end
pp(*objs) 按一下以切換來源

ppx 相同,但使用物件初始化期間指定的 prefix。請參閱 OutputMethod#ppx 以取得更多詳細資料。

# File lib/irb/notifier.rb, line 82
def pp(*objs)
  if notify?
    @base_notifier.ppx @prefix, *objs
  end
end
ppx(prefix, *objs) 按一下以切換來源

pp 相同,但將指定的 prefix 與物件初始化期間指定的 prefix 串接。

請參閱 OutputMethod#ppx 以取得更多詳細資料。

# File lib/irb/notifier.rb, line 92
def ppx(prefix, *objs)
  if notify?
    @base_notifier.ppx @prefix+prefix, *objs
  end
end
print(*opts) 按一下以切換來源

請參閱 OutputMethod#print 以取得更多詳細資料。

printf(format, *opts) 按一下以切換來源

請參閱 OutputMethod#printf 以取得更多詳細資料。

# File lib/irb/notifier.rb, line 68
def printf(format, *opts)
  @base_notifier.printf(prefix + format, *opts) if notify?
end
printn(*opts) 按一下以切換來源

請參閱 OutputMethod#printn 以取得更多詳細資料。

# File lib/irb/notifier.rb, line 63
def printn(*opts)
  @base_notifier.printn prefix, *opts if notify?
end
puts(*objs) 按一下以切換來源

請參閱 OutputMethod#puts 以取得更多詳細資料。

# File lib/irb/notifier.rb, line 73
def puts(*objs)
  if notify?
    @base_notifier.puts(*objs.collect{|obj| prefix + obj.to_s})
  end
end