Euphoria - 庫例程



提供了大量的庫例程。有些內置於直譯器中,ex.exe、exw.exe 或 exu。其他的是用 Euphoria 編寫的,您必須包含euphoria\include目錄中的一個 .e 檔案才能使用它們。

為了指示可以傳入和返回哪種型別的物件,使用了以下字首:

序號 字首和描述
1

x

通用物件(原子或序列)

2

s

序列

3

a

原子

4

i

整數

5

fn

用作檔案號的整數

6

st

字串序列或單字元原子

預定義型別

除了用這些型別宣告變數之外,您還可以像呼叫普通函式一樣呼叫它們,以測試某個值是否為某種型別。

integer 測試物件是否為整數
atom 測試物件是否為原子
sequence 測試物件是否為序列
object 測試物件是否為物件(始終為真)

序列操作

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 的冪來實現相同的效果。

and_bits 對相應的位執行邏輯 AND
or_bits 對相應的位執行邏輯 OR
xor_bits 對相應的位執行邏輯 XOR
not_bits 對所有位執行邏輯 NOT

檔案和裝置I/O

要對檔案或裝置進行輸入或輸出,您必須首先開啟檔案或裝置,然後使用以下例程讀取或寫入它,然後關閉檔案或裝置。open() 將為您提供一個檔案號,用作其他 I/O 例程的第一個引數。某些檔案/裝置會自動為您開啟(作為文字檔案):

  • 0 - 標準輸入
  • 1 - 標準輸出
  • 2 - 標準錯誤
open 開啟檔案或裝置
close 關閉檔案或裝置
flush 將緩衝資料重新整理到檔案或裝置
lock_file 鎖定檔案或裝置
unlock_file 解鎖檔案或裝置
print 在一行上列印 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 沒有返回值的專門內部操作

除錯

trace 動態地開啟或關閉跟蹤
profile 動態地開啟或關閉分析

圖形和聲音

以下例程允許您在螢幕上顯示資訊。在 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 放棄控制權,以便排程程式可以選擇一個新的任務來執行。
廣告

© . All rights reserved.