Bug #9762
closedkeywork argument do not work in some situation
Description
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!
Updated by phluid61 (Matthew Kerwin) about 10 years ago
felix chang wrote:
I dont know this is an issue or not. Here is my code.
[...]
It will not work, but if i change the code to the following:
def sliding(window, circle = false)
And it works!
How will it "not work"? Are you calling it properly?
I'd change the first line of #sliding to:
return to_enum(__method__, window, {circle: circle}) unless block_given?
and fix all the other calls, from e.g. sliding 5, true
to sliding 5, circle: true
Does that solve your issue?
Updated by felix125 (felix chang) about 10 years ago
Yes!
Thank you.
Updated by Eregon (Benoit Daloze) about 10 years ago
- Status changed from Open to Closed
Updated by usa (Usaku NAKAMURA) almost 10 years ago
- Status changed from Closed to Rejected