Size: a a a

2016 September 14

MS

Mikhail Sytchev in Rubyata
Rustam Sharshenov
чому тогда у меня работает?
хароош
источник

MS

Mikhail Sytchev in Rubyata
ruby 2.3.1
источник

MS

Mikhail Sytchev in Rubyata
test.rb:12:in mod2': undefined method mod1' for #<Sample:0x007fecb5003d00> (NoMethodError)
источник

KO

Kalys Osmonov in Rubyata
как у меня сделай. эу, фищщ!
источник

MS

Mikhail Sytchev in Rubyata
тож самое
источник

KO

Kalys Osmonov in Rubyata
Но ты не можешь вызывать mod1 как инстанс и как лямбду имхо.
источник

RS

Rustam Sharshenov in Rubyata
ой, блин. не работает)
источник

MS

Mikhail Sytchev in Rubyata
ну блядь, ясен хуй
источник

MS

Mikhail Sytchev in Rubyata
НО ПОЧЕМУ?
источник

MS

Mikhail Sytchev in Rubyata
Понятно, что можно по-другому реализовать
источник

MS

Mikhail Sytchev in Rubyata
Но и так ведь должно работать
источник

MS

Mikhail Sytchev in Rubyata
моя не понимат
источник

MS

Mikhail Sytchev in Rubyata
module Module1
 def self.mod1() 1; end
end

module Module2
 def mod2
   puts Module1.mod1()
   puts 2
 end
 Constant = lambda { puts Module1.mod1() }  
end

class Sample
 include Module2
 def go
   mod2
   Constant.call  
 end
end

Sample.new.go
источник

MS

Mikhail Sytchev in Rubyata
так работает
источник

KO

Kalys Osmonov in Rubyata
короч. ты путаешь скоупы инстанса и класса.
источник

MS

Mikhail Sytchev in Rubyata
я понимаю что в этом проблема, но на уровне ссылок объектов интерпретатора наверно
источник

MS

Mikhail Sytchev in Rubyata
теоретиески должно работать как в первом бажном примере
источник

MS

Mikhail Sytchev in Rubyata
как на уровне документации нас учили
источник

KO

Kalys Osmonov in Rubyata
источник

KO

Kalys Osmonov in Rubyata
Миша, я понял.
источник