From: Jano Svitok Date: 2008-02-19T06:05:08+09:00 Subject: Re: The meanings of Asterisk (and Webby) On Feb 18, 2008 9:46 PM, Leslie Viljoen wrote: > Hi all! > > I have a class that is used in a Webby page. The class needs to make > use of a function within three modules: > > -------------------------------------------- > module Webby > module Helpers #:nodoc: > module UrlHelper > -------------------------------------------- > > Since the function is an "instance" > function, I need to include the modules like so: > > -------------------------------------------- > class Categoriser > include Webby::Helpers::UrlHelper > -------------------------------------------- > > Later in my class I have (bear with me): > > -------------------------------------------- > def render > .. > html << %[
  • #{link_to_page(:title => r.title)}
  • ] > -------------------------------------------- > > link_to_page (within the three modules) looks like this: > > -------------------------------------------- > def link_to_page( *args ) > self.link_to(*_find_page(args)) > end > -------------------------------------------- > > And gives me: > NoMethodError Exception: undefined method `find' for nil:NilClass > > I can't find any reference to this usage of the asterisk, and > I don't know what the *_find_page does. Can anyone explain it to me? It's called the 'splat' operator. see e.g. http://theplana.wordpress.com/2007/03/03/ruby-idioms-the-splat-operator/ http://redhanded.hobix.com/bits/theSiphoningSplat.html http://ola-bini.blogspot.com/2006/11/nooks-and-crannies-of-ruby.html