From: Abder-rahman Ali on 11 Jul 2010 12:19 I'm just new to ruby, and want to ask about what this means (I got it from Why's poignant guide to Ruby): http://pastie.org/private/wndhyi2zshltqzwippqb3q -- Posted via http://www.ruby-forum.com/.
From: Colin Bartlett on 11 Jul 2010 19:53 [Note: parts of this message were removed to make it a legal post.] On Sun, Jul 11, 2010 at 5:19 PM, Abder-rahman Ali < abder.rahman.ali(a)gmail.com> wrote: > I'm just new to ruby, and want to ask about what this means (I got it > from Why's poignant guide to Ruby): > http://pastie.org/private/wndhyi2zshltqzwippqb3q > -- > Posted via http://www.ruby-forum.com/. > I think it would be OK to put that code in your email: it's not very long. z = :include? z = "a string".respond_to? z Interactive Ruby can be very useful in finding out what's going on. irb z = :include? #=> :include? z.class #=> Symbol So z is now a variable holding a reference to an object of class Symbol. s = "a string" #=> "a string" s.class #=> String y = s.respond_to? z #=> true respond_to? is a method which asks an object whether it "recognizes" a method, and the argument to respond_to? should be a symbol which is "the same" (I'm deliberately not being precise here - symbols were confusing to me when I first started using Ruby) as the method you want to see if the object will recognize, which here is named include?. In other words, is include? an instance method of the object. So this tells us that include? is a method which "a string" will respond to. Let's try it. s.include? "st" #=> true s.include? "ts" #=> false For more details, we can look up this method here (and others might be able to explain how to use installed Ruby to get information on methods). http://ruby-doc.org/ -> 1.8.6 Core select class String http://ruby-doc.org/core/classes/String.html find the include? method http://ruby-doc.org/core/classes/String.html#M000811 str.include? other_str => true or false str.include? fixnum => true or false Returns true if str contains the given string or character. "hello".include? "lo" #=> true "hello".include? "ol" #=> false "hello".include? ?h #=> true
|
Pages: 1 Prev: [ANN] Ruby 1.9.2 RC2 is out Next: Basic Question: How do you check to see if gets is a number? |