# May I know that why the zz\[0\]=="s" return false, please?

**URL:** <https://www.ruby-forum.com/t/may-i-know-that-why-the-zz-0-s-return-false-please/193940>\
**Category:** Ruby\
**Created:** [August 26, 2010, 9:35pm UTC](https://www.ruby-forum.com/t/may-i-know-that-why-the-zz-0-s-return-false-please/193940 "2010-08-26T21:35:09Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![oscarlok](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/ea666f/32.png) [@oscarlok](https://www.ruby-forum.com/u/oscarlok)\
**Post date:** [August 26, 2010, 9:35pm UTC](https://www.ruby-forum.com/t/may-i-know-that-why-the-zz-0-s-return-false-please/193940/1 "2010-08-26T21:35:09Z")

</div>

Dear Sir,

May I know that why the zz[0]==“s” return false, please?

aa = ‘“s”;“d”;“f”’  
zz = aa.split(";")  
zz[0]==“s”  
false

Thanks

Regards  
Oscar

---

<div class="post-metadata">

**Author:** ![oscarlok](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/ea666f/32.png) [@oscarlok](https://www.ruby-forum.com/u/oscarlok)\
**Post date:** [August 26, 2010, 9:47pm UTC](https://www.ruby-forum.com/t/may-i-know-that-why-the-zz-0-s-return-false-please/193940/2 "2010-08-26T21:47:37Z")

</div>

On Aug 26, 2010, at 12:35 PM, Oscar L. wrote:

> Dear Sir,
> 
> May I know that why the zz[0]==“s” return false, please?
> 
> aa = ‘“s”;“d”;“f”’  
> zz = aa.split(";")  
> zz[0]==“s”  
> false

“s” is a string containing one actual character (s). While you have 3  
after split – double quote, s, double quote. So you need to check for  
‘“s”’ instead:

zz[0] == ‘“s”’  
true

---

<div class="post-metadata">

**Author:** ![oscarlok](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/ea666f/32.png) [@oscarlok](https://www.ruby-forum.com/u/oscarlok)\
**Post date:** [August 26, 2010, 11:11pm UTC](https://www.ruby-forum.com/t/may-i-know-that-why-the-zz-0-s-return-false-please/193940/3 "2010-08-26T23:11:20Z")

</div>

On Thu, Aug 26, 2010 at 2:35 PM, Oscar L.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> ## Regards Oscar
> 
> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).

You output an inspected view of your objects with the method p, that  
should  
help you see the difference.

aa = ‘“s”;“d”;“f”’  
zz = aa.split(“;”)  
p zz[0]  
p “s”

---

<div class="post-metadata">

**Author:** ![oscarlok](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/ea666f/32.png) [@oscarlok](https://www.ruby-forum.com/u/oscarlok)\
**Post date:** [August 26, 2010, 9:49pm UTC](https://www.ruby-forum.com/t/may-i-know-that-why-the-zz-0-s-return-false-please/193940/4 "2010-08-26T21:49:58Z")

</div>

Because it is.

The original string which you split on results in “s” being assigned to  
zz[0], including the quotes. (i.e. you’re assigning three characters to  
each array element).

When you compare for equality on the next line, due to syntax you’re  
only comparing to one character - s - as the quotes indicate to ruby  
that it’s dealing w/ a string literal.

Try this:  
zz[0] == ““s””

---

<div class="post-metadata">

**Author:** ![oscarlok](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/o/ea666f/32.png) [@oscarlok](https://www.ruby-forum.com/u/oscarlok)\
**Post date:** [August 27, 2010, 10:05am UTC](https://www.ruby-forum.com/t/may-i-know-that-why-the-zz-0-s-return-false-please/193940/5 "2010-08-27T10:05:30Z")

</div>

Thanks for all of you!!!

Regards  
Oscar
