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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/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
Formatting Iex中是否有默认启用千位分组(100_000)的开关_Formatting_Elixir_Elixir Iex - Fatal编程技术网

Formatting Iex中是否有默认启用千位分组(100_000)的开关

Formatting Iex中是否有默认启用千位分组(100_000)的开关,formatting,elixir,elixir-iex,Formatting,Elixir,Elixir Iex,请在Iex中设置一个开关以默认启用千位分组(例如100\u 000)。如果是的话,那真的很有帮助 否则,我们如何在IO.puts中指定它?没有本机选项来启用数字分组,如您根据所述 但是,如果将IEx与Integer和Float一起使用时,如果将其放在本地~/.IEx.exs文件中,则应使用以下操作来覆盖inspect的行为: defmodule PrettyNumericiInspect do def组(值:二进制,真), do:值|>分组依据(8) def组(值:十进制,真), do:值|>分

请在Iex中设置一个开关以默认启用千位分组(例如
100\u 000
)。如果是的话,那真的很有帮助


否则,我们如何在IO.puts中指定它?

没有本机选项来启用数字分组,如您根据所述

但是,如果将
IEx
Integer
Float
一起使用时,如果将其放在本地
~/.IEx.exs
文件中,则应使用以下操作来覆盖inspect的行为:

defmodule PrettyNumericiInspect do
def组(值:二进制,真),
do:值|>分组依据(8)
def组(值:十进制,真),
do:值|>分组依据(3)
def组(值:十六进制,真),
do:值|>分组依据(2)
def组(值:八进制,真),
do:值|>分组依据(4)
def组(值,u,u),
do:价值
当字节大小(值)>n do时,按(值,n)解除分组
大小=字节大小(值)
箱子尺寸|>rem(n)do
0 ->
(对于>,,
加入:[],
do:g)
|>Enum.join(“”)
r->
{head,tail}=value |>String.split_位于(r)
[head,group_by(tail,n)]|>Enum.join(“|”)
结束
结束
defp分组依据(值,u),
do:价值
结束
defimpl检查,用于:浮子do
def inspect(thing,%inspect.Opts{pretty:pretty})do
[head,tail]=IO.iodata_to_binary(:IO_lib_format.fwrite_g(thing))
|>String.split(“.”,部分:2)
[PrettyNumericiInspect.group(头,:十进制,漂亮),尾]
|>枚举连接(“.”)
结束
结束
定义检查,用于:整数do
def inspect(thing,%inspect.Opts{base:base,pretty:pretty})do
整数到字符串(东西,基值到值(基))
|>PrettyNumericiInspect.group(基本、漂亮)
|>前置前缀(基本)
结束
defp base_至_值(base)do
案例库
:二进制->2
:十进制->10
:八进制->8
:十六进制->十六进制
结束
结束
defp prepend_前缀(值,:十进制),do:value
defp prepend_前缀(值,基)do
前缀=案例库do
:二进制->“0b”
:八进制->“0o”
:十六进制->“0x”
结束
前缀值
结束
结束
要显示数字分组,必须将
Inspect.Opts
选项
:pretty
设置为
true
。根据文档,默认情况下应启用pretty inspect

启动
iex
时,您将看到关于重新定义
Inspect.Float
Inspect.Integer
的两条警告,但之后它应继续正常工作:

iex>100_000
100_000
iex>100_000.1
100_000.1
它还支持对不同的
:base
选项进行分组(
:binary
:decimal
:octall
:hex
):

iex>inspect 0b111111_11111111,base::binary,pretty:true
“0b11111111_11111111”
iex>inspect 999_999,base::decimal,pretty:true
"999_999"
iex>检查0o7777_7777,基::八进制,漂亮:真
“0o7777_7777”
iex>inspect 0xFF\u FF,base::hex,pretty:true
“0xFF\U FF”

不是答案,而是在iex中键入“h(iex)”(减去双引号)——这将为您提供有关在iex中可以做什么的更多详细信息。您还可以键入h(IO.puts)。我想简单的答案是在任何情况下都没有这样的切换。谢谢,它实际上是:h(IEx)这就是我键入的。实际上没有。。。h(Iex)会给出错误,是h(Iex)起作用(至少在windows上)哦——嗯。我现在跟着你。如果我能编辑我的评论,我会的。