- Euphoria 教程
- Euphoria - 首頁
- Euphoria - 概述
- Euphoria - 環境
- Euphoria - 基本語法
- Euphoria - 變數
- Euphoria - 常量
- Euphoria - 資料型別
- Euphoria - 運算子
- Euphoria - 分支
- Euphoria - 迴圈型別
- Euphoria - 流程控制
- Euphoria - 短路
- Euphoria - 序列
- Euphoria - 日期和時間
- Euphoria - 過程
- Euphoria - 函式
- Euphoria - 檔案I/O
- Euphoria 有用資源
- Euphoria - 快速指南
- Euphoria - 庫例程
- Euphoria - 有用資源
- Euphoria - 討論
Euphoria - 庫例程
提供了大量的庫例程。有些內置於直譯器中,ex.exe、exw.exe 或 exu。其他的是用 Euphoria 編寫的,您必須包含euphoria\include目錄中的一個 .e 檔案才能使用它們。
為了指示可以傳入和返回哪種型別的物件,使用了以下字首:
| 序號 | 字首和描述 |
|---|---|
| 1 | x 通用物件(原子或序列) |
| 2 | s 序列 |
| 3 | a 原子 |
| 4 | i 整數 |
| 5 | fn 用作檔案號的整數 |
| 6 | st 字串序列或單字元原子 |
預定義型別
除了用這些型別宣告變數之外,您還可以像呼叫普通函式一樣呼叫它們,以測試某個值是否為某種型別。
序列操作
| length | – | 返回序列的長度 |
| repeat | – | 將物件重複 n 次以形成長度為 n 的序列 |
| reverse | – | 反轉序列 |
| append | – | 在序列末尾新增一個新元素 |
| prepend | – | 在序列開頭新增一個新元素 |
搜尋和排序
| compare | – | 比較兩個物件 |
| equal | – | 測試兩個物件是否相同 |
| find | – | 在序列中查詢物件 - 從元素編號 1 開始搜尋 |
| find_from | – | 在序列中查詢物件 - 從任何元素編號開始搜尋 |
| match | – | 查詢另一個序列的切片作為序列 - 從元素編號 1 開始搜尋 |
| match_from | – | 查詢另一個序列的切片作為序列 - 從任何元素編號開始搜尋 |
| sort | – | 將序列的元素排序為升序 |
| custom_sort | – | 根據您提供的比較函式對序列的元素進行排序 |
模式匹配
| lower | – | 將原子或序列轉換為小寫 |
| upper | – | 將原子或序列轉換為大寫 |
| wildcard_match | – | 匹配包含 ? 和 * 萬用字元的模式 |
| wildcard_file | – | 將檔名與萬用字元規範匹配 |
數學
這些例程可以應用於單個原子或值序列。
| sqrt | – | 計算物件的平方根 |
| rand | – | 生成隨機數 |
| sin | – | 計算角度的正弦 |
| arcsin | – | 計算具有給定正弦的角度 |
| cos | – | 計算角度的餘弦 |
| arccos | – | 計算具有給定餘弦的角度 |
| tan | – | 計算角度的正切 |
| arctan | – | 計算數字的反正切 |
| log | – | 計算自然對數 |
| floor | – | 向下舍入到最接近的整數 |
| remainder | – | 計算一個數除以另一個數的餘數 |
| power | – | 計算一個數的冪 |
| PI | – | 數學值 PI (3.14159...) |
按位邏輯運算
這些例程將數字視為二進位制位的集合,並且對數字二進位制表示中相應的位執行邏輯運算。
沒有用於將位左移或右移的例程,但您可以透過乘以或除以 2 的冪來實現相同的效果。
檔案和裝置I/O
要對檔案或裝置進行輸入或輸出,您必須首先開啟檔案或裝置,然後使用以下例程讀取或寫入它,然後關閉檔案或裝置。open() 將為您提供一個檔案號,用作其他 I/O 例程的第一個引數。某些檔案/裝置會自動為您開啟(作為文字檔案):
- 0 - 標準輸入
- 1 - 標準輸出
- 2 - 標準錯誤
| open | – | 開啟檔案或裝置 |
| close | – | 關閉檔案或裝置 |
| flush | – | 將緩衝資料重新整理到檔案或裝置 |
| lock_file | – | 鎖定檔案或裝置 |
| unlock_file | – | 解鎖檔案或裝置 |
| – | 在一行上列印 Euphoria 物件,使用大括號和逗號 {,,} 來顯示結構 | |
| pretty_print | – | 以易於閱讀的形式列印 Euphoria 物件,使用多行和適當的縮排 |
| ? x | – | print(1, x) 的簡寫 |
| sprint | – | 將列印的 Euphoria 物件作為字串序列返回 |
| printf | – | 格式化列印到檔案或裝置 |
| sprintf | – | 格式化列印作為字串序列返回 |
| puts | – | 將字串序列輸出到檔案或裝置 |
| getc | – | 從檔案或裝置讀取下一個字元 |
| gets | – | 從檔案或裝置讀取下一行 |
| get_bytes | – | 從檔案或裝置讀取接下來的 n 個位元組 |
| prompt_string | – | 提示使用者輸入字串 |
| get_key | – | 檢查使用者按下的鍵,不要等待 |
| wait_key | – | 等待使用者按下鍵 |
| get | – | 從檔案讀取任何 Euphoria 物件的表示形式 |
| prompt_number | – | 提示使用者輸入數字 |
| value | – | 從字串讀取任何 Euphoria 物件的表示形式 |
| seek | – | 移動到開啟檔案內的任何位元組位置 |
| where | – | 報告開啟檔案中的當前位元組位置 |
| current_dir | – | 返回當前目錄的名稱 |
| chdir | – | 更改為新的當前目錄 |
| dir | – | 返回目錄中所有檔案的完整資訊 |
| walk_dir | – | 遞迴遍歷目錄中的所有檔案 |
| allow_break | – | 允許或不允許 control-c/control-Break 終止您的程式 |
| check_break | – | 檢查使用者是否按下了 control-c 或 control-Break |
滑鼠支援 (DOS32 和 Linux)
在 Windows XP 上,如果您希望 DOS 滑鼠在(非全屏)視窗中工作,則必須停用 DOS 視窗的屬性中的快速編輯模式。
| get_mouse | – | 返回滑鼠“事件”(點選、移動) |
| mouse_events | – | 選擇要監視的滑鼠事件 |
| mouse_pointer | – | 顯示或隱藏滑鼠指標 |
作業系統
| time | – | 自過去某個固定點以來的秒數 |
| tick_rate | – | 設定每秒的時鐘滴答數 (DOS32) |
| date | – | 當前年份、月份、日期、小時、分鐘、秒等 |
| command_line | – | 用於執行此程式的命令列 |
| getenv | – | 獲取環境變數的值 |
| system | – | 執行作業系統命令列 |
| system_exec | – | 執行程式並獲取其退出程式碼 |
| abort | – | 終止執行 |
| sleep | – | 暫停執行一段時間 |
| platform | – | 找出我們正在執行哪個作業系統 |
特殊的機器相關例程
| machine_func | – | 具有返回值的專門內部操作 |
| machine_proc | – | 沒有返回值的專門內部操作 |
除錯
圖形和聲音
以下例程允許您在螢幕上顯示資訊。在 DOS 中,PC 螢幕可以置於多種圖形模式之一。
以下例程適用於所有文字和畫素圖形模式。
| clear_screen | – | 清除螢幕 |
| position | – | 設定游標行和列 |
| get_position | – | 返回游標行和列 |
| graphics_mode | – | 選擇新的畫素圖形或文字模式 (DOS32) |
| video_config | – | 返回當前模式的引數 |
| scroll | – | 向上或向下滾動文字 |
| wrap | – | 控制螢幕右邊緣的行換行 |
| text_color | – | 設定前景色 |
| bk_color | – | 設定背景色 |
| palette | – | 更改一個顏色編號的顏色 (DOS32) |
| all_palette | – | 更改所有顏色編號的顏色 (DOS32) |
| get_all_palette | – | 獲取所有顏色的調色盤值 (DOS32) |
| read_bitmap | – | 讀取點陣圖 (.bmp) 檔案並返回調色盤和畫素的二維序列 |
| save_bitmap | – | 建立一個位圖 (.bmp) 檔案,給定一個調色盤和一個畫素的二維序列 |
| get_active_page | – | 返回當前正在寫入的頁面(DOS32) |
| set_active_page | – | 更改當前正在寫入的頁面(DOS32) |
| get_display_page | – | 返回當前正在顯示的頁面(DOS32) |
| set_display_page | – | 更改當前正在顯示的頁面(DOS32) |
| sound | – | 在PC揚聲器上發出聲音(DOS32) |
以下例程僅在文字模式下工作
| cursor | – | 選擇游標形狀 |
| text_rows | – | 設定文字螢幕上的行數 |
| get_screen_char | – | 從螢幕獲取一個字元 |
| put_screen_char | – | 在螢幕上放置一個或多個字元 |
| save_text_image | – | 儲存文字螢幕上的矩形區域 |
| display_text_image | – | 在文字螢幕上顯示影像 |
以下例程僅在畫素圖形模式下工作(DOS32)
| pixel | – | 設定畫素或一組畫素的顏色 |
| get_pixel | – | 讀取畫素或一組畫素的顏色 |
| draw_line | – | 用線連線一系列圖形點 |
| polygon | – | 繪製一個n邊形 |
| ellipse | – | 繪製橢圓或圓形 |
| save_screen | – | 將螢幕儲存到點陣圖(.bmp)檔案 |
| save_image | – | 儲存畫素圖形螢幕上的矩形區域 |
| display_image | – | 在畫素圖形螢幕上顯示影像 |
多工處理
| task_clock_start | – | 重新啟動排程程式的時鐘 |
| task_clock_stop | – | 停止排程程式的時鐘 |
| task_create | – | 建立一個新任務 |
| task_list | – | 獲取所有任務的列表 |
| task_schedule | – | 排程一個任務以執行 |
| task_self | – | 返回當前任務的任務ID |
| task_status | – | 任務的當前狀態(活動、掛起、終止) |
| task_suspend | – | 掛起一個任務。 |
| task_yield | – | 放棄控制權,以便排程程式可以選擇一個新的任務來執行。 |
廣告