From: Sebastian Hungerecker Date: 2008-12-13T19:54:48+09:00 Subject: Re: match(f.read)[0].to_a[0] meaning? Zhenning Guan wrote: > what is the different between match(f.read)[0].to_a[0] and match(f.read) match(f.read) returns a MatchData object. match(f.read)[0] returns a String object, which is the substring that the regular expression matched.(*) match(f.read)[0].to_a returns an Array object where each item of the array is a line of the string. match(f.read)[0].to_a[0] returns the first item of that array, i.e. the first line of the string. Since however, in this case, the matched string can't contain more than one line the whole to_a[0] business is superfluous. (*) match_data_object[i], with 0 < i <= n, where n is the number of capturing groups in the regular expression, returns the substring matched by the ith capturing group of the regular expression. HTH, Sebastian -- NP: Depeche Mode - Nothing Jabber: sepp2k@jabber.org ICQ: 205544826