Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

getting a random word #33

Open
tansaku opened this issue Dec 8, 2021 · 0 comments
Open

getting a random word #33

tansaku opened this issue Dec 8, 2021 · 0 comments

Comments

@tansaku
Copy link

tansaku commented Dec 8, 2021

This is a great little gem, but I am having trouble modifying it. Checking out locally I can't run any tests - not sure what version of ruby it's supposed to run with ... here's the output I get trying to run the tests:

❯ rake test
/Users/samueljoseph/.rvm/rubies/ruby-2.7.5/bin/ruby -w -I"lib" /Users/samueljoseph/.rvm/gems/ruby-2.7.5/gems/rake-13.0.6/lib/rake/rake_test_loader.rb "test/unit/db_test.rb" "test/unit/lemma_test.rb" "test/unit/pointer_test.rb" "test/unit/synset_test.rb" 
RUBY_GC_HEAP_INIT_SLOTS=800000 (default value: 10000)
RUBY_GC_MALLOC_LIMIT=79000000 (default value: 16777216)
W, [2021-12-08T16:16:37.558747 #56128]  WARN -- :       This usage of the Code Climate Test Reporter is now deprecated. Since version
      1.0, we now require you to run `SimpleCov` in your test/spec helper, and then
      run the provided `codeclimate-test-reporter` binary separately to report your
      results to Code Climate.

      More information here: https://github.com/codeclimate/ruby-test-reporter/blob/master/README.md

rake aborted!
Command failed with status (1): [ruby -w -I"lib" /Users/samueljoseph/.rvm/gems/ruby-2.7.5/gems/rake-13.0.6/lib/rake/rake_test_loader.rb "test/unit/db_test.rb" "test/unit/lemma_test.rb" "test/unit/pointer_test.rb" "test/unit/synset_test.rb" ]
/Users/samueljoseph/.rvm/gems/ruby-2.7.5/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/Users/samueljoseph/.rvm/gems/ruby-2.7.5/bin/ruby_executable_hooks:22:in `eval'
/Users/samueljoseph/.rvm/gems/ruby-2.7.5/bin/ruby_executable_hooks:22:in `<main>'
Tasks: TOP => test
(See full trace by running task with --trace)

in a console it's trivial to grab a random word like so:

SPACE = ' '
cache = {}
WordNet::DB.open(File.join("dict", "index.noun")).each_line.each_with_index do |line, index|
   word = line.slice(0, line.index(SPACE))
   cache[word] = [line, index+1]
end

keys = cache.keys

keys[rand(keys.length)]

and I'd love to add a method like this to lemma.rb

      def rand(pos)
        pos = POS_SHORTHAND[pos] || pos

        cache = @@cache[pos] ||= build_cache(pos)
        keys = cache.keys
        keys[rand(keys.length)]
      end

and contribute back to the repo, but ... well ... I guess I can put in a PR. will monkey match for the time being I guess ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant