查看源码 c (stdlib v6.2)
命令行接口模块。
此模块允许用户输入一些常用命令的简短形式。
注意
这些函数仅用于 Erlang shell 中的交互式使用。可以省略模块前缀。
另请参阅
摘要
函数
进程的堆栈回溯。等同于 erlang:process_display(Pid, backtrace)
。
作用类似于 c(Module, [])
。
编译,然后清除并加载模块的代码。Module
可以是模块名称或源文件路径,带有或不带有 .erl
扩展名。
编译,然后清除并加载模块 Module
的代码,该模块必须是一个原子。
将工作目录更改为 Dir
,它可以是相对名称,然后打印新工作目录的名称。
搜索 PathList
并在找到时加载 .erlang
资源文件。
刷新发送到 shell 的任何消息。
打印 Module
的文档
打印所有 Module:Function
的文档(无论参数数量如何)。
打印 Module:Function/Arity
的文档。
打印 Module
的回调文档
打印所有 Module:Callback
的回调文档(无论参数数量如何)。
打印 Module:Callback/Arity
的回调文档。
显示帮助信息:所有有效的 shell 内部命令和此模块中的命令。
打印 Module
的类型文档
打印 Module
中 Type
的类型文档,无论参数数量如何。
打印 Module
中 Type/Arity
的类型文档。
显示有关进程的信息。等同于 process_info(pid(X, Y, Z))
,但位置透明。
通过调用 code:purge(Module)
,然后调用 code:load_file(Module)
来清除和加载或重新加载模块。
通过为 Files
中的每个 File
调用 compile:file(File, [report_errors, report_warnings])
来编译文件列表。
列出当前目录中的文件。
列出目录 Dir
中的文件,或者,如果 Dir
是一个文件,则仅列出该文件。
显示有关已加载模块的信息,包括加载它们的源文件。
显示有关 Module
的信息。
内存分配信息。等同于 erlang:memory/0
。
内存分配信息。等同于 erlang:memory/1
。
列出所有已修改的模块。是 code:modified_modules/0
的简写。
在所有节点上编译并加载文件的代码。Options
默认为 []
。编译等同于
在所有节点上加载 Module
。
将 X
、Y
、Z
转换为 pid <X.Y.Z>
。此函数仅在调试时使用。
打印工作目录的名称。
此函数是 init:stop()
的简写,即它使节点以受控方式停止。
以人类可读的形式打印节点正常运行时间(由 erlang:statistics(wall_clock)
指定)。
通过调用 xref:m/1
,在模块中查找未定义的函数、未使用的函数以及对已弃用函数的调用。
生成 LALR-1 解析器。等同于
生成 LALR-1 解析器。等同于
类型
-type h_return() :: ok | {error, missing | {unknown_format, unicode:chardata()}}.
-type hcb_return() :: h_return() | {error, callback_missing}.
-type hf_return() :: h_return() | {error, function_missing}.
-type ht_return() :: h_return() | {error, type_missing}.
函数
-spec bt(Pid) -> ok | undefined when Pid :: pid().
进程的堆栈回溯。等同于 erlang:process_display(Pid, backtrace)
。
作用类似于 c(Module, [])
。
-spec c(Module, Options) -> {ok, ModuleName} | error when Module :: file:name(), Options :: [compile:option()] | compile:option(), ModuleName :: module().
编译,然后清除并加载模块的代码。Module
可以是模块名称或源文件路径,带有或不带有 .erl
扩展名。
如果 Module
是一个字符串,则假定它是一个源文件路径,并且编译器将尝试使用选项 Options
编译源文件。如果编译失败,则删除旧的目标文件(如果有)。
如果 Module
是一个原子,则将查找具有该确切名称或带有 .erl
扩展名的源文件。如果找到,则使用选项 Options
编译源文件。如果编译失败,则删除旧的目标文件(如果有)。
如果 Module
是一个原子,并且不是源文件的路径,则会搜索代码路径以查找该模块的目标文件,并提取其原始编译器选项和源路径。如果未在原始位置找到源文件,则使用 filelib:find_source/1
相对于目标文件的目录搜索它。
使用追加到给定 Options
的原始选项编译源文件,只有在编译成功的情况下,输出才会替换旧的目标文件。
请注意,清除代码意味着在模块旧代码中徘徊的任何进程都会在没有警告的情况下被终止。有关详细信息,请参阅 code
模块。
-spec c(Module, Options, Filter) -> {ok, ModuleName} | error when Module :: atom(), Options :: [compile:option()], Filter :: fun((compile:option()) -> boolean()), ModuleName :: module().
编译,然后清除并加载模块 Module
的代码,该模块必须是一个原子。
搜索代码路径以查找模块 Module
的目标文件,并提取其原始编译器选项和源路径。如果未在原始位置找到源文件,则使用 filelib:find_source/1
相对于目标文件的目录搜索它。
使用追加到给定 Options
的原始选项编译源文件,只有在编译成功的情况下,输出才会替换旧的目标文件。函数 Filter
指定从原始编译器选项中删除哪些元素,然后再添加新选项。Filter
函数应为要保留的选项返回 true
,为要删除的选项返回 false
。
请注意,清除代码意味着在模块旧代码中徘徊的任何进程都会在没有警告的情况下被终止。有关详细信息,请参阅 code
模块。
-spec cd(Dir) -> ok when Dir :: file:name().
将工作目录更改为 Dir
,它可以是相对名称,然后打印新工作目录的名称。
示例
2> cd("../erlang").
/home/ron/erlang
-spec erlangrc(PathList) -> {ok, file:filename()} | {error, term()} when PathList :: [Dir :: file:name()].
搜索 PathList
并在找到时加载 .erlang
资源文件。
-spec flush() -> ok.
刷新发送到 shell 的任何消息。
打印 Module
的文档
打印所有 Module:Function
的文档(无论参数数量如何)。
打印 Module:Function/Arity
的文档。
打印 Module
的回调文档
-spec hcb(module(), Callback :: atom()) -> hcb_return().
打印所有 Module:Callback
的回调文档(无论参数数量如何)。
-spec hcb(module(), Callback :: atom(), arity()) -> hcb_return().
打印 Module:Callback/Arity
的回调文档。
-spec help() -> ok.
显示帮助信息:所有有效的 shell 内部命令和此模块中的命令。
打印 Module
的类型文档
打印 Module
中 Type
的类型文档,无论参数数量如何。
打印 Module
中 Type/Arity
的类型文档。
-spec i() -> ok.
等同于 ni/0
。
-spec i(X, Y, Z) -> [{atom(), term()}] when X :: non_neg_integer(), Y :: non_neg_integer(), Z :: non_neg_integer().
显示有关进程的信息。等同于 process_info(pid(X, Y, Z))
,但位置透明。
-spec l(Module) -> code:load_ret() when Module :: module().
通过调用 code:purge(Module)
,然后调用 code:load_file(Module)
来清除和加载或重新加载模块。
请注意,清除代码意味着模块中任何停留在旧代码中的进程都将被无警告地终止。有关更多信息,请参阅 code/3
。
-spec lc(Files) -> ok | error when Files :: [File :: cmd_line_arg()].
通过为 Files
中的每个 File
调用 compile:file(File, [report_errors, report_warnings])
来编译文件列表。
有关 File
的信息,请参阅 file:filename/0
。
-spec lm() -> [code:load_ret()].
-spec ls() -> ok.
列出当前目录中的文件。
-spec ls(Dir) -> ok when Dir :: file:name().
列出目录 Dir
中的文件,或者,如果 Dir
是一个文件,则仅列出该文件。
-spec m() -> ok.
显示有关已加载模块的信息,包括加载它们的源文件。
-spec m(Module) -> ok when Module :: module().
显示有关 Module
的信息。
-spec memory() -> [{Type, Size}] when Type :: atom(), Size :: non_neg_integer().
内存分配信息。等同于 erlang:memory/0
。
-spec memory(Type) -> Size when Type :: atom(), Size :: non_neg_integer(); (Types) -> [{Type, Size}] when Types :: [Type], Type :: atom(), Size :: non_neg_integer().
内存分配信息。等同于 erlang:memory/1
。
-spec mm() -> [module()].
列出所有已修改的模块。是 code:modified_modules/0
的简写。
等同于 nc/2
。
-spec nc(File, Options) -> {ok, Module} | error when File :: file:name(), Options :: [Option] | Option, Option :: compile:option(), Module :: module().
在所有节点上编译并加载文件的代码。Options
默认为 []
。编译等同于
compile:file(File, Options ++ [report_errors, report_warnings])
-spec ni() -> ok.
-spec nl(Module) -> abcast | error when Module :: module().
在所有节点上加载 Module
。
-spec nregs() -> ok.
等同于 regs/0
。
-spec pid(X, Y, Z) -> pid() when X :: non_neg_integer(), Y :: non_neg_integer(), Z :: non_neg_integer().
将 X
、Y
、Z
转换为 pid <X.Y.Z>
。此函数仅在调试时使用。
-spec pwd() -> ok.
打印工作目录的名称。
-spec q() -> no_return().
此函数是 init:stop()
的简写,即它使节点以受控方式停止。
-spec regs() -> ok.
-spec uptime() -> ok.
以人类可读的形式打印节点正常运行时间(由 erlang:statistics(wall_clock)
指定)。
-spec xm(module() | file:filename()) -> XRefMRet :: term().
通过调用 xref:m/1
,在模块中查找未定义的函数、未使用的函数以及对已弃用函数的调用。
生成 LALR-1 解析器。等同于
yecc:file(File)
有关 File = name()
的信息,请参阅 filename
。有关 YeccRet
的信息,请参阅 yecc:file/2
。
-spec y(file:name(), [yecc:option()]) -> YeccFileRet :: yecc:yecc_ret().
生成 LALR-1 解析器。等同于
yecc:file(File, Options)
有关 File = name()
的信息,请参阅 filename
。有关 Options
和 YeccRet
的信息,请参阅 yecc:file/2
。