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\""


On Thu, 2010-08-26 at 14:35 -0500, Oscar Lok 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
> 
> Thanks
> 
> Regards
> Oscar