Skip to Content
Perl 6 Deep Dive
book

Perl 6 Deep Dive

by Andrew Shitov
September 2017
Beginner
402 pages
9h 52m
English
Packt Publishing
Content preview from Perl 6 Deep Dive

Read-and-write attributes

The value of $.rooms attribute is set at the moment of creating the object $house. What if we need to change its value later? Of course, it is a rare case with real houses that the number of rooms changes but it still may happen, after a new owner takes the house and changes its floor plan, for example.

A naïve attempt to set a new value fails:

class House {    has $.rooms;}my $house = House.new(rooms => 2);$house.rooms = 3; # Fails heresay $house.rooms;

At the time of assignment, a runtime error occurs and the program is terminated:

Cannot modify an immutable Int in block <unit> at house.pl line 7

The $.rooms attribute is immutable and cannot be changed. This is the default behavior of class attributes.

To make the ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Perl Hacks

Perl Hacks

Chromatic, Damian Conway, Curtis Ovid Poe, Curtis (Ovid) Poe
Learning Perl 6

Learning Perl 6

brian d foy
Think Perl 6

Think Perl 6

Laurent Rosenfeld, Allen B. Downey
Pro Perl

Pro Perl

Peter Wainwright

Publisher Resources

ISBN: 9781787282049Supplemental Content