# HG changeset patch # User Michael Pavone # Date 1439093606 25200 # Node ID 810b6115c1d4734f0dd4659161a1eff1de94efe8 # Parent 3d36d69aab7f088250a19f411cc16305ce85003f Add a pop method to array diff -r 3d36d69aab7f -r 810b6115c1d4 modules/array.tp --- a/modules/array.tp Fri Aug 07 21:40:08 2015 -0700 +++ b/modules/array.tp Sat Aug 08 21:13:26 2015 -0700 @@ -54,6 +54,16 @@ size <- size + 1 self } + + llMessage: pop withVars: { + } andCode: { + if: size > 0 { + size <- size - 1 + data get: size + } else: { + false + } + } llMessage: resize withVars: { newsize <- obj_uint32 ptr diff -r 3d36d69aab7f -r 810b6115c1d4 samples/testarray.tp --- a/samples/testarray.tp Fri Aug 07 21:40:08 2015 -0700 +++ b/samples/testarray.tp Sat Aug 08 21:13:26 2015 -0700 @@ -13,6 +13,8 @@ bar append: 28 bar append: 42 print: "" . ((sum: foo) + (sum: bar)) . "\n" + val <- bar pop + print: "popped off: " . val . ", new length: " . (bar length) . "\n" } }