“讀取-求值-輸出”循環(Read-Eval-PrintLoop,簡稱REPL)是一個簡單的,互動式的編程環境。這個詞常常用於指代一個Lisp的互動式開發環境,但也能指代命令行的模式和例如APL,BASIC,Clojure,F#,Haskell,J,Julia,Perl,PHP,Prolog,Python,R,Ruby,Scala,Smalltalk,StandardML,Tcl,Javascript這樣的程式語言所擁有的類似的編程環境。這也被稱做互動式頂層構件(interactivetoplevel)。
“讀入-求值-輸出”循環的名字來自於以下幾個Lisp用來實現這種機制的內置函式:
讀入函式接收一個來自於用戶的表達式,將其解析成數據結構並存入記憶體。例如,用戶可能會輸入一個s-表達式 (+123),這句活會被解析成一個包含四個元素的鍊表。
求值函式 負責處理內部的數據結構並對其求值。在Lisp中,求一個以函式名開頭的s-表達式意味著對接下來的參數調用那個函式。所以函式"+"被在參數123上調用,產生結果6。
輸出函式接受求值結果,並呈現將其給用戶。儘管當前的結果“6”並不具有複雜的格式,但如果是一個較為複雜的表達式,那么它將會被精心處理,以便於更方便地被理解。
REPL使得探索性的編程和調試更加便捷,因為“讀取-求值-輸出”循環通常會比經典的“編輯-編譯-運行-調試”模式要更快。
相關詞條
-
《C語言範例開發大全》
、C語言中的數據和表達式、順序程式設計、選擇程式設計、循環程式設計、控制...的函式套用 43 3.3 標準輸出和輸入函式 45 實例031 得到正確的輸入數據 45 實例032 輸出格式設定 47 3.4 字元...
圖書信息 內容簡介 圖書目錄 創作背景 -
C語言範例開發大全
for型循環的使用 130實例089 輸出1~20中能被3整除的數,並求出...表達式、順序程式設計、選擇程式設計、循環程式設計、控制結構綜合實例、數組... math庫的函式套用 433.3 標準輸出和輸入函式 45實例031...
內容簡介 圖書目錄 創作背景 -
bc[BC命令]
F 識別為其十六進制值 10 到 15。bc 命令的輸出由讀取程式控制...讀取由 File 參數指定的任一輸入檔案,然後讀取標準輸入。輸入檔案必須是包含 bc 命令能讀取並執行的命令序列、語句或函式定義的文本檔案。bc...
-
你必須知道的495個C語言問題[2016年人民郵電出版社出版書籍]
? 32 第3章 表達式 33求值順序 333.1 為什麼這樣的代碼不行...&&和||左邊的表達式已經決定了整個表達式的結果,則右邊的表達式不會被求值...(), f2()); 先調用了f2?我覺得逗號表達式應該確保從左到右的求值順序...
基本信息 圖書簡介 目錄 -
你必須知道的495個C語言問題[2009年人民郵電出版社出版書籍]
喜歡用顯式的掩碼和位操作而不直接聲明位域?第3章 表達式求值順序3.1...會被求值?3.8 為什麼表達式printf("%d%d",f1(),f2());先調用了f2?我覺得逗號表達式應該確保從左到右的求值順序。3.9...
作者簡介 編輯推薦 目錄 -
你必須知道的495個C語言問題
那么喜歡用顯式的掩碼和位操作而不直接聲明位域?第3章 表達式求值順序...,則右邊的表達式不會被求值?3.8 為什麼表達式printf("%d%d",f1(),f2());先調用了f2?我覺得逗號表達式應該確保從左到右的求值...
作者簡介 編輯推薦 目錄 -
Absolute Java中文版(第6版)(雙色)
輸出 48System.out.println 48小貼士:編輯輸出格式的不同方法 50使用printf編輯輸出格式 51小貼士:用printf...金額輸出格式 ★ 56導入包和類 58DecimalFormat類...
圖書信息 內容簡介 圖書目錄 -
數據結構與算法分析(Java語言描述)(第2版)
:Iterable接口2118.8.1 Iterable與for-each循環...
圖書簡介 圖書目錄 -
MATLAB編程與工程套用(第三版)
程式設計及解決實際問題,包括MATLAB程式設計概念與組織、選擇、循環、字元串操作、單元陣列及結構、高級檔案輸入/輸出及高級函式等;第二部分針對實際... 算法3.2 MATLAB腳本3.2.1 文檔3.3 輸入與輸出...
內容簡介 目錄信息