= typed-array
Gem provides enforced-type functionality to Arrays
Copyright (c) 2011 Ryan Biesemeyer
See LICENSE.txt for details
Ryan Biesemeyer mailto:ruby-dev@yaauie.com
== Example
=== Create Standard Class
require 'typed-array'
class Things < Array
extend TypedArray
restrict_types Thing1,Thing2
end
=== Generate Class using Factory
require 'typed-array'
things = TypedArray(Thing1,Thing2)
=== Adding items to the Array
All standard Array interfaces are implemented, including block-processing
and variable-number of arguments. For methods that would usually return an
Array, they instead return an instance of the current class (except to_a).
The difference is that if the method would generate an Array including the
wrong types, TypedArray::UnexpectedTypeException is raised and the call is
aborted before modifying the enforced TypedArray instance.
require 'typed-array'
symbols = TypedArray(Symbol).new([:foo,:bar,:baz,:bingo])
begin
integers = TypedArray(Integer).new([1,3,7,2,:symbol])
rescue TypedArray::UnexpectedTypeException
puts "An error occured: #{$!}"
end