AnyLang 程式語言比較/Anylang 通用概念
外觀
以下是 AnyLang 通用概念的中心列表。 這些是跨多個主流程式語言比較和應用的常見程式設計概念。
程式碼塊 | ||
| block.case_if | 條件情況語句 | |
| block.catch | catch 塊 | |
| block.die | 如何使用錯誤訊息終止程序 | |
| block.else | else 語句 | |
| block.else_if | elseif 語句 | |
| block.finally | finally 塊 | |
| block.if | if 語句 | |
| block.pause | 如何暫停程序 | |
| block.qmark_if | 三元問號條件 if 語句 | |
| block.quit | 如何終止程序 | |
| block.switch | switch 語句 | |
| block.try | try 塊 | |
| block.try_catch | 一個簡單的 try-catch 塊 | |
程式碼註釋 | ||
| codecmmt.beginend | 一個通用的 begin-end 多行註釋區域 | |
| codecmmt.docgen | docgen 標籤 | |
| codecmmt.multi | 多行註釋 | |
| codecmmt.single | 單行註釋 | |
| codecmmt.xregion | my_generic_region 標籤 | |
除錯操作 | ||
| codedebug.log | 將錯誤和程式資訊記錄到日誌檔案 | |
| codedebug.test | 用於除錯或示例的 if 語句 | |
程式碼的基本結構元素 | ||
| codeelem.block | 裸程式碼塊 | |
| codeelem.end_code | 結束程式碼 | |
| codeelem.init_code | 初始化程式碼 | |
| codeelem.init_lib | 初始化庫 | |
| codeelem.init_vars | 初始化變數 | |
| codeelem.line_contin | 將換行符放在語句中間的行延續(語言相關) | |
| codeelem.line_termin | 行終止符(例如分號),對於需要它的語言 | |
| codeelem.named_block | 命名程式碼塊 | |
| codeelem.new_doc | 一個新文件 | |
| codeelem.new_footer | 文件頁面中的新頁尾 | |
| codeelem.new_header | 文件頁面中的新頁首 | |
| codeelem.new_lib | 作為庫模組的新文件(對構成模組的任意定義) | |
| codeelem.new_page | 文件中的新頁面(對構成頁面的任意定義) | |
| codeelem.new_rec | 新的記錄條目 | |
迴圈結構 | ||
| codeloop.arr | 遍歷陣列 | |
| codeloop.dic | 列舉或遍歷字典中的鍵和值 | |
| codeloop.dir | 遍歷目錄中的專案 | |
| codeloop.foreach | for bar in foo | |
| codeloop.whilevar | 帶有變數的 while 迴圈 | |
| codeloop.forvar | 舊的 c 風格迴圈(for icc=0; icc ~ foo.length; icc++) | |
| codeloop.last | 迴圈控制最後一次迭代 | |
| codeloop.modify_in_place | 遍歷陣列(或可迭代物件)並就地修改元素 | |
| codeloop.next | 迴圈控制,跳過到下一次迭代 | |
| codeloop.rows | 遍歷 SimpleTable 中的行 | |
| codeloop.while | while 語句 | |
元資料 | ||
| codemeta.args | 傳遞到當前指令碼的命令列引數 | |
| codemeta.current_os | 獲取我們正在執行的當前作業系統 | |
| codemeta.docs_class | 自文件化類 | |
| codemeta.docs_func | 自文件化函式 | |
| codemeta.docs_funcparam | 自文件化函式引數 | |
| codemeta.docs_meth | 自文件化方法 | |
| codemeta.docs_methname | 返回當前正在執行的方法的名稱 | |
| codemeta.docs_methparam | 自文件化方法引數 | |
| codemeta.nameismain | 確定原始檔是否是當前“主”名稱空間 [websearch://"python main trick"] | |
| codemeta.newdoc | 此語言中新檔案的起始模板 | |
| codemeta.quick_docs | 語言結構的幫助工具 | |
| codemeta.source_line | 當前原始檔中的當前行 | |
| codemeta.source_path | 當前原始檔的完整路徑 當前正在執行的指令碼路徑 |
|
| codemeta.source_pdir | 當前原始檔的父目錄。 使用原始檔本身的路徑,而不是透過 *include* 或 *require* 呼叫的檔案的路徑 | |
| codemeta.version | 當前指令碼或語言直譯器的語言版本 | |
原始碼區域 | ||
| coderegion.details | xregion 元資料島的工作表 | |
| coderegion.file_info | 檔案資訊元資料島 | |
| coderegion.generator | xregion 元資料島的工作表 | |
| coderegion.main | xregion 元資料島的工作表 | |
| coderegion.see_also | xregion 元資料島的工作表 | |
控制檯操作 | ||
| console.print | 列印到控制檯 | |
| console.printf | 格式化列印到控制檯 | |
| console.println | 列印到控制檯,並換行 | |
資料定義和模式 | ||
| datadef.aoh | 就像 perldsc AoH 一樣 | |
| datadef.1yamlrec | 小型 yaml 語法 | |
| datadef.2yamlrec | 中等 yaml 語法 | |
| datadef.3yamlrec | 大型 yaml 語法 | |
| datadef.newtable | 一個新的 ReallySimpleData 表 | |
| datadef.newwkbk | 一個新的 ReallySimpleData wkbk | |
| datadef.newwksheet | 一個新的 ReallySimpleData 工作表 | |
| datadef.nvp | SimpleNameValuePair | |
| datadef.simplerec | SimpleRecord | |
| datadef.simpletable | 建立一個類似於 perl AoH 的 SimpleTable 結構 | |
| datadef.simpletable_iv | 建立一個類似於 perl AoA 的 SimpleTable 結構(IV = IndexedValues) | |
| datadef.yamlrec | SimpleRecord yaml 語法 | |
資料處理操作 | ||
| datamunge.json_munge | 將變數轉儲到 json 並從 json 中載入回來 | |
| datamunge.dec_base_64 | 解碼 base64 格式 | |
| datamunge.dec_htmlent | 解碼 HTMLEnt 格式 | |
| datamunge.dec_jscript | 解碼 jscript_url_style 轉義 | |
| datamunge.dec_rot_13 | 解碼 rot13 格式 | |
| datamunge.enc_base_64 | 編碼 base64 格式 | |
| datamunge.enc_htmlent | 編碼 HTMLEnt 格式 | |
| datamunge.enc_jscript | 編碼 jscript_url_style 轉義 | |
| datamunge.enc_rot_13 | 編碼 rot13 格式 | |
日期和時間操作 | ||
| datetime.2date_fmt | 指定一個字串,例如“Fri Sep 9 13.46.58 2005”(perl localtime() 在標量上下文中的結果) | |
| datetime.date | 當前系統日期 | |
| datetime.datem | 指定一個字串,例如 Fri 2005-08-26 13.23.03(首選) | |
| datetime.day_of_week | 當前系統星期幾 | |
| datetime.month | 當前系統月份 | |
| datetime.now | 當前系統時間和日期 | |
| datetime.time_millisec | 返回帶有毫秒精度的當前時間(用於時間戳) | |
| datetime.year | 當前系統年份 | |
錯誤捕獲和異常 | ||
| error.arr_bounds | 陣列索引超出範圍 | |
| error.dict_keyex | 字典鍵不存在 | |
| error.warnings | 啟用或停用警告 | |
檔案系統操作 | ||
| filesys.basename | 從路徑獲取檔名 | |
| filesys.copy | 複製檔案或目錄 | |
| filesys.delete | 刪除檔案或目錄 | |
| filesys.deltree | 刪除目錄樹 | |
| filesys.dir_exists | 如果目錄存在則為 true | |
| filesys.exten | 從完整路徑獲取副檔名 | |
| filesys.file_exists | 如果檔案存在則為 true | |
| filesys.file_size | 以整數形式返回檔案大小(通常以位元組為單位) | |
| filesys.loop_dir | 遍歷目錄中的檔案 | |
| filesys.loop_tree | 遞迴遍歷目錄樹中的檔案 | |
| filesys.mkpath | 建立目錄,即使缺少多個路徑步驟 | |
| filesys.move | 移動檔案或目錄 | |
| filesys.parent_dir | 從完整路徑獲取檔案父目錄 | |
| filesys.rename | 重新命名檔案或目錄 | |
函式引數 | ||
| funcarg.arg_array | 指定包含多個引數的陣列 | |
| funcarg.arr | 陣列宣告函式引數 | |
| funcarg.boo | 布林宣告函式引數 | |
| funcarg.defval | 指定函式引數的預設值 | |
| funcarg.int | 整數宣告函式引數 | |
| funcarg.obj | 物件宣告函式引數 | |
| funcarg.opt_arg | 指定可選引數 | |
| funcarg.passfunc | 將函式作為引數傳遞 | |
| funcarg.passobj | 傳遞包含多個引數的物件或字典 | |
| funcarg.req_arg | 指定必需引數 | |
| funcarg.str | 字串宣告函式引數 | |
函式定義 | ||
| funcdef.1func | 小型語法宣告函式 | |
| funcdef.1meth | 小型語法宣告 oop_method | |
| funcdef.2func | 中等語法宣告函式 | |
| funcdef.2meth | 中等語法宣告 oop_method | |
| funcdef.3func | 大型語法宣告函式 | |
| funcdef.3meth | 大型語法宣告 oop_method | |
| funcdef.closure | 函式作為完整的閉包 | |
| funcdef.funcdef | psu funcdef 模板 | |
| funcdef.funcdsp | 函式 DspTemplate | |
| funcdef.funcmeta | 將任意元資料附加到函式 | |
| funcdef.lambda | 函式作為 python-lambda 風格表示式 | |
基本 GUI 顯示 | ||
| guidsp.alert | GuiAlert(sPrompt) 帶有確定按鈕的警報框 | |
| guidsp.button | 通用按鈕控制元件 | |
| guidsp.checkbox | 與 html//inputCheckbox 相同的通用複選框控制元件 | |
| guidsp.combo_box | 與 html//Select 相同,但使用者也可以提供一個值 | |
| guidsp.date_time | 一個看起來像單行編輯框的框,但它接受日期和/或時間。 還提供了一個下拉日曆 | |
| guidsp.edit | 與 html//textarea 相同 | |
| guidsp.grid | 網格和列表控制元件 | |
| guidsp.group_box | 矩形邊框/框架 | |
| guidsp.hotkey | 一個看起來像單行編輯框的框,但它接受使用者按下的鍵盤組合 | |
| guidsp.input_box | strVal = GuiInput(sPrompt | |
| guidsp.month_cal | 一個相對較高的控制元件,以日曆格式顯示一個月的所有日期 | |
| guidsp.pass | 簡單的密碼輸入框,與 html//inputPassword 相同 | |
| guidsp.picture | 一個包含圖片的區域 | |
| guidsp.progress | 進度條 | |
| guidsp.radio | 通用的單選按鈕,與 html//inputRadio 相同 | |
| guidsp.range | 上下箭頭,用於在一定範圍的整數之間切換 | |
| guidsp.rich_edit | 帶格式的富文字框 | |
| guidsp.select | 與 html//Select 相同 | |
| guidsp.select_multi | 與 html//Select with multiple='true' 相同 | |
| guidsp.slider | 一個滑動條,使用者可以在垂直或水平軌道上移動 | |
| guidsp.tab | 包含多個頁面的控制元件 | |
| guidsp.text | 簡單的文字輸入框,與 html//inputText 相同 | |
GUI 視窗 | ||
| guiwin.center | 將視窗相對於桌面(或父視窗)居中 | |
| guiwin.coords | 指定視窗相對於桌面(或父視窗)的位置 | |
互操作性 | ||
| interop.alt_interop | 互操作的不同替代方案 | |
| interop.com_object | 如何例項化 msft OLE COM 物件 | |
| interop.shell_run | 執行外部程式,例如 ShellRun('notepad.exe') 作為獨立程序 | |
| interop.shell_runwait | 執行外部程式並等待其完成 | |
程式碼庫和附加元件 | ||
| lib.include_lib | 包含庫檔案 | |
| lib.include_once | 僅包含庫檔案一次 | |
OOP 類 | ||
| oopclass.class_constructor | 類的建構函式方法 | |
| oopclass.new_class | 一個新的 OOP 類 | |
| oopclass.reflect_classname | 從類本身獲取類的名稱 | |
OOP 方法 | ||
| oopmeth.alias | 為 oop 方法建立別名 | |
| oopmeth.filter | 根據任何條件迭代透過類的所有選定方法的名稱 | |
| oopmeth.instance | 在類中宣告一個例項方法 | |
| oopmeth.invokeoperator | 用作方法呼叫運算子的符號 | |
| oopmeth.multilevel | 宣告和使用巢狀方法(例如,mymap.delaware.dover.getpopulation()) | |
| oopmeth.reflect | 迭代透過類的所有方法的名稱 | |
| oopmeth.static | 在類中宣告一個靜態方法 | |
| oopmeth.symbolic | 使用標量作為方法名稱呼叫 oop 方法 | |
OOP 物件 | ||
| oopobj.new_instance | 一個新的 OOP 普通物件。 建立一個物件(也稱為類的例項)。 | |
OOP 引用 | ||
| oopref.symbolic | 使用標量作為類名(不使用字串 eval)從 oop 類例項化物件 | |
正則表示式和相關概念 | ||
| regex.22_notation | 指定單個字元 char 的符號 | |
| regex.backref | RegEx 在匹配區域或替換區域內記憶捕獲暫存器 | |
| regex.basic_syntax | RegEx 基本語法 basic_ops | |
| regex.capture | 指定一個捕獲匹配暫存器 | |
| regex.match | RegEx 匹配操作 | |
| regex.noncapture | 指定一個非捕獲分組匹配暫存器 | |
| regex.replace | RegEx 替換操作 | |
SQL 和相關概念 | ||
| sqldata.bulk_insert | 使用文字檔案作為原始資料填充 SQL 表 | |
格式化和在原始碼中使用字串 | ||
| strdsp.esc_bs1 | 注意 regex22 更好 | |
| strdsp.esc_bs2 | 注意 regex22 更好 | |
| strdsp.esc_qq1 | 注意 regex22 更好 | |
| strdsp.esc_qq2 | 注意 regex22 更好 | |
| strdsp.here_doc | 像 perl heredoc 一樣在程式碼中指定多行字串 | |
| strdsp.here_func | heredoc 函式 | |
| strdsp.here_str | 字串在變數中 | |
| strdsp.here_var | 字串中的插值變數 | |
| strdsp.heredoc_indent | heredoc 與程式碼的其餘部分一起縮排 | |
| strdsp.interpo | 指定一個可能包含插值的字串變數 | |
| strdsp.number_format | 為區域設定或資料顯示美化格式化數字 | |
| strdsp.printf | 指定一個具有特殊格式選項的字串變數 | |
| strdsp.skeleton_fill | 填寫 SimpleTemplate 的內容 | |
| strdsp.verbatim | 指定一個不包含插值的字串變數 | |
保留供日後使用 | ||
| system.timeout | 如果程序花費的時間過長,則丟擲異常或終止程序 | |
模板 | ||
| template.delim | 指定模板分隔符的語法 | |
| template.valueof | 模板樣式程式設計的輸出值 | |
資料驗證 | ||
| valid.file_exist | 如果檔案存在於檔案系統中,則為真 | |
| valid.file_not_exist | 如果檔案不存在於檔案系統中,則為真 | |
| valid.is_numeric | 表示式計算結果為數字 | |
| valid.is_string | 表示式計算結果為字串 | |
| valid.is_true | 表示式計算結果為真值 | |
變數宣告 | ||
| vardec.myarr | 快速宣告陣列 | |
| vardec.myboo | 快速宣告布林值 | |
| vardec.mydic | 快速宣告字典 | |
| vardec.myint | 快速宣告整數 | |
| vardec.myobj | 快速宣告物件 | |
| vardec.mystr | 快速宣告字串 | |
| vardec.null | 在原始碼中表示一個空值 | |
使用變數 | ||
| varops.array_assign | 將值分配給陣列 | |
| varops.array_decl | 宣告陣列 | |
| varops.array_init | 初始化陣列 | |
| varops.composite_defn | 定義一個複合變數(例如,像 perl 資料結構食譜一樣) | |
| varops.composite_manip | 操作一個複合變數(例如排序、搜尋過濾檢視新增編輯刪除) | |
| varops.dumper | 像 perl DataDumper 一樣轉儲變數內容 | |
| varops.object_assign | 將值分配給物件 | |
| varops.object_decl | 宣告物件 | |
| varops.object_dupe_byref | 淺複製並透過引用複製一個物件或巢狀變數 | |
| varops.object_dupe_byval | 透過值複製並複製一個物件或巢狀變數 | |
| varops.object_init | 初始化物件 | |
| varops.scalar_assign | 將值分配給標量 | |
| varops.scalar_decl | 宣告一個標量 | |
| varops.scalar_init | 初始化一個標量 | |
| varops.typecast | 將變數的本機型別轉換為另一種型別 | |
| varops.vartype | 獲取變數的本機型別 | |
Web 和 HTTP | ||
| webhttp.htinclude | 轉clusion 將一個頁面或頁面片段包含到另一個頁面中 | |
| webhttp.cflocation | 像 coldfusion cflocation 一樣重定向到新頁面 | |
| webhttp.cgi_referrer | 客戶端引用 URL | |
| webhttp.cgi_remoteaddr | 客戶端 IP 地址 | |
| webhttp.server_get | 使用伺服器端程式碼從另一個站點獲取網頁 | |