Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Elixir打印十六进制整数_Elixir_String Formatting - Fatal编程技术网

使用Elixir打印十六进制整数

使用Elixir打印十六进制整数,elixir,string-formatting,Elixir,String Formatting,我可以在Erlang中执行此操作: io:fwrite("~.16X~n", [-31,"0x"]). -0x1F ok 但不是长生不老药: :io.fwrite(“.16X~n,[-31,0x]”) **(ArgumentError)参数错误 (stdlib):io.format(#PID,“.16X~n”,[-31,“.0x]”) 为什么不呢?添加@Dogbert的评论作为答案: 尝试使用单引号: :io.fwrite('~.16X~n', [-31, '0x']) 另一个解释:Eli

我可以在Erlang中执行此操作:

io:fwrite("~.16X~n", [-31,"0x"]).
-0x1F
ok
但不是长生不老药:

:io.fwrite(“.16X~n,[-31,0x]”)
**(ArgumentError)参数错误
(stdlib):io.format(#PID,“.16X~n”,[-31,“.0x]”)


为什么不呢?

添加@Dogbert的评论作为答案:

尝试使用单引号:

:io.fwrite('~.16X~n', [-31, '0x'])

另一个解释:Elixir中的单引号表示字符列表(有关更多详细信息,请参阅)。Erlang
fwrite
函数需要的字符列表不是长生不老药二进制文件,因此双引号不起作用,而单引号起作用

为什么不使用
Integer.to_string/2

iex(1)> Integer.to_string(-31, 16)
"-1F"

试试单引号:
:io.fwrite('~.16X~n',[-31',0x'])