I’m very new to programming and am a beginner in Ruby. I’ve done a lot of searching to try to find the answers I need, but nothing seems to match what I’m looking for.
I need to make a program for work that will:
- Get keywords from the user
- Match those keywords with the same keywords in a database of sentences, and then
- Spit out randomized sentences that:
- contain all the keywords 1 time
- do NOT contain keywords not listed
- do NOT duplicate keywords
Important to know: Sentences all have a mix of several keywords, NOT one per sentence
1 & 2 are OK, I’ve been able to do those. My problem is with part 3. I’ve tried long lists of “if include?” parameters, but it never ends up working and I know there must be a better way to do this.
My grasp of Ruby (and programming generally) is basic and I don’t really know what it can and can’t do, so any tips or hints in what functions would be useful would be very very much appreciated.
If the match is found, why don’t you consecutively pop it out of your array/db? It will ensure no duplication, since that record would not be present to be matched later. No?
Consider this snippet:
db is database example and keyw contains keywords.
Corresponding output:
No duplication. 🙂