class NRSER::Types::Not

Negation {Type} - A {Type} that parameterizes another {#type} by admitting values that the {#type} does not.

@note

Construct {Not} types using the {.Not} factory.

Attributes

type[R]

The type this one isn't.

@return [Type]

Public Class Methods

new(type, **options) click to toggle source

Instantiate a new `NRSER::Types::Not`.

Calls superclass method
# File lib/nrser/types/not.rb, line 42
def initialize type, **options
  super **options
  @type = NRSER::Types.make type
end

Public Instance Methods

default_name() click to toggle source
# File lib/nrser/types/not.rb, line 61
def default_name
  "#{ NOT }#{ type.name }"
end
default_symbolic() click to toggle source
# File lib/nrser/types/not.rb, line 56
def default_symbolic
  "#{ NRSER::Types.Top.symbolic }#{ COMPLEMENT }#{ type.symbolic }"
end
explain() click to toggle source
# File lib/nrser/types/not.rb, line 66
def explain
  "#{ self.class.demod_name }<#{ type.explain }>"
end
test?(value) click to toggle source

Instance Methods

# File lib/nrser/types/not.rb, line 51
def test? value
  ! type.test( value )
end