Size: a a a

2019 October 03

МВ

Максим Вейсгейм in pro.ruby
это как
источник

МВ

Максим Вейсгейм in pro.ruby
irb(main):001:0> def a
irb(main):002:1> 1.b
irb(main):003:1> rescue NoMethodError
irb(main):004:1> 2
irb(main):005:1> ensure
irb(main):006:1* 3
irb(main):007:1> end
=> :a
irb(main):008:0> a
=> 2
источник

МВ

Максим Вейсгейм in pro.ruby
разве не должен метод a возвращать 3?
источник

МВ

Максим Вейсгейм in pro.ruby
irb(main):009:0> def a
irb(main):010:1> 1.b
irb(main):011:1> rescue NoMethodError
irb(main):012:1> 2
irb(main):013:1> ensure
irb(main):014:1* return 3
irb(main):015:1> end
=> :a
irb(main):016:0>
irb(main):017:0> a
=> 3
источник

МВ

Максим Вейсгейм in pro.ruby
ХМ
источник

Т

Тенпеннай in pro.ruby
а чо хм?
источник

МВ

Максим Вейсгейм in pro.ruby
ну почему первый не работает как ожидается
источник

МВ

Максим Вейсгейм in pro.ruby
второй то работает как ожидается
источник

Т

Тенпеннай in pro.ruby
Максим Вейсгейм
ну почему первый не работает как ожидается
наверное потому что без явного return возвращается первый полученный результат?
источник

МВ

Максим Вейсгейм in pro.ruby
впервые слышу
источник

МВ

Максим Вейсгейм in pro.ruby
слышал что без явного ретёрн возвращается то из которой ветки мы вышли
источник

МВ

Максим Вейсгейм in pro.ruby
тут мы выйти должны из ensure
источник

k

kolas in pro.ruby
баг или фича
источник

МВ

Максим Вейсгейм in pro.ruby
руби 2.6.5 если что
источник

МВ

Максим Вейсгейм in pro.ruby
источник

МВ

Максим Вейсгейм in pro.ruby
так почему не вернуло 3?
источник

МВ

Максим Вейсгейм in pro.ruby
я так и ожидал что сработает
источник

МВ

Максим Вейсгейм in pro.ruby
а оно вернуло 2
источник

МВ

Максим Вейсгейм in pro.ruby
вот и не понял
источник

МВ

Максим Вейсгейм in pro.ruby
irb(main):018:0> def a
irb(main):019:1> 1.b
irb(main):020:1> rescue NoMethodError
irb(main):021:1> 2
irb(main):022:1> ensure
irb(main):023:1* p 3
irb(main):024:1> end
=> :a
irb(main):025:0> a
3
=> 2
источник