Module: Mozart::SingleAssignment

Included in:
Environment
Defined in:
lib/mozart/single_assignment.rb

Instance Method Summary collapse

Instance Method Details

#_(*args) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/mozart/single_assignment.rb', line 3

def _(*args)
  @__internals__ ||= {}

  case args.count
  when 1
    @__internals__[args.first]
  when 2
    if @__internals__.key?(args.first)
      raise "Single assignment only!"
    else
      @__internals__[args.first] = args.last
    end
  else
    raise ArgumentError
  end
end