Define a primitive data type: Difference between revisions
Content added Content deleted
m (→{{header|Perl 6}}: missing semicolon) |
m (→{{header|Sidef}}: fixed the code) |
||
Line 1,413: | Line 1,413: | ||
=={{header|Sidef}}== |
=={{header|Sidef}}== |
||
<lang ruby>class MyInt(value) { |
<lang ruby>class MyInt(Number value) { |
||
has min = 1; |
|||
has max = 10; |
|||
method |
method init { |
||
(value > max) || (value < min) && ( |
(value > max) || (value < min) && ( |
||
die "Invalid value '#{value}': must be between #{min} and #{max}"; |
die "Invalid value '#{value}': must be between #{min} and #{max}"; |
||
Line 1,427: | Line 1,427: | ||
} |
} |
||
method |
method to_s { value.to_s } |
||
⚫ | |||
die "Invalid value '#{value}'; expected a number"; |
|||
} |
|||
⚫ | |||
value.get_value.get_value; |
|||
} |
|||
method AUTOLOAD(name, *args) { |
method AUTOLOAD(_, name, *args) { |
||
var result = value.(name)(args...); |
var result = value.(name)(args...); |
||
Line 1,456: | Line 1,451: | ||
say b; # => 6 |
say b; # => 6 |
||
say a.to_hex; |
say a.to_hex.dump; # => "9" -- an hexadecimal string |
||
a -= 7; # a=2 |
a -= 7; # a=2 |