[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Newbie Question about Array#include?

AoP

1/20/2008 6:00:00 PM

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
4 Answers

Stefano Crocco

1/20/2008 6:05:00 PM

0

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


Tim Hunter

1/20/2008 6:14:00 PM

0

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.ruby...
RMagick 2: http://rmagick.ruby...rmagick2.html

AoP

1/20/2008 6:52:00 PM

0

> 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!

John Joyce

1/21/2008 2:22:00 AM

0


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 -
>> -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.ruby...
> RMagick 2: http://rmagick.ruby...rmagick2.html
>
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.