<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                9-文檔、測試和管道 ================ 本章我們將實現“解析”功能,來解析在第一章提到的命令行操作指令(還記得嗎?我們在寫一個簡易redis!): ```elixir CREATE shopping OK PUT shopping milk 1 OK PUT shopping eggs 3 OK GET shopping milk 1 OK DELETE shopping eggs OK ``` 解析功能完成后,我們會把代碼更新到之前創建的```:kv```程序里面去。 ## 文檔測試(Doctests) >Doctest常見于python,ruby等語言,是一種基于代碼注釋文檔書寫單元測試的方法。 用特定的語法為函數或方法書寫注釋,用doctest命令執行這些文檔測試代碼。 >注意:為了保證代碼簡潔,不能完全用doctest代替傳統的單元測試代碼 在語言官網首頁,我們說Elixir視代碼中的文檔標記為語言中的一等公民。在文檔手冊中,我們也多次涉及這個概念。 比如經常在IEx命令行中執行```mix help```,以及輸入```h Enum```或```h``` + 其他模塊名字。 本章中,我們在實現上文所說“解析”功能的時候,引入文檔注釋的內容。它能夠讓我們直接通過代碼的文檔注釋寫測試, 有助于我們在文檔注釋中寫出更準確的sample。 現在來創建我們的解析功能函數```lib/kv_server/command.ex```。先寫doctest: ```elixir defmodule KVServer.Command do @doc ~S""" Parses the given `line` into a command. ## Examples iex> KVServer.Command.parse "CREATE shopping\r\n" {:ok, {:create, "shopping"}} """ def parse(line) do :not_implemented end end ``` Doctests規定的書寫形式:在4空格縮進之后的```iex>```提示符后。 如果一個命令不止一行,則在除第一行的其它行用```...>```代替```iex>```字樣。 命令的結果則寫在```iex>```或```...>```的下一行,后面以一個新行或者下一個新的```iex>```行結束。 同時注意,我們寫注釋文檔時用```@doc ~S"""```起頭。```~S```可以保證文檔里寫的```/r/n```不會在執行doctests測試前被轉義成回車。 執行doctets,我們先創建一個測試腳本```test/kv_server/command_test.exs```, 在用例中調用```doctest KVServer.Command```: ```elixir defmodule KVServer.CommandTest do use ExUnit.Case, async: true doctest KVServer.Command end ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看