From: funal.zhang@... Date: 2014-04-22T12:47:03+00:00 Subject: [ruby-core:62135] [ruby-trunk - Bug #9762] keywork argument do not work in some situation Issue #9762 has been updated by felix chang. Yes! Thank you. ---------------------------------------- Bug #9762: keywork argument do not work in some situation https://bugs.ruby-lang.org/issues/9762#change-46290 * Author: felix chang * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- I dont know this is an issue or not. Here is my code. ` class String def last(size) self[-size..-1] end # The behavior of slideing is similar to Array#each_cons # It's very use for most biological sequence analysis, # for example, calculating the k-mer frequency # # For example: # 'abcdefghij'.sliding(2).to_a # => ['ab', 'bc', 'cd', 'de', 'ef', 'fg', 'gh', 'hi', 'ij'] def sliding(window, circle: false) return to_enum(__method__, window, circle) unless block_given? seq = circle ? self + last(window) : self (seq.size - window + 1).times do |i| yield seq.slice(i, window) end end end ` It will not work, but if i change the code to the following: `def sliding(window, circle = false)` And it works! -- https://bugs.ruby-lang.org/