跳转到内容

AnyLang 编程语言比较/Anylang 通用概念

来自 Wikibooks,开放世界中的开放书籍

AnyLang 通用概念

[编辑 | 编辑源代码]

以下是 AnyLang 通用概念的中心列表。 这些是跨多个主流编程语言比较和应用的常见编程概念。

代码块

block.case_if条件情况语句
block.catchcatch 块
block.die如何使用错误消息终止进程
block.elseelse 语句
block.else_ifelseif 语句
block.finallyfinally 块
block.ifif 语句
block.pause如何暂停进程
block.qmark_if三元问号条件 if 语句
block.quit如何终止进程
block.switchswitch 语句
block.trytry 块
block.try_catch一个简单的 try-catch 块

代码注释

codecmmt.beginend一个通用的 begin-end 多行注释区域
codecmmt.docgendocgen 标签
codecmmt.multi多行注释
codecmmt.single单行注释
codecmmt.xregionmy_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.foreachfor 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.whilewhile 语句

元数据

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.detailsxregion 元数据岛的工作表
coderegion.file_info文件信息元数据岛
coderegion.generatorxregion 元数据岛的工作表
coderegion.mainxregion 元数据岛的工作表
coderegion.see_alsoxregion 元数据岛的工作表

控制台操作

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.nvpSimpleNameValuePair
datadef.simplerecSimpleRecord
datadef.simpletable创建一个类似于 perl AoH 的 SimpleTable 结构
datadef.simpletable_iv创建一个类似于 perl AoA 的 SimpleTable 结构(IV = IndexedValues)
datadef.yamlrecSimpleRecord 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.funcdefpsu funcdef 模板
funcdef.funcdsp函数 DspTemplate
funcdef.funcmeta将任意元数据附加到函数
funcdef.lambda函数作为 python-lambda 风格表达式

基本 GUI 显示

guidsp.alertGuiAlert(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_boxstrVal = 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.backrefRegEx 在匹配区域或替换区域内记忆捕获寄存器
regex.basic_syntaxRegEx 基本语法 basic_ops
regex.capture指定一个捕获匹配寄存器
regex.matchRegEx 匹配操作
regex.noncapture指定一个非捕获分组匹配寄存器
regex.replaceRegEx 替换操作
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_funcheredoc 函数
strdsp.here_str字符串在变量中
strdsp.here_var字符串中的插值变量
strdsp.heredoc_indentheredoc 与代码的其余部分一起缩进
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使用服务器端代码从另一个站点获取网页
华夏公益教科书