Sha256: 68619faf95413a33af760634d2658d0a9c883e57729062bfc689e3e7c75027f1

Contents?: true

Size: 469 Bytes

Versions: 396

Compression:

Stored size: 469 Bytes

Contents

module Anagram
  extend self

  def find(subject, candidates)
    matches = Array(String).new
    candidates.each do |candidate|
      if !duplicates?(subject, candidate) && anagrams?(subject, candidate)
        matches << candidate
      end
    end
    matches
  end

  def anagrams?(subject, candidate)
    subject.downcase.chars.sort == candidate.downcase.chars.sort
  end

  def duplicates?(subject, candidate)
    subject.downcase == candidate.downcase
  end
end

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.2.1.98 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.97 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.96 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.95 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.94 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.93 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.92 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.91 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.90 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.89 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.88 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.87 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.86 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.85 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.84 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.83 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.82 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.81 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.80 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.2.1.79 tracks/crystal/exercises/anagram/src/example.cr