I encountered an odd behavior. If I rescue the `StopIteration` exception from `peek` and call `next` afterwards: (or vice-versa) ```ruby # enum.rb # 1 # 2 enum = [].each # 3 enum.peek re...sos4nt (Stefan Schüßler)
Haskell has an `intersperse` function which adds a separator between elements of a list. It would be pretty useful to have such method(s) in Ruby, too. Examples for `Array` and `String`: ```ruby [1, 2, 3].intersperse(0) #=> [1, ...sos4nt (Stefan Schüßler)
`File.open` takes a `mode` argument which can be given as a string or as an integer using `File::Constants`. When using the latter, the constant `File::BINARY` doesn't have any effect: ```ruby # this works: File.open('foo', 'wb')...sos4nt (Stefan Schüßler)
The current implementation of `CSV.parse` doesn't call `close` when a block is given: ```ruby def self.parse(*args, &block) csv = new(*args) return csv.each(&block) if block_given? begin csv.read ensure csv.cl...sos4nt (Stefan Schüßler)
nobu (Nobuyoshi Nakada) wrote: > No, it doesn't. > ... It didn't occur to me the warning is aware of that. I should have tested with the actual example code. Thanks for the clarification nobu! And thanks for closing it as a duplicat...sos4nt (Stefan Schüßler)
shevegen (Robert A. Heiler) wrote: > I can't think of a simple way to controls warnings though :( - I guess if we may have some > ... A per-file setting is too broad. Given: ```ruby if (a = foo) do_this if a == x do_that if a =...sos4nt (Stefan Schüßler)
sawa (Tsuyoshi Sawada) wrote: > Why do the parentheses indicate that assignment is intended, and not comparison? It's a convention used in C compilers. The explicit optional parentheses are seen as a hint that this is what the develo...sos4nt (Stefan Schüßler)
Sometime it's convenient to have an assignment in an `if`-condition. The Ruby documentation even contains an example showing this *"most common use of side-effect"* practice: http://ruby-doc.org/core-2.6.3/doc/syntax/control_expressio...sos4nt (Stefan Schüßler)
@matz wrote: > I am not fully satisfied with the beauty of the code with numbered parameters, so I call it a compromise. @shevegen wrote: > ... Sorry, but it sounds like the new feature is an ugly compromise ... I learned Ruby – ...sos4nt (Stefan Schüßler)