问题标签 [elixir-iex]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
elixir - Elixir 睡眠/等待 1 秒
如何休眠/等待一秒钟?
我能找到的最好的东西是这样的(在iex中):
但是我的两次看跌都没有延迟。
elixir - 我可以自定义 Elixir iex 以使用 ctrl-D 退出吗?
我知道几种退出方法,iex
但我喜欢像在其他 REPL 中一样使用 ctrl-D(例如node
, irb
.)
我该如何定制iex
才能做到这一点?
functional-programming - Elixir中等号的确切含义是什么?
我不明白 Elixir 中等号的确切含义。不清楚的是,它看起来像是赋值和模式匹配操作的混合。
我知道在 Elixir 中,等号运算符意味着将 = 符号的左侧与右侧匹配。前两行对我来说很有意义。x 和 y 是未绑定的变量,因此它们可以匹配任何东西。它们在匹配时被绑定。因此,我理解第三行。你不能将 3 与 5 匹配。
我开始失去理智的地方是为什么执行最后两行而没有给出相同的错误。看起来等号只是重新成为赋值运算符。
我试图在没有完全理解的情况下接受这种行为作为一个事实,并试图在语言学习中走得更远。但是由于模式匹配是 Elixir 的核心机制之一,我一直处于锁定状态,觉得我应该回到这个最初的问题。在我完全理解“=”符号到底发生了什么以及逻辑是什么之前,我不会再进一步了。
elixir - iex,如何有效地重新加载结构?
我找到了一个最小的例子,它显示了我在学习 Elixir 时遇到的一个问题。
我写了一个脚本:
用于iex "filename"
启动iex
会话检查它是否适用P.geta(%P{a: 42})
然后我将文件更改为
当我启动时iex
,它失败了:
我可以通过删除除定义之外的文件内容、启动 iex、粘贴回文件内容并重新启动 iex 来解决此问题。在我看来,旧结构似乎被 iex以某种方式缓存。
两个问题:
- 这是错误还是设计决定?
- 有没有更聪明的方法来解决它?
elixir - 我怎样才能摆脱 `iex` 的糟糕状态?
使用 时iex
,我有时会不小心创建一个不完整的表达式。一个简单的例子:
如果我在这里提供缺少的)
东西,一切都会好起来的,但有时我看不出我做错了什么。
有没有办法放弃当前的表达方式 - 说,“实际上,忘记这一点,只是让我回到工作提示?” Control + C
没有解决它;我的选择是(a)bort
完全杀死外壳,或者(c)ontinue
尝试自己弄清楚。
相比之下,irb
如果我按下 Ruby,Ruby 就会忘记不完整的表达式Control + C
。
如何从 Elixir shell 中的错误中恢复?
elixir - 如何避免iex内的ecto日志?
我有一个创建数据库查询的工作人员,如下所示:
一切都很好,除了一件事。当我打开时iex -S mix
,我会在我的 shell 中收到很多 ecto 调试消息,例如:
我怎样才能避免这种情况?
command-line-interface - 如何在启动 iex 会话时执行一些命令?
假设我想在项目的根路径中启动 iex 时执行一些命令,例如:
我想在每次启动 iex 时自动执行所有这些命令。我想要的另一件事是只为一个项目进行此设置(例如,我不会MyApp.User
在另一个项目上进行此设置,因此我不需要在系统的所有 iex 中使用它)。我怎样才能做到这一点?
elixir - 将 iex 会话附加到正在运行的 elixir/OTP 进程
我有一个在生产中运行的 elixir/OTP 应用程序,它以mix phoenix.server
. 它有几个保持状态的进程。其中之一是作为代理实现的存储,当前具有我想手动更改的状态,而无需停止整个应用程序。一旦我在应用程序内的 iex 会话中,这将是微不足道的,但我不知道这样的选项在 elixir 中是否可行?