Elixir語言中 Code.string_to_quoted_with_comments
相關用法介紹如下。
用法:
string_to_quoted_with_comments(string, opts \\ [])
(從 1.13.0 開始)
@spec string_to_quoted_with_comments(
List.Chars.t(),
keyword()
) ::
{:ok, Macro.t(), [map()]} | {:error, {location :: keyword(), term(), term()}}
將給定的字符串轉換為其引用形式和注釋列表。
此函數在對源代碼執行文本更改時很有用,同時保留注釋和文字位置等信息。
如果成功則返回{:ok, quoted_form, comments}
,否則返回{:error, {line, error, token}}
。
注釋是具有以下字段的Map:
-
:line
- 源代碼的行號 -
:text
- 評論的全文,包括前導#
-
:previous_eol_count
- 注釋和前一個 AST 節點或注釋之間有多少行尾 -
:next_eol_count
- 注釋和下一個 AST 節點或注釋之間有多少行尾
檢查
以獲取選項信息。string_to_quoted/2
例子
iex> Code.string_to_quoted_with_comments("""
...> :foo
...>
...> # Hello, world!
...>
...>
...> # Some more comments!
...> """)
{:ok, :foo, [
%{line: 3, column: 1, previous_eol_count: 2, next_eol_count: 3, text: "# Hello, world!"},
%{line: 6, column: 1, previous_eol_count: 3, next_eol_count: 1, text: "# Some more comments!"},
]}
iex> Code.string_to_quoted_with_comments(":foo # :bar")
{:ok, :foo, [
%{line: 1, column: 6, previous_eol_count: 0, next_eol_count: 0, text: "# :bar"}
]}
相關用法
- Elixir Code.prepend_path用法及代碼示例
- Elixir Code.compiler_options用法及代碼示例
- Elixir Code.quoted_to_algebra用法及代碼示例
- Elixir Code.put_compiler_option用法及代碼示例
- Elixir Code.ensure_compiled用法及代碼示例
- Elixir Code.format_string!用法及代碼示例
- Elixir Code.required_files用法及代碼示例
- Elixir Code.get_compiler_option用法及代碼示例
- Elixir Code.Fragment.cursor_context用法及代碼示例
- Elixir Code.available_compiler_options用法及代碼示例
- Elixir Code.ensure_loaded?用法及代碼示例
- Elixir Code.eval_quoted用法及代碼示例
- Elixir Code.require_file用法及代碼示例
- Elixir Code.Fragment.container_cursor_to_quoted用法及代碼示例
- Elixir Code.Fragment.surround_context用法及代碼示例
- Elixir Code.delete_path用法及代碼示例
- Elixir Code.append_path用法及代碼示例
- Elixir Code.ensure_loaded用法及代碼示例
- Elixir Code.unrequire_files用法及代碼示例
- Elixir Code.fetch_docs用法及代碼示例
- Elixir Code.eval_string用法及代碼示例
- Elixir Code用法及代碼示例
- Elixir Config.config_env用法及代碼示例
- Elixir Config.config用法及代碼示例
- Elixir Config.Reader用法及代碼示例
注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Code.string_to_quoted_with_comments(string, opts \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。