Elixir:作为函数处理的方法参数
我试图打印二叉树中给定级别的节点。我已经写了一个方法来实现这一点,并编写了一个guard子句来处理基本条件(我没有在问题中包括) 这种方法给了我错误的说法 height-1”看起来像一个函数调用,但有一个名为“height”的变量,请使用显式括号甚至空格 (stdlib)lists.erl:1353::lists.mapfoldl/3 (stdlib)lists.erl:1354::lists.mapfoldl/3Elixir:作为函数处理的方法参数,elixir,Elixir,我试图打印二叉树中给定级别的节点。我已经写了一个方法来实现这一点,并编写了一个guard子句来处理基本条件(我没有在问题中包括) 这种方法给了我错误的说法 height-1”看起来像一个函数调用,但有一个名为“height”的变量,请使用显式括号甚至空格 (stdlib)lists.erl:1353::lists.mapfoldl/3 (stdlib)lists.erl:1354::lists.mapfoldl/3 简短回答:将height-1替换为height-1 由于函数可以在Elixir中
简短回答:将
height-1
替换为height-1
由于函数可以在Elixir中无括号调用,height
后接-
后接1
可以表示height
减去1
,也可以使用参数-1
调用函数height
。Elixir决定x-1
和x-1
应该表示>x
减去1
而x-1
应该发出一个错误(可能),因为它看起来像是在调用函数,并要求用户使用x-1
或x-1
或x(-1)
def get_node_at_level(root, height) do
get_node_at_level(root.left, height -1)
get_node_at_level(root.right, height -1)
end