Sha256: 05a41d604946d11108838fd9608d5415dd827491b8ab32086cf1a7888bd16add

Contents?: true

Size: 384 Bytes

Versions: 221

Compression:

Stored size: 384 Bytes

Contents

function! Anagram(word, candidates) abort
  let fp = s:fingerprint(a:word)
  let matches = []

  for cand in a:candidates
    if cand ==? a:word
      continue
    elseif s:fingerprint(cand) ==? fp
      let matches += [cand]
    endif
  endfor

  return sort(matches)
endfunction

function! s:fingerprint(word) abort
  return sort(reverse(split(tolower(a:word), '\zs')))
endfunction

Version data entries

221 entries across 221 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.179 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.178 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.177 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.176 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.175 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.174 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.173 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.172 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.171 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.170 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.169 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.167 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.166 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.165 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.164 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.163 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.162 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.161 tracks/vimscript/exercises/anagram/example.vim
trackler-2.2.1.160 tracks/vimscript/exercises/anagram/example.vim