Tire.frink

Download or view Tire.frink in plain text format


/** This is a class that parses information about a tire maybe using American
    tire specifications.  */

class Tire
{
   var width
   var aspect
   var wheelDiameter
   var construction
   var sidewallHeight
   var tireDiameter

   /** Construct a new tire specification from a string like "265/50 R 20" */
   new[str] :=
   {
      if [usage, width, aspect, construction, wheelDiameter] = str =~ %r/^([A-Z]+)\s*(\d+)\s*\/\s*(\d+)\s*([A-Z]+?)\s*(\d+)/i
      {
         println["matched $str"]
         width = eval[width] mm
         println["width is parsed as $width"]
         aspect = eval[aspect]
         wheelDiameter = eval[wheelDiameter] in
         println["wheel diameter is $wheelDiameter"]
         println["Construction is $construction"]
         sidewallHeight = aspect/100 width
         tireDiameter = wheelDiameter + 2 sidewallHeight
      } else
      {
         println["unmatched line $str"]
         
      }
   }

   /** See https://mathworld.wolfram.com/EllipticTorus.html */
   toroidVolume[] :=
   {
      a = sidewallHeight/2
      b = width/2
      c = (wheelDiameter / 2) + (sidewallHeight / 2)
      return 2 pi^2 a b c
   }
}


Download or view Tire.frink in plain text format


This is a program written in the programming language Frink.
For more information, view the Frink Documentation or see More Sample Frink Programs.

Alan Eliasen, eliasen@mindspring.com