# makeAnagram, there is an error that i cannot find in my code

**URL:** <https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032>\
**Category:** General Usage\
**Created:** [September 21, 2019, 4:43pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032 "2019-09-21T16:43:41Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [September 21, 2019, 4:43pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/1 "2019-09-21T16:43:41Z")

</div>

i need to write a function for two strings, and , that may or may not be of the same length, determine the minimum number of character deletions required to make and anagrams. Any characters can be deleted from either of the strings.  
For example, if and , we can delete from string and from string so that both remaining strings are and which are anagrams.  
for example = a = cde , b = abc ; we delete from a → de and from b → ab so we return 4.

```nohighlight

function makeAnagram(a::String,b::String) 

  count = 0
  map = Dict{String, Int}()
  for value in a
     if !haskey(map, value)
       map[value]=1
      continue
     end
  end
   for value in b
     if !haskey(map, value)
       count+=1
      continue
     end
     if haskey(map, value)
       map[value]-=1
      continue
     end
  end
     while haskey(map, value)
           count+=1
     end
return count 
end

a = ["a" , "b", "c"]
b = ["q"]
println("Total " , makeAnagram(a, b))

```

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [September 21, 2019, 5:06pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/2 "2019-09-21T17:06:02Z")

</div>

Okay but what is the question? 🙂

---

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [September 21, 2019, 5:06pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/3 "2019-09-21T17:06:42Z")

</div>

there is an error that i cannot find where is that

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [September 21, 2019, 5:43pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/4 "2019-09-21T17:43:10Z")

</div>

So what is the error message?

---

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [September 21, 2019, 5:44pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/5 "2019-09-21T17:44:58Z")

</div>

i use repl.it for compiling.  
this is the error

julia version 1.1.0  
error during bootstrap:  
LoadError(“main.jl”, 30, MethodError(makeAnagram, ([“a”, “b”, “c”], [“q”]), 0x00000000000063e2))  
rec\_backtrace at /buildworker/worker/package\_linux64/build/src/stackwalk.c:94  
record\_backtrace at /buildworker/worker/package\_linux64/build/src/task.c:217 [inlined]  
jl\_throw at /buildworker/worker/package\_linux64/build/src/task.c:417  
jl\_method\_error\_bare at /buildworker/worker/package\_linux64/build/src/gf.c:1649  
jl\_method\_error at /buildworker/worker/package\_linux64/build/src/gf.c:1667  
jl\_apply\_generic at /buildworker/worker/package\_linux64/build/src/gf.c:2195  
do\_call at /buildworker/worker/package\_linux64/build/src/interpreter.c:323  
eval\_value at /buildworker/worker/package\_linux64/build/src/interpreter.c:411  
eval\_stmt\_value at /buildworker/worker/package\_linux64/build/src/interpreter.c:362 [inlined]  
eval\_body at /buildworker/worker/package\_linux64/build/src/interpreter.c:773  
jl\_interpret\_toplevel\_thunk\_callback at /buildworker/worker/package\_linux64/build/src/interpreter.c:885  
Interpreter frame (ip: 0)  
Core.CodeInfo(code=Array{Any, (3,)}[  
Expr(:call, :makeAnagram, :a, :b),  
Expr(:call, :println, "Total ", SSAValue(1)),  
Expr(:return, SSAValue(2))], codelocs=Array{Int32, (3,)}[1, 1, 1], method\_for\_inference\_limit\_heuristics=nothing, ssavaluetypes=3, linetable=Array{Any, (1,)}[Core.LineInfoNode(mod=Main, method=Symbol(“top-level scope”), file=:none, line=0, inlined\_at=0)], ssaflags=Array{UInt8, (0,)}, slotflags=Array{UInt8, (0,)}, slotnames=Array{Any, (0,)}, inferred=false, inlineable=false, propagate\_inbounds=false, pure=false)jl\_interpret\_toplevel\_thunk at /buildworker/worker/package\_linux64/build/src/interpreter.c:894  
jl\_toplevel\_eval\_flex at /buildworker/worker/package\_linux64/build/src/toplevel.c:764  
jl\_parse\_eval\_all at /buildworker/worker/package\_linux64/build/src/ast.c:883  
jl\_load at /buildworker/worker/package\_linux64/build/src/toplevel.c:826  
exec\_program at /gocode/src/github.com/replit/prybar/languages/julia/pry.h:48  
runtime.asmcgocall at /usr/lib/go-1.10/src/runtime/asm\_amd64.s:688

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [September 21, 2019, 5:50pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/6 "2019-09-21T17:50:39Z")

</div>

Well, if I paste your code into the repl I get a different error:

```julia
julia> println("Total " , makeAnagram(a, b))
ERROR: MethodError: Cannot `convert` an object of type Char to an object of type String
Closest candidates are:
  convert(::Type{T<:AbstractString}, ::T<:AbstractString) where T<:AbstractString at strings/basic.jl:207
  convert(::Type{T<:AbstractString}, ::AbstractString) where T<:AbstractString at strings/basic.jl:208
  convert(::Type{T}, ::T) where T at essentials.jl:154
Stacktrace:
 [1] setindex!(::Dict{String,Int64}, ::Int64, ::Char) at ./dict.jl:373
 [2] makeAnagram(::String, ::String) at ./REPL[1]:7
 [3] top-level scope at none:0

julia> 

```

On which operating system do you work?  
Does your Repl work at all?  
Try:

```julia
julia> 1+1
2

julia> sin(pi)
1.2246467991473532e-16

julia> versioninfo()
Julia Version 1.1.0
Commit 80516ca202 (2019-01-21 21:24 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: Intel(R) Core(TM) i7-4800MQ CPU @ 2.70GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-6.0.1 (ORCJIT, haswell)
Environment:
  JULIA_NUM_THREADS = 1

```

---

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [September 21, 2019, 5:56pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/7 "2019-09-21T17:56:08Z")

</div>

yes my repl is work

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [September 21, 2019, 5:59pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/8 "2019-09-21T17:59:03Z")

</div>

What is your output of “versioninfo()”?

---

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [September 21, 2019, 6:10pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/9 "2019-09-21T18:10:23Z")

</div>

1.1.0

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [September 21, 2019, 6:28pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/10 "2019-09-21T18:28:47Z")

</div>

Well, this is not the output of the function versioninfo().

Sorry, but I have the impression that you want someone else do your homework for you and that you not even sit at a computer that has Julia installed. ☹

---

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [September 21, 2019, 6:34pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/11 "2019-09-21T18:34:00Z")

</div>

Dear, I just learn this language and what I asked is to look on the code that I write and check if the logic is fine. What I mean is

1. if the definition of string in the func is write.
2. The if like that definition an array of string.  
a = [“a” ,“b”]

That what I need  
Thank

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [September 21, 2019, 6:37pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/12 "2019-09-21T18:37:37Z")

</div>

Well, I am sorry, but I cannot help you if you do not have access to a computer where Julia is installed. If you only have access to a web-browser you could try Julia box:  
[https://www.juliabox.com/](https://www.juliabox.com/)

---

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [September 21, 2019, 7:19pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/13 "2019-09-21T19:19:26Z")

</div>

can any one help me with the syntex ? i am confused i dont know where is my error

---

<div class="post-metadata">

**Author:** ![oheil](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oheil/32/220745_2.png) [@oheil](https://discourse.julialang.org/u/oheil)\
**Post date:** [September 21, 2019, 7:38pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/14 "2019-09-21T19:38:11Z")

</div>

Your function makeAnagram has two strings, a and b, as input paramters.  
You try to call it with two arrays of (single letter) strings. As there is not function defined which expects two arrays of strings you are lost.  
Try

```julia
function makeAnagram(a::Array,b::Array)

```

Later on in your function body this part

```julia
while haskey(map, value)
       count+=1
end

```

will throw a Undefined error, because `value` is not defined.

---

<div class="post-metadata">

**Author:** ![Fuad\_Sami](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fuad_sami/32/16900_2.png) [@Fuad\_Sami](https://discourse.julialang.org/u/Fuad_Sami)\
**Post date:** [September 21, 2019, 7:47pm UTC](https://discourse.julialang.org/t/makeanagram-there-is-an-error-that-i-cannot-find-in-my-code/29032/15 "2019-09-21T19:47:28Z")

</div>

thanks a lot , its work
