![show/hide quicksearch [+]](../images/find.png)
TaskArguments manage the arguments passed to a task.
Create a TaskArgument object with a list of argument names and
a set of associated values.  parent is the parent
argument object.
 
               # File rake/task_arguments.rb, line 14
def initialize(names, values, parent=nil)
  @names = names
  @parent = parent
  @hash = {}
  @values = values
  names.each_with_index { |name, i|
    @hash[name.to_sym] = values[i] unless values[i].nil?
  }
end
             
            Find an argument value by name or index.
 
               # File rake/task_arguments.rb, line 42
def [](index)
  lookup(index.to_sym)
end
             
            Enumerates the arguments and their values
 
               # File rake/task_arguments.rb, line 54
def each(&block)
  @hash.each(&block)
end
             
            Retrieve the list of values not associated with named arguments
 
               # File rake/task_arguments.rb, line 30
def extras
  @values[@names.length..-1] || []
end
             
            Returns true if key is one of the arguments
 
               # File rake/task_arguments.rb, line 82
def has_key?(key)
  @hash.has_key?(key)
end
             
            Returns the value of the given argument via #method_missing
 
               # File rake/task_arguments.rb, line 64
def method_missing(sym, *args)
  lookup(sym.to_sym)
end
             
            Create a new argument scope using the prerequisite argument names.
 
               # File rake/task_arguments.rb, line 36
def new_scope(names)
  values = names.map { |n| self[n] }
  self.class.new(names, values + extras, self)
end
             
            Retrieve the complete array of sequential values
 
               # File rake/task_arguments.rb, line 25
def to_a
  @values.dup
end
             
            Returns a Hash of arguments and their values
 
               # File rake/task_arguments.rb, line 69
def to_hash
  @hash
end
             
            Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.