NamedPipeClientStream считывает только 1024 байта данных за один раз & hellip; это обрезает мое сообщение

Вы можете сделать что-то вроде этого

module Methods
  define_method :outer do 
    outer_var = 1
    define_method :inner do
      puts "defining inner"
      inner_var = outer_var +1
    end
    outer_var
  end
  extend self
end

Methods.outer 
#=> defining inner
#=> 1
Methods.inner 
#=> 2

Это полезно, когда вы делаете такие вещи, как запись DSL, которые требуют совместного использования области между методами. Но в противном случае вам намного лучше делать что-либо еще, потому что, как говорят другие, inner переопределяется всякий раз, когда вызывается outer. Если вы хотите этого поведения, а иногда можете, это хороший способ его получить.

0
задан nitin pawar 15 January 2019 в 15:08
поделиться