T
transfire
Lets say I have a method using the not-so-uncommon keyword options
pattern:
def foo(*args)
opts = (Hash === args.last ? args.pop : {})
...
Now I want to define another method, which is essentially a special
alias, that places a particular option as the first argument:
def bar(opt, *args)
foo(*args, :baz => opt) # doesn't work.
end
Is there no better way to do this than:
def bar(opt, *args)
opts = (Hash === args.last ? args.pop : {})
opts[:baz] = opt
args << opts
foo(*args)
end
Boy, it really makes you wish we had keyword arguments built-in to the
language!!! I forget, will we have those in 1.9? If so how the above
look then?
T.
pattern:
def foo(*args)
opts = (Hash === args.last ? args.pop : {})
...
Now I want to define another method, which is essentially a special
alias, that places a particular option as the first argument:
def bar(opt, *args)
foo(*args, :baz => opt) # doesn't work.
end
Is there no better way to do this than:
def bar(opt, *args)
opts = (Hash === args.last ? args.pop : {})
opts[:baz] = opt
args << opts
foo(*args)
end
Boy, it really makes you wish we had keyword arguments built-in to the
language!!! I forget, will we have those in 1.9? If so how the above
look then?
T.