R
R. Kumar
If i use something like:
does the rescue set up anything internally that will make this
inefficient ?
I have other options too, however, i want to minimize code clutter since
this situation is rare (my app says it works under 1.8.7 and 1.9).
Someones using it in 1.8.6 which i learn has no array#count. Otoh, 1.9
has no array#size.
Other options are :
unless Array.method_defined?count) then
class Array
def count
size
end
end
end
# remark: i assume this is a one time startup cost
or:
if array.respond_to?count) then
array.count
else
array.size
end
# remark: evaluated each time, so cost is high
My hope is that the rescue clause of the first example is only looked at
by the interpreter if an error occurs, otherwise there's no penalty for
it.
Suggestions ?
array.count rescue array.size
does the rescue set up anything internally that will make this
inefficient ?
I have other options too, however, i want to minimize code clutter since
this situation is rare (my app says it works under 1.8.7 and 1.9).
Someones using it in 1.8.6 which i learn has no array#count. Otoh, 1.9
has no array#size.
Other options are :
unless Array.method_defined?count) then
class Array
def count
size
end
end
end
# remark: i assume this is a one time startup cost
or:
if array.respond_to?count) then
array.count
else
array.size
end
# remark: evaluated each time, so cost is high
My hope is that the rescue clause of the first example is only looked at
by the interpreter if an error occurs, otherwise there's no penalty for
it.
Suggestions ?