> The new exception class should inherit from ScriptError, not StandardError. Failing to define a method that a subclass is required to provide is a problem in the program itself, the same kind of problem as SyntaxError or LoadError, not...zverok (Victor Shepelev)
TBH, in all my years with Ruby, it felt for me as its deep characteristic that "you never need `for`, think in enumerables." I believe that introducing "`for` that is useful for some complex cases" will dilute this image. Ruby is alm...zverok (Victor Shepelev)
As `String | Integer` already works in pattern matching, it seems to cover most of the proposed cases: ```ruby # instead of: raise TypeError unless value.is_a?(String) || value.is_a?(Integer) raise TypeError unless [String, Integer...zverok (Victor Shepelev)
This was a conscious design decision on Data implementaion, that underlines its nature. Struct has a two-fold nature: it is both "a mutable structured object" and "a container" (has `#[]`, `#each`, includes `Enumerable`). Data is ...zverok (Victor Shepelev)
> I tried finding out why this is called `ensure`/`rescue`/`else` when it only handles `ensure` and `rescue`? ```ruby begin File.read(filename) rescue ArgumentError puts "wrong arguments" rescue Errno::ENOENT puts "file d...zverok (Victor Shepelev)
> How about #one! or similar to indicate it must be one element? I think Ruby's core agreement is `!` indicates the methods that change the receiver (`strip`/`strip!`), so unless we plan to introduce Rails-y agreement with it designat...zverok (Victor Shepelev)