# Option -- the class of all pairs x => y

## Description

Such pairs are used as optional arguments for functions. There is also a way to make new hash tables with new by providing a list of option pairs.

 i1 : a => 5 o1 = a => 5 o1 : Option i2 : peek (a => 5) o2 = Option{a, 5} i3 : new HashTable from {a => 5, b => 7} o3 = HashTable{a => 5} b => 7 o3 : HashTable

These pairs are implemented as lists, so that if z is x => y, then x is z#0 and y is z#1.

• => -- produce an Option
• options -- get options

## Functions and methods returning an option :

• "Thing => Thing" -- see => -- produce an Option

## Methods that use an option :

• "directSum(Option)" -- see directSum -- direct sum of modules or maps
• "Option ++ Option" -- see directSum -- direct sum of modules or maps
• "installAssignmentMethod(Symbol,HashTable,HashTable,Option)" -- see installAssignmentMethod -- install methods assignment to the value of an operator
• "installAssignmentMethod(Symbol,HashTable,Option)" -- see installAssignmentMethod -- install methods assignment to the value of an operator
• Option ** Option (missing documentation)
• Option ? Option (missing documentation)
• "package(Option)" -- see package -- get containing package
• "substitute(Ideal,Option)" -- see substitute -- substituting values for variables
• "substitute(Matrix,Option)" -- see substitute -- substituting values for variables
• "substitute(Module,Option)" -- see substitute -- substituting values for variables
• "substitute(RingElement,Option)" -- see substitute -- substituting values for variables
• "substitute(Vector,Option)" -- see substitute -- substituting values for variables

## For the programmer

The object Option is a type, with ancestor classes BasicList < Thing.