Elixir

时间:2015-12-24 07:32:25

标签: json data-structures configuration elixir mix

我在使用外部应用程序配置时遇到了一些问题。我正在写一个基于文本的冒险游戏来学习Elixir。我正在考虑将“room”定义作为JSON存储在“assets”目录中。

以下是我的目录结构:

.
├── _build
│   ├── dev
│   └── test
├── assets
│   ├── rooms  <---
│   └── items
├── config
├── deps
│   └── poison
├── lib
│   └── myzork
└── test

我试过Application.app_dir/1&amp; Application.app_dir/2,但是当我使用_build时,iex -S mix下的参考文件。

如何将此目录与我的代码一起提供?是否有一种灵丹妙药来引用这些文件?或者我是以完全错误的方式解决这个问题?

1 个答案:

答案 0 :(得分:2)

如果您想在构建和发布应用程序时随身携带这些资产,我建议将它们放在g xs n = f $ drop n xs f [] = "" f ("":xs) = "" f (x:xs) = x ++ f xs 内(例如priv),以便priv/assets可以轻松检索它们

但是,您的用例表明您可能只在编译期间需要这些资产(为了在编译时生成这些房间的Elixir表示)。如果是这样,那么把它们放在你想要的任何地方,只要它们在任何地方阅读它们 - 使用像Application.app_dir(:my_app, "priv")这样的函数来构建它们的路径。