Why does the "include?" method of Array end with a question mark? I
thought the question mark was to indicate some sort of "unexpected"
behavior, such as modifying the list, but it doesn't seem to in this
case.
Thanks -
-James
Why does the "include?" method of Array end with a question mark? I
thought the question mark was to indicate some sort of "unexpected"
behavior, such as modifying the list, but it doesn't seem to in this
case.
Thanks -
-James
Alle Sunday 20 January 2008, AoP ha scritto:
Why does the "include?" method of Array end with a question mark? I
thought the question mark was to indicate some sort of "unexpected"
behavior, such as modifying the list, but it doesn't seem to in this
case.Thanks -
-James
You're thinking of the exclamation mark (!), which is used for 'dangerous'
methods or to distinguish methods which modifies the receiver from the
analogous method wich doesn't (for example, Array#uniq! and Array#uniq). The
question mark, instead, is used for methods which express a predicate or, in
other words, which answer a question (for example, Array#include? answers the
question 'does the array contain this item?')
Stefano
AoP wrote:
Why does the "include?" method of Array end with a question mark? I
thought the question mark was to indicate some sort of "unexpected"
behavior, such as modifying the list, but it doesn't seem to in this
case.Thanks -
-James
You're thinking of !, not ?. There are no hard-and-fast rules, but typically methods that end in ? return true or false, and methods that end in ! need extra attention for one reason or another.
--
RMagick: http://rmagick.rubyforge.org/
RMagick 2: http://rmagick.rubyforge.org/rmagick2.html
question mark, instead, is used for methods which express a predicate or, in
other words, which answer a question (for example, Array#include? answers the
question 'does the array contain this item?')
Thank you!
Also remember that there are some methods in some classes that do not have ! but do modify the receiver.
Array has .push and .pop for examples.
In many languages, equivalents of Ruby methods ending with ? are called predicates. They usually read like an English Yes/No or True/False question.
On Jan 20, 2008, at 12:13 PM, Tim Hunter wrote:
AoP wrote:
Why does the "include?" method of Array end with a question mark? I
thought the question mark was to indicate some sort of "unexpected"
behavior, such as modifying the list, but it doesn't seem to in this
case.
Thanks -
-JamesYou're thinking of !, not ?. There are no hard-and-fast rules, but typically methods that end in ? return true or false, and methods that end in ! need extra attention for one reason or another.
--
RMagick: http://rmagick.rubyforge.org/
RMagick 2: http://rmagick.rubyforge.org/rmagick2.html