September 2017 Update

This commit is contained in:
Ingy döt Net 2017-09-23 10:01:46 +02:00
parent bba7bfd280
commit ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions

View file

@ -0,0 +1,27 @@
class Point{var x,y;
fcn init(xyOrPoint=0,_=0){
if(Point.isInstanceOf(xyOrPoint)) set(xyOrPoint);
else x,y=vm.arglist.apply("toFloat")}
fcn set(p){x=p.x;y=p.y}
fcn toString{"(%d,%d)".fmt(x,y)}
}
class Circle{var center, radius;
fcn init(a=0.0,b=0.0,r=1.0){
switch [arglist]{
case(Circle){ center=Point(a.center); radius=a.radius }
case(Point) { center=Point(a); radius=b.toFloat(); }
else { center=Point(a,b); radius=r.toFloat(); }
}
}
fcn copy{self(self)}
fcn toString{"(%s,%d)".fmt(center.toString(),radius)}
}
// see if various constructors work
Point(); Point(1); Point(1,2), Point(Point());
Circle(); Circle(1); Circle(1,2); Circle(1,2,3);
Circle(Point()); Circle(Point(),1);
Circle(Circle());
c:=Circle(1,2,3);
c.println(); c.center.println();
c.copy().println();