相关疑难解决方法(0)

如何在elixir模块中创建全局变量

我在elixir中有以下代码:

def get_trackerid(imei) do
  client = get_new_client()
  {:ok, result} = :cqerl.run_query(client, "SELECT * FROM trackers_by_imei where imei = \'#{imei}\';")
  row = :cqerl.all_rows(result)
end
Run Code Online (Sandbox Code Playgroud)

现在,现在许多函数都在调用get_trackerid函数,每次调用函数时,都会调用数据库.

有没有办法在elixir中编写函数,结果存储在局部变量中.因此,当下次请求同一个imei的trackerid时,我可以从本地变量本身获取数据.

我认为elixir中没有全局变量的概念,所以这不是一个选项,对吧?

elixir

8
推荐指数
2
解决办法
7681
查看次数

Elixir 中如何声明全局常量?

Elixir 似乎是一种很棒的语言。但是声明全局常量的最佳约定是什么?

我希望模块属性可能是最合适的解决方案?

交换下面的 Horizo​​ntal_line 定义可以修复编译错误。

defmodule ElixirTesting do

  horizontal_line = String.duplicate("-", 80)
#  def horizontal_line, do: String.duplicate("-", 80)

  def test_global_constant do
    IO.puts(horizontal_line)
    IO.puts("Console Report Section Title")
    IO.puts(horizontal_line)
    true
  end

end
Run Code Online (Sandbox Code Playgroud)

elixir

3
推荐指数
1
解决办法
1009
查看次数

标签 统计

elixir ×2