# limitations under the License.
redef class Map[K, V]
- meth get(k: K): V
- with default: V do abort
+ fun get(k: K): V
+ !def: V do abort
do
if has_key(k) then return self[k]
- var d = default
+ var d = def
self[k] = d
return d
end
print "B:"
print h.has_key("bleu")
-var v = h.get("bleu") with do
+var v = h.get("bleu") !def do
print "Error"
abort
end
print "R:"
print h.has_key("rouge")
-v = h.get("rouge") with do continue "red"
+v = h.get("rouge") !def do continue "red"
print v
print h.has_key("rouge")
v = h.get("rouge")
print "N:"
print h.has_key("noir")
-v = h.get("noir") with do break "black"
+v = h.get("noir") !def do break "black"
print v
print h.has_key("noir")