Define a primitive data type: Difference between revisions
Content added Content deleted
Line 1,175: | Line 1,175: | ||
NB. create a restricted object from an appropriate integer |
NB. create a restricted object from an appropriate integer |
||
create_restrict_ =: monad define |
create_restrict_ =: monad define |
||
'Value error. expected integer on [1,10]' assert 1 0 -: 1 11 le y |
'Value error. expected integer on [1,10]' assert 0 -.@e. , (1 0 -: 1 11 le ])&> y |
||
'Value error, non integral' assert (-: <.) y |
'Value error, non integral' assert (-: <.) y |
||
value=: y |
value=: <. y |
||
) |
) |
||
Line 1,191: | Line 1,191: | ||
<pre> |
<pre> |
||
A=: |
A=:(>:i.2 3)conew'restrict' |
||
value__A |
|||
1 2 3 |
|||
add__A 8 |
|||
4 5 6 |
|||
|value unavailable: signalError |
|||
⚫ | |||
| 'value unavailable' signalError 21 |
|||
⚫ | |||
C=: add__A B |
C=: add__A B |
||
⚫ | |||
⚫ | |||
8 9 10 |
|||
D=: 1 conew'restrict' |
|||
⚫ | |||
add__D C |
|||
8 |
|||
⚫ | |||
add__C B |
|||
|Value error. expected integer on [1,10]: assert |
|Value error. expected integer on [1,10]: assert |
||
| 'Value error. expected integer on [1,10]' assert 1 0-:1 11 le |
| 'Value error. expected integer on [1,10]' assert 0-.@e.,(1 0-:1 11 le])&>y |
||
</pre> |
</pre> |
||