elixir相关内容
在测试Phoenix应用程序时,我经常遇到比较预期记录ID和实际记录ID的情况.错误非常难以解释,因为Elixir始终将整数列表打印为字符列表,因此我的测试输出如下: 带有==的断言失败代码:assert H.sort(Enum.map(list1,&(& 1.id())))== H.sort(Enum.map(list2,&(& 1.id()))))左:"stu"右:"st" 这是在勉强我
..
我已经看到了许多GenServer实现,我正在尝试创建具有此类规范的实现,但是我不确定其GenServer的用例. 我有一个状态,例如 %{url:"abc.com/jpeg",名称:"Camera1",id :: camera_one,频率:10} 我有这100种状态,具有不同的值,我的用例包含5个步骤. 以Gen身份开始每个州{?}. 将HTTP请求发送到该URL. 获取
..
我想知道是否有一种方法可以确定数组是否是连续的和连续的.例如 arr = [1,2,3,4,5] Arr由于是连续且连续的,因此将返回true arr2 = [1,2,3,4,56] 这将返回false,因为56不在4之后.我已经尝试了很多方法,但是由于没有循环,所以很困难 解决方案 在这种情况下,助手并不像普通的老式裸递归那样简单.另外,这是一个很好的练习,因为您不能
..
我尝试了Jet Brains的Elixir插件,其中两个尝试了VS Code,但是到目前为止,没有一个可靠地带我了解功能和模块的定义.显然部分原因是因为elixir-lsp无法处理 scope 块内的内容( https://github.com/elixir-lsp/elixir-ls#known-issueslimitations ). 解决方案 对于通用Ctag,我有一个权宜之计.
..
我是Elixir/Erlang的新手.举例来说,我正在尝试学习如何订阅Websocket提要. 我已经复制了Websockex基本示例: defmodule WebSocketExample做使用WebSockexdef start_link(url,state)做WebSockex.start_link(URL,__MODULE__,状态)结尾def handle_frame({typ
..
我们正在使用 SeaweedFS ,它是用于存储(图像)文件的文件系统,它的工作原理是 rest api.我们正在尝试将数据从一台服务器移动到另一台服务器. 有几个级别的数据目录.存储图像的基本模式是 http://{server}:8888/ballymore-project-wave/snapshots/recordings/{year}/{month}/{day}/{hour}/0
..
我有一个名为 MyApp 的应用程序,每当我通过 iex -S mix 打开IEx会话时,都必须像这样调用存储库: MyApp.Repo.all(MyApp.User). 如果可以自动导入项目模块,以便只需要执行 Repo.all(User)来获得与上述相同的值,我会喜欢的. 有没有办法做到这一点? 解决方案 您可以使用使用en .iex.exs文件进行别名.您创建文件并添加:
..
我正在使用 mix compile 编译我的应用程序,并且依赖项 salty 发生错误. 我已经添加了依赖项 salty 和 libsodium .但是错误仍然无法解决. 这是我的 mix.exs 文件,其中包含所有依赖项. defp deps做[{:poison,“〜> 3.0",覆盖:true},{:syndicate,in_umbrella:true},{:xarango,“
..
我将如何查找Elixir中是否存在一个子位串和另一个位串?我需要验证位串X是否存在于位串Y中以进行测试.有没有简单的方法可以使用现有功能执行此操作? x ="bar"y ="foo bar baz"some_substring_function(x,y) 使用 some_substring_function 返回真实值. 提前谢谢! 解决方案 您可以使用 =〜运算符: i
..
我在AJAX请求中发送了2个大型查询字符串,这些请求基本上是jpeg的Base64编码.如果相机不是高分辨率相机,则AJAX请求不会中止. 起初,我认为这是一个Nginx问题,因为由于 request实体太大而出现错误,所以我解决了该问题,然后我对Plug进行了更改, 插入Plug.Parsers,解析器:[:urlencoded,{:multipart,长度:20_000_000},:j
..
我正在与Phoenix一起在Elixir中开发一个简单的网站.我想添加一些自定义中间件,该中间件在生成响应后 即可运行.例如,为了记录每个响应中的字节总数,我想要一个这样的插件 defmodule HelloWeb.Plugs.ByteLogger做导入Plug.Conn需要记录仪def init(默认),执行:默认def调用(conn,默认)log(“发送的字节数:#{String.leng
..
我正在尝试实现此答案中所述的内容,但是我遇到了类似我自己的错误我在编译应用程序时将其包含在下面. **(混合)无法启动应用程序工作程序:Workers.Application.start(:normal,[])返回错误:关机:无法启动子程序:{Workers.UrlSupervisor,2}**(退出)已经开始:#PID 我不确定我是否天生就在做不允许做的事情,或
..
嗨,我正在使用不同的域名来加载不同的数据集.我目前正在使用自定义插件根据主机名加载正确的域ID.例如.在路由器之前将其保存在我的 endpoint.ex 中: 插入WebApp.DomainCheck套接字"/live",Phoenix.LiveView.Socket,网络套接字:[connect_info:[会话:@session_options]]...插入WebApp.Router 还
..
我刚刚在Phoenix应用程序中的模板中更改了图像路径,然后重新加载了页面.此错误消息出现在浏览器中: GET中的 CompilationError/显示控制台输出==文件web/views/page_view.ex上的编译错误==**(CompileError)web/views/page_view.ex:1:无法定义模块Youli.PageView,因为当前正在web/views/pag
..
所以我一直在和Elixir玩,对某些事情有些困惑: iex>[1 |[2]]//[1,2](预期)iex>[1 |2]//[1 |2](是吗?) 我的困惑在于为什么第二个版本会执行它的工作.我知道 2 不是列表,所以它不能将"head"和"tail"连接起来,但是,我认为,当尾部不是列表时,它应该抛出一个错误.我一直在尝试考虑这种情况的用例,但是空手而归.如果有人能解释为什么这是理想的行为
..
使用此功能,& 1 指的是什么? 枚举映射[1、2、3、4],&(& 1 * 2) 解决方案 & 1 引用回调函数将接收的第一个参数.和号本身(& )是捕获功能的简写.这就是您可以扩展该功能的方式. Enum.map([1,2,3,4],fn x-> x * 2结尾) fn-> 等于&(...... x->x 等于 ...(& 1 可以在此处
..
我想知道最常见的方式是使用 URI 将查询字符串添加到Elixir中的基本URI. 我目前正在做这样的事情: iex(1)>base ="http://example.com/endpoint""http://example.com/endpoint"iex(2)>query_string = URI.encode_query(foo:"bar")"foo = bar"iex(3)>ur
..
我有这个: case test123(&(:some_module.test456(789)))做#...结尾 一个错误: &的无效args,期望使用& Mod.fun/arity格式的表达式,& local/arity或包含至少一个参数为& 1的捕获,得到了::some_module.test456(789) 但是,我没有要传递给它的参数,以前它只是 fn(_)->:some_
..
我正在尝试从列表中查找非重复值,例如 原始列表: iex>列表= [2、3、4、4、5、6、6、6、7、8、8、8、9、9、10、10、10][2、3、4、4、5、6、6、7、8、8、8、9、9、10、10、10]iex>唯一= Enum.uniq(清单)[2、3、4、5、6、7、8、9、10]iex>非重复=唯一-Enum.uniq(列表-唯一)[2、3、5、7] 结果:[2、3、
..
我如何为接受一个具有默认值的参数的函数编写类型规范?类似于以下内容: def foo(bar \\ 10)做酒吧结尾 会是这样吗 @spec foo(integer)::整数 那会是什么? 谢谢. 解决方案 是. 我要补充一点,如果您的问题是具有默认值的参数的函数的类型规范与没有默认值的函数的类型规范之间是否存在差异,那么就没有区别了.
..