diff options
| author | Drahflow <drahflow@gmx.de> | 2014-08-19 15:13:52 +0200 |
|---|---|---|
| committer | Drahflow <drahflow@gmx.de> | 2014-08-19 15:13:52 +0200 |
| commit | b2e0267e4ca3de13ff168f818776cb07d893f110 (patch) | |
| tree | 3ce3fe3d5ac4636dab6db23969db39a8d53056af | |
| parent | 9ad92648cb58f287cb34225512423154405fb97a (diff) | |
list .pop
| -rw-r--r-- | elymas/lib/list.ey | 16 | ||||
| -rw-r--r-- | examples/working-loaded/list.test | 12 |
2 files changed, 27 insertions, 1 deletions
diff --git a/elymas/lib/list.ey b/elymas/lib/list.ey index 38af5ac..b1309a2 100644 --- a/elymas/lib/list.ey +++ b/elymas/lib/list.ey @@ -59,7 +59,21 @@ l .len 1 add l .setLen } /append1 defmd - { { .append1 }_ [ 0 ] [ ] '' * } /append defmd + { ==l + l .len 2 ge { + l .start + l .len _ 1 sub l .setLen + 2 sub { 1 -01 * } rep + _ l .setEnd + NONE 1 -102 =[] + } { + 0 l .setLen + NONE l .setStart + NONE l .setEnd + } ? * + } /pop defmd + + { { .append1 }_ '0. * } /append defmd { < 0 ==len { =len } =*setLen diff --git a/examples/working-loaded/list.test b/examples/working-loaded/list.test index 2d07e50..ec78135 100644 --- a/examples/working-loaded/list.test +++ b/examples/working-loaded/list.test @@ -25,3 +25,15 @@ list _ [ 3 4 5 ] -01 .append a dump a len dump a |dump each + +a .pop + +a dump +a len dump +a |dump each + +42 a .append + +a dump +a len dump +a |dump each |
