Clean
Provides a routine clean
that takes an object and an anonymous code block
which takes an object that does Cleanable
. This basically ensures that your
objects can be cleaned after your code block has finished running. Thus it
provides an object-oriented clean
method (aka destructor).
Example
# A class that needs to close or free resources
class Foo does Cleanable {
# Guaranteed to be called once the anonymous block finishes execution
method clean {
# Close or free resources here
}
}
clean(
# The object we need to be cleaned up
Foo.new,
# The anonymous block
-> $obj {
# Do interesting stuff with $obj of type Cleanable
}
);
Installation
To install it using zef (a module management tool bundled with Rakudo Star):
$ zef install Clean
Testing
To run tests:
$ prove -e "perl6 -Ilib"
To run author tests, you need to manually install Test::META:
$ zef install Test::META
$ TEST_AUTHOR=1 prove -e "perl6 -Ilib"
Author
Ahmad M. Zawawi, azawawi on #perl6, https://github.com/azawawi/
License
MIT License