Tak modul již mám připraven k použití a tak se podívám co s ním. Nejdříve jej musím importovat
require 'strongtyping' include StrongTyping
Tím jsm si zpřístupnil metody tohoto modulu. Ve svém programu mám metodu initialize třídy Cons
def initialize(car, cdr)
@car = car; @cdr = cdr
endNyní využiji z připraceného modulu metodu expect a zkontroluji typy předávaných parametrů car a cdr. Od těchto očekávám že jsou to objekty odvozené od třídy SExp
def initialize(car, cdr)
expect car, SExp, cdr, SExp
@car = car; @cdr = cdr
endPokud budou mít oba předávané parametry správny typ, nic se nestane a výpočet bude dále pokračovat. Ale pokud aspoň jeden parametr nebude mít správny typ, bude vyvolána výjimka StrongTyping::ArgumentTypeError.
