end
class Map[K, V]
- fun get(k: K): V
+ fun [](k: K): V
!def: V do abort
do
if _k == k then return _v
var n = _next
- if n != null then return n.get(k) !def do continue def
+ if n != null then return n[k] !def do continue def
var v = def
_next = new Map[K, V](k, v)
return v
fun file_open(i: Int)
!work(f: File)
- break !error(i: Int) do abort
+ break !error(j: Int) do abort
do
var f = new File(i)
if not f.is_open then error(404)
if not m.has_key('I') then (-1).output
'I'.output
'='.output
- var i = m.get('I')
+ var i = m['I']
i.output
'\n'.output
if m.has_key('V') then (-2).output
'V'.output
'='.output
- i = m.get('V') !def = '5'
+ i = m['V'] !def = '5'
i.output
'\n'.output
if not m.has_key('V') then (-3).output
'V'.output
'='.output
- i = m.get('V') !def = '6'
+ i = m['V'] !def = '6'
i.output
'\n'.output
if m.has_key('X') then (-4).output
'X'.output
'='.output
- i = m.get('X') !def do break '0'
+ i = m['X'] !def do break '0'
i.output
'\n'.output
!error(e) do
'E'.output
e.output
- break
end
if f_escape != null then
'O'.output