Sha256: c019902926cf7061208d125855f1ab81b927ff9cdea8bbffc336018e4acb4fcb
Contents?: true
Size: 665 Bytes
Versions: 1
Compression:
Stored size: 665 Bytes
Contents
require 'myrrha' PosInt = Myrrha::Domain.sbyc(Integer){|i| i>0} ### PosInt.class PosInt.superclass PosInt.ancestors PosInt === 10 PosInt === -1 PosInt.new(10) begin PosInt.new(-10) raise "Unexpected case: PosInt.new(-10) succeeds" rescue ArgumentError => ex puts ex.message end ### 10.is_a?(PosInt) 10.kind_of?(PosInt) ### rules = Myrrha.coercions do |r| r.coercion String, Integer, lambda{|s,t| Integer(s)} end rules.coerce("12", Integer) rules.coerce("12", PosInt) rules.coerce("-12", Integer) begin rules.coerce("-12", PosInt) raise "Unexpected case: rules.coerce('-12', PosInt) succeeds" rescue Myrrha::Error => ex puts ex.message end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
myrrha-2.0.0 | examples/sbyc_domain.rb |