The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Name

SPVM::Point - Point

Usage

  use Point;
  
  my $point = Point->new;
  my $point = Point->new(1, 2);

  my $x = $point->x;
  my $y = $point->y;
  
  my $point_string = $point->to_string;

Description

Point is a class for a point.

Interfaces

Point class has the following interfaces.

Fields

x

  has x : protected ro int;

x.

y

  has y : protected ro int;

y.

Class Methods

new

static method new : Point ($x : int = 0, $y : int = 0);

Create a new Point object with $x and $y.

Instance Methods

init

  protected method init : Point ($x : int = 0, $y : int = 0)

Initializes "x" and "y".

clear

method clear : void ();

Sets "x" and "y" to 0.

clone

method clone : Point ();

Creates a new Point object that clones myself.

to_string

method to_string : string ();

Stringifies Point object as the following format.

  (1,2)

method eq : int ($a : Point, $b : Point);

If $a is equal to $b, returns 1, otherwise returns 0.

Implementation:

If $a and $b is defined and "x", "y", and "z" fields in $a are equals to "x", "y", and "z" fields in $b, returns 1.

If only $a is not defined, returns 0.

If only $b is not defined, returns 0.

If both $a and $b is not defined, returns 1.

Copyright & License

Copyright (c) 2023 Yuki Kimoto

MIT License