<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                第一章:進入Scheme ==================== 經典的第一個程序通常是把一個`"Hello world!"`顯示在控制臺上。用你最喜歡的編輯器,創建一個名為`hello.scm`的文件,并在里面輸入以下內容: ```scheme ;The first program (begin (display "Hello, World!") (newline)) ``` 第一行是一個注釋,當Scheme發現一個分號,就把分號和這一行分號后面的文字都忽略了。 `begin`語句(原文為form)是Scheme用來包括子語句的方式,這個例子里有兩個子語句。第一句調用了`display`過程,該過程會輸出它的參數(字符串`"Hello, World!"`)到控制臺(或者叫“標準輸出”)后面一句調用了`newline`過程,該過程輸出一個換行。 想要運行這個程序首先需要啟動Scheme,通常只需要在你操作系統的命令行下面輸入你的Scheme可執行程序的名字即可。如果你用的是MzScheme,你需要在操作系統提示符后面輸入: ``` mzscheme ``` 這將調用Scheme listener程序,這個程序讀取你的輸入,求值,打印結果(如果有的話),然后等待你的下一次輸入。由此這通常被稱為“讀取-求值-打印”的循環。注意這和你操作系統的命令行沒有太大區別,操作系統的命令行也讀取你的命令,執行,然后等待其他命令。和操作系統一樣,Scheme listener有它自己的提示符——通常是`>`,但也可能是其他的東西。 在Scheme listener里,加載文件`hello.scm`。直接運行下面的語句即可: ``` (load "hello.scm") ``` Scheme現在執行hello.scm文件的內容,輸出`Hello, World!`接著后面是一個換行符。然后你又得到了命令提示符,可以輸入更多命令。 現在由于你有一個很好用的listener,所以你用不著每次把你的程序寫到一個文件里然后`load`它,有時候,特別是當你想試試某些東西的時候,直接在listener的提示符后面輸入表達式然后看結果會更簡單。比如,在Scheme的提示符下輸入: ``` (begin (display "Hello, World!") (newline)) ``` 會得到: ``` Hello, World! ``` 事實上,你可以簡單地在提示符后面輸入`"Hello, World!"`然后你可以得到作為結果的字符串: ``` "Hello, World!" ``` 因為這是listener對`"Hello, World!"`求值的結果。 第二種方式產生的結果除了有雙引號以外,兩段程序還有一個標志性的區別。第一段(用`begin`開頭的)并沒有做任何的運算,而顯示的結果是`display`和`newline`過程的副作用向標準輸出寫出來的。第二段程序,`"Hello, World!"`運算得到的結果在這個情況下和這個字符串本身是一致的。 以后,我們會使用標記`=>`來表示運算。就像這樣`E => v`表示語句段`E` 運算得到結果值為`v`。 例如: ``` (begin (display "Hello, World!") (newline)) => ``` (沒有結果),盡管它有輸出`Hello, World!`到標準輸出的副作用。 而另一個程序段, ``` "Hello, World!" => "Hello, World!" ``` 在上面兩種代碼情況下,我們運行完后還是停在命令提示符后。如果要退出Scheme,輸入`(exit)`,這樣會退出Scheme命令行。 Scheme命令行非常便于交互式的測試程序和程序片段。然而這絕不是必須的。你當然可以堅持傳統的方式完全在文件中來創建程序,然后用Scheme來執行它們而不使用任何明顯的命令行。 在MzScheme中,例如你可以在操作系統的命令行中這樣輸 ```scheme mzscheme –r hello.scm ``` 這樣不需要和Scheme命令行打交道就可以產生問候的結果了。 在問候結果產生后,mzscheme將會退回操作系統的命令提示。 這幾乎就像是你直接寫了`echo Hello , World!` 你甚至可以把`hello.scm`當成是一個系統命令來看待(一個內核腳本或批處理文件),但具體得等到第十六章來講解。
                  <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>

                              哎呀哎呀视频在线观看