I agree, your proposed syntax is much nicer.
I did see somethings surprising.
In:
class Point {
has Num ($x, $y);
method inverted () {
return Point->new( x => $y, y => $x );
}
}
you have $x instead of $self->x (likewise for $y).
I found this surprising, and had to pause to think for a second or 2. How common is it in other OO languages to not need "self" to reference instance variables in instance methods? Personally, I don't recall ever seeing it done without "self". (Been so long since I last used C++ that I had forgotten.)
More surprising was:
class Cache::LRU {
use Hash::Ordered;
our $num_caches = 0; # class data (unused
+in this example)
my $x = Hash::Ordered->new; # private instance da
+ta
has UInt $max_size = 20; # public instance dat
+a
method set ( Str $key, $value ) {
if ( $x->exists($key) ) {
$x->delete($key);
where $x is also an instance variable.
(Just some additional thoughts.)
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|