Source:
namespace Indexer is
use System.Exception;
// this class acts like an array of integers indexed by the characters 'A'..'A' + length
class MyArray is
int[] values;
void init( int length ) is
values = new int[length];
si
get int Length is
return values.length;
si
// indexed get accessor is called when an object of this class is subscripted
// like an array and the result is read:
get int[char index] is
return values[cast int(index - 'A')];
si
// indexed get accessor is called when an object of this class is subscripted
// like an array and the result is assigned to:
set int[char index] = v is
values[cast int(index - 'A')] = v;
si
String toString() is
return Class.Name + "(" + values.toString() + ")";
si
si
class Main is
void init() is
var a = new MyArray(26);
var n = 1;
foreach var c; 'A'..'Z' do
IO.Std.out.println( "set element " + c + " = " + n );
a[c] = n;
n = n * 2;
od
IO.Std.out.println( "result: " + a );
si
si
si
set element A = 1
set element B = 2
set element C = 4
set element D = 8
set element E = 16
set element F = 32
set element G = 64
set element H = 128
set element I = 256
set element J = 512
set element K = 1024
set element L = 2048
set element M = 4096
set element N = 8192
set element O = 16384
set element P = 32768
set element Q = 65536
set element R = 131072
set element S = 262144
set element T = 524288
set element U = 1048576
set element V = 2097152
set element W = 4194304
set element X = 8388608
set element Y = 16777216
set element Z = 33554432
result: LSPPage.P_29533_19.Indexer.MyArray(1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432)
set element B = 2
set element C = 4
set element D = 8
set element E = 16
set element F = 32
set element G = 64
set element H = 128
set element I = 256
set element J = 512
set element K = 1024
set element L = 2048
set element M = 4096
set element N = 8192
set element O = 16384
set element P = 32768
set element Q = 65536
set element R = 131072
set element S = 262144
set element T = 524288
set element U = 1048576
set element V = 2097152
set element W = 4194304
set element X = 8388608
set element Y = 16777216
set element Z = 33554432
result: LSPPage.P_29533_19.Indexer.MyArray(1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432)
site design and content copyright (C) jeek 1995-2010  
[
13132
]