我是Elixir的新手。我正在嘗試在模塊中運行一個函數。我在文件中的代碼如下:變量在訪問elixir中的模塊中的函數時不存在編譯錯誤
warning: variable "greeter" does not exist and is being expanded to "greeter()", please use parentheses to remove the ambiguity or change the variable name
functions.ex:1
== Compilation error in file functions.ex ==
** (CompileError) functions.ex:1: undefined function greeter/0
(stdlib) lists.erl:1354: :lists.mapfoldl/3
(elixir) expanding macro: Kernel.defmodule/2
functions.ex:1: (file)
我無力解決給定的錯誤:
defmodule greeter do
def print() do
IO.puts "Hello workd"
end
def print(name) do
IO.puts "Hello " <> name
end
defp print(name,age) do
IO.puts "Hello " <>name<>" My age is "<> age
end
end
greeter.print()
greeter.print("Xyxss")
當我在我的命令行我碰到下面的錯誤運行elixirc filename.ex
。有人可以幫助我嗎?
我不知道我會說他的答案是「明顯錯誤的」 - 更多的問題與他誤解最初的大寫字母在代碼中做了什麼。他有點正確,但是出於錯誤的原因。 –
@OnorioCatenacci我承認我誇大了措辭,但是「在萬靈藥中,模塊被寫成大寫」是一種騙局。這裏最主要的是要首先了解根本原因,而不是寫一切以大寫字母開頭的東西。而從erlang導出的btw模塊仍然是lowercased':observer.start'。 – mudasobwa