博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Qomo 2.0 beta1的发布
阅读量:2240 次
发布时间:2019-05-09

本文共 1889 字,大约阅读时间需要 6 分钟。

===============================================================================

Qomolangma OpenProject v2.0

类别    :Rich Web Client
关键词  :JS OOP,JS Framwork, Rich Web Client,RIA,Web Component,
          DOM,DTHML,CSS,JavaScript,JScript

项目发起:aimingoo ()

项目团队:../../contributor.txt
================================================================================ 

注意:此前对Qomo V2 beta1做过一次发布,但因为该版本文件已经丢失,且未在sourceforge中发布,

因此此次发布仍然使用beta1的名称。并将更新sourceforge中的文件。

一、Qomolangma 2.0 Beta1

============================

参见如下发布说明:

此外,今次发布的更新列表包括:

 - 添加工具函数toEtor()和类Dict()
 - Class()支持将匿名函数注册为匿名类
 - 在内核方面的一些优化代码
 - HttpGetMachine()作了一些小的修改

二、有关toEtor()

============================

参见/Framework/TestCase/T_Etor.html。

所谓Etor,是指一种小型的执行器,可以处理代码、标志等。
Etor()本质上是对eval()的封装,但它具有一些有趣的特性。例如我们在PHP中可以有一种类似如下的语法:
=======
str = "abcd${value}ghi"
=======
在这个例子中,如果我们试图将${value}替换为当前代码环境中的变量value的值,那么就可以使用etor来做。
Etor是一个字符串,它可以通过toEtor()来得到,也可以通过eval()来执行。重要的是,我们在String中扩展
了一个etor()方法,通过这个方法可以自动应用Etor,以替换字符串中的特定标志。
Etor可以存取闭包外或从闭包外去存取闭包内部的数据。这一特性例用了eval()使用“当前闭包”中这一特
性。因此Etor可以使用得非常灵活。有关代码可以参见上述的T_Etor.html。下面只简述基本用法:
=======
// 1. 得到一个有效etor的字符串
function aFunc() {
  ...
}
et = toEtor(aFunc);
// 应用一个etor
function foo() {
  // 2. 使etor在指定环境中有效
  var etor = eval(et);
  // 3. 使用etor
  var value = '....';
  var str = "abcd${value}efg";
  alert(str.etor(etor));
}
=======

三、有关匿名类

============================

在旧版本的Class()函数中,第二个参数总是一个字符串。例如:

=======
TMyObject = Class(TObject, 'MyObject');
=======
这表明将MyObject()构造器注册为类。但是,如果MyObject()是匿名的,就没有办法处理了。在新
版本的Qomo中,允许第二个参数为函数。因此,可以是:
=======
MyFunc = function() {
}
TNewObject = Class(TObject, MyFunc);
=======
也可以是:
=======
TNewObject = Class(TObject, function() {
  ...   // 在这里可以使用任意复杂的类声明
});
=======
由于匿名类是没有类名的,因此系统事实上是将它写在命名空间下的TAnonymous类中。同样的原因,
上面得到的TNewObject只是该类的一个引用,而非真实的类名。

三、其它

============================
Qomo V2.0 Beta 1下载
----------

下载文件名:

Qomo.V2.b1.zip

或从如下地址签出SVN:

----------

转载地址:http://hlhbb.baihongyu.com/

你可能感兴趣的文章
什么是 Dropout
查看>>
用 LSTM 做时间序列预测的一个小例子
查看>>
用 LSTM 来做一个分类小问题
查看>>
详解 LSTM
查看>>
按时间轴简述九大卷积神经网络
查看>>
详解循环神经网络(Recurrent Neural Network)
查看>>
为什么要用交叉验证
查看>>
用学习曲线 learning curve 来判别过拟合问题
查看>>
用验证曲线 validation curve 选择超参数
查看>>
用 Grid Search 对 SVM 进行调参
查看>>
用 Pipeline 将训练集参数重复应用到测试集
查看>>
PCA 的数学原理和可视化效果
查看>>
机器学习中常用评估指标汇总
查看>>
什么是 ROC AUC
查看>>
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>
简述极大似然估计
查看>>
用线性判别分析 LDA 降维
查看>>
用 Doc2Vec 得到文档/段落/句子的向量表达
查看>>
使聊天机器人具有个性
查看>>