m
&block
и этот block
из def m(&block)
я очень даже могу потрогатьSize: a a a
m
&block
и этот block
из def m(&block)
я очень даже могу потрогатьTL
m
module A
end
a = Class.new
p a.name
# > nil
A::B = a
p a.name, A::B.name
# > "A::B", "A::B"
m
Class.new
new(super_class=Object) { |mod| ... } → a_class
Creates a new anonymous (unnamed) class with the given superclass (or Object if no parameter is given). You can give a class a name by assigning the class object to a constant.
m
::
в A::B
пока в гугле больше всего ответов видаThe :: is the namespace/scope resolution operator.но пока не нашел источник в официальной доке
m
CM
a = 1можно еще книжку почитать: http://ruby-doc.com/docs/ProgrammingRuby/#UG
closure = ->(arg) { a = arg }
closure.call(3)
p a
> 3
m
a
замкнута лямбдойTL
TL
TL
m
TL
DN
C = a::B
логично привязывает анонимный модуль к С дальнейшие манипуляции с его надмодулем имя не изменятDN
m
DN
DP
AN
IN