TwilightCoders/erle

This depends on having Set loaded, it should require Set itself

Opened this issue · 0 comments

Steps to reproduce

irb(main):001:0> require 'erle'
NameError: uninitialized constant ERLE::Term::Set
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/erle-0.1.0/lib/erle/elements/term.rb:14:in `patterns'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/erle-0.1.0/lib/erle/elements/term.rb:18:in `pattern'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/erle-0.1.0/lib/erle/elements/numbers.rb:8:in `<class:Float>'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/erle-0.1.0/lib/erle/elements/numbers.rb:7:in `<module:ERLE>'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/erle-0.1.0/lib/erle/elements/numbers.rb:1:in `<top (required)>'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/erle-0.1.0/lib/erle.rb:9:in `<top (required)>'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:in `require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:133:in `rescue in require'
        from C:/Ruby24-x64/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:39:in `require'
        from (irb):1
        from C:/Ruby24-x64/bin/irb.cmd:19:in `<main>'
irb(main):002:0> require 'set'
=> true
irb(main):003:0> require 'erle'
=> true

Explanation

Set is part of the Ruby Standard Library, but not part of Ruby Core; thus, require 'set' is needed to load the Set class before using it; the erle gem instead leaves it up to the user to run require 'set' before require 'erle'.