Mercurial > repos > tabletprog
comparison modules/option.tp @ 338:1458c069c715
Added "value" method to option value and option none. It behaves similarly to value:none, except the none case just propagates the none value and the value case wraps the result in an option value
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 04 Apr 2015 11:54:46 -0700 |
parents | 38ca63e0a62e |
children | fd4e0bf5bd9f |
comparison
equal
deleted
inserted
replaced
337:b8f721bde066 | 338:1458c069c715 |
---|---|
1 { | 1 { |
2 _none <- #{ | 2 _none <- #{ |
3 value:none <- :ifval :ifnone { | 3 value:none <- :ifval :ifnone { |
4 ifnone: | 4 ifnone: |
5 } | 5 } |
6 value <- :ifval { self } | |
6 value? <- { false } | 7 value? <- { false } |
7 none? <- { true } | 8 none? <- { true } |
8 } | 9 } |
9 #{ | 10 #{ |
10 value <- :v { | 11 value <- :v { |
11 #{ | 12 #{ |
12 value:none <- :ifval :ifnone { | 13 value:none <- :ifval :ifnone { |
13 ifval: v | 14 ifval: v |
14 } | 15 } |
16 value <- :ifval { | |
17 option value: (ifval: ) | |
18 } | |
15 value? <- { true } | 19 value? <- { true } |
16 none? <- { false } | 20 none? <- { false } |
17 } | 21 } |
18 } | 22 } |
19 none <- { _none } | 23 none <- { _none } |