这里是Erlang的新手......我需要从List中的原始数据中提取IEEE 754浮点值.例如解码:[42,91,0,0]应该等于72.5并且还将浮点数转换为列表编码:72.5应该转换为[42,91,0,0]是否有任何库支持这些操作?什么是最佳做法?提前致谢.
好吧,我在这里做错了什么.我正在尝试从http://yaws.hyber.org/embed.yaws中使用appmod 的嵌入式YAW的简单示例.我添加了my_app.erl文件并进行了编译.如果没有嵌入式YAW,它可以工作,所以我认为它是嵌入式的.
-module(ybed).
-compile(export_all).
start() ->
{ok, spawn(?MODULE, run, [])}.
run() ->
Id = "embedded",
GconfList = [{ebin_dir, ["/Users/someuser/yawsembedded/ebin"]}],
Docroot = "/Users/someuser/yawstest",
SconfList = [{port, 8888},
{listen, {0,0,0,0}},
{docroot, Docroot},
{appmods, [{"/", my_app}]}
],
{ok, SCList, GC, ChildSpecs} =
yaws_api:embedded_start_conf(Docroot, SconfList, GconfList),
[supervisor:start_child(ybed_sup, Ch) || Ch <- ChildSpecs],
yaws_api:setconf(GC, SCList),
{ok, self()}.
Run Code Online (Sandbox Code Playgroud)
得到此错误:
ERROR erlang code threw an uncaught exception:
File: appmod:0
Class: error
Exception: undef
Req: {http_request,'GET',{abs_path,"/demo"},{1,1}}
Stack: [{my_app,out,
[{arg,#Port<0.2721>,
{{127,0,0,1},63720},
{headers,"keep-alive",
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"0.0.0.0:8888",undefined,undefined,undefined,undefined,
undefined,undefined,undefined,
"Mozilla/5.0 (Macintosh; …Run Code Online (Sandbox Code Playgroud) 我试图在嵌入式模式的应用程序(作为dep)中使用YAWS.我正在使用rebar3.我的应用程序通过rebar3(经过一些调整后)得到雅虎并且发布很好,但是当我启动它时,YAWS正在崩溃.它似乎正在尝试启动,即使它应该处于嵌入模式.
我正在尝试将yaws.app.src配置为嵌入式模式env,如下所示:
{application,yaws,
[{description,"yaws WWW server"},
{vsn, {cmd, "sed -ne '1,/^YAWS_VSN=/s/^YAWS_VSN=//p' vsn.mk 2>/dev/null"}},
{modules,[]},
{registered, []},
{mod,{yaws_app,[]}},
{env, [
{embedded, true} % true | false
]},
{applications,[kernel,stdlib@APPDEPS@]}]}.
Run Code Online (Sandbox Code Playgroud)
我认为它是自动启动的,因为它在我的app.src文件中列为应用程序.(虽然不确定)如果我从这里删除我没有获得YAW版本的文件.但是在启动时它正在寻找配置文件而不是像嵌入式模式那样.
=INFO REPORT==== 2-Sep-2015::19:00:58 ===
Yaws: Using config file /Users/someuser/csvp/_build/default/lib/yaws/etc/yaws/yaws.conf
Run Code Online (Sandbox Code Playgroud)
我错过了什么?为什么它仍在启动以及它为什么使用配置文件?
我是 Erlang 新手,试图找出函数调用的默认值的最佳方法,这需要多个变量和/或也不想按特定顺序输入参数。我目前正在使用这种基于 Clojure 方式的松散格式。在Erlang中是否有更好的方式或方法来实现这一点?我还提供了一个 Clojure 示例作为参考:
二郎版本:
some_function_with_defaults() ->
some_function_with_defaults(#{}).
some_function_with_defaults(Map) ->
Defaults = #{
arg1 => 0, % arg1 default value
arg2 => 1, % arg2 default value
arg3 => 2 % arg3 default value
},
Arguments = maps:merge(Defaults,Map),
#{arg1 := Arg1} = Arguments,
#{arg2 := Arg2} = Arguments,
#{arg3 := Arg3} = Arguments,
%% Do something with arguments
[Arg1,Arg2,Arg3].
%% Example call using only defaults
%% some_function_with_defaults().
%%
%% [0,1,2]
%% Example call specifying a specific value …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用已经在另一个独立项目中运行的代码而没有问题.
当我将此代码带入我的其他最终项目时,它表示找不到'cmath'文件.
带有#include的文件位于.hpp文件中(它只为opengl文件定义了一些结构),因此没有相应的.mm文件.(这是C++代码,我主要是一个客观的用户,所以不确定所有的c ++东西)但这是opengl的东西,并且工作正常,我们不在这个项目中.
我已经尝试了一切来完成这项工作.
带有问题的最终项目还有其他代码使用#include而没有问题.这几乎就像某些东西导致xcode不再识别标题的路径了.我检查了它的文件类型是"默认C++标题"
在最后的项目中,我使用Zxing并使用CorePlots.不确定它们是否造成任何问题.还有一些文件使用#include不确定是否可能与#incude冲突.(但#include的其他文件再次正常工作.
任何帮助将不胜感激...