# Error: can't use variable name 'some\_name' inside assignment to variable 'some\_name'

**URL:** <https://forum.crystal-lang.org/t/error-cant-use-variable-name-some-name-inside-assignment-to-variable-some-name/4965>\
**Category:** Help & Support\
**Created:** [September 24, 2022, 8:45am UTC](https://forum.crystal-lang.org/t/error-cant-use-variable-name-some-name-inside-assignment-to-variable-some-name/4965 "2022-09-24T08:45:15Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![zw963](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/zw963/32/1623_2.png) [@zw963](https://forum.crystal-lang.org/u/zw963)\
**Post date:** [September 24, 2022, 10:07am UTC](https://forum.crystal-lang.org/t/error-cant-use-variable-name-some-name-inside-assignment-to-variable-some-name/4965/3 "2022-09-24T10:07:18Z")

</div>

It works!

```crystal
  def keys
    keys = [] of String
    _keys = uninitialized (Array(String), Node?) ->

    _keys = ->(arr : Array(String), node : Node?) do
      return if node.nil?

      _keys.call(arr, node.left)
      arr << node.key unless node.key == ""
      _keys.call(arr, node.right)
    end

    _keys.call(keys, @root)

    keys
  end

```

Although, i have to use `return if node.nil?` instead `next if node.nil?`(in ruby), `return` return to the `_keys.call(...)`, not the method `keys`, this is expected, right?

Then, how to return to the `keys` method?

---

_[View the full topic](https://forum.crystal-lang.org/t/error-cant-use-variable-name-some-name-inside-assignment-to-variable-some-name/4965)._
