`
xxj
  • 浏览: 426582 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Elite教程系列(一):快速上手

阅读更多
一:什么是Elite.
更多的信息,你可以查看 http://www.operamasks.org 浏览

二:关于本教程的目录
初步的打算:
第一篇:快速上手
第二篇:数据类型及其控制语句
第三篇:内置函数及其扩展
第四篇:集成AOM的应用
第五篇:独立使用
第六篇:思考

今天我们先来熟悉下Elite长的什么样子,第一篇:快速上手

三:安装
当前最新elite版本为0.2,可以从这里下载
http://sourceforge.net/project/showfiles.php?group_id=214934

里面包括elite.jar,elite-src.jar,以及两个启动的脚本

四:运行
elite自带了一个交互的shell

在windows下运行
bin/elite.cmd


在*nix下运行
bin/elite.sh


或者直接运行
java -jar elite.jar


启动的界面如下:


看到> 说明已经启动成功,我们先来编写第一个例子:

注:
elite是基于java的,在运行请前先确认你正确安装了jdk。这方面的资料google下会有很多,我们不多做介绍。

五:Hello World
每个程序的开篇都是Hello World,我们也不例外,让我们开始elite的Hello world
>define hello = "Hello World"
>print(hello)
>Hello World


1:define 在这里是关键字,用来定义变量
2:print  同于常用的System.out.println(hello),这里的括号并不能省略,个人感觉有点不太喜欢,还是偏好括号可选的语法。
print hello


同样你可以演练一样简单的计算器,来熟悉下shell

(这里我们故意的用0做除数,目的就是想查看它报错)

六:函数
>define sayHello = {name=>"Hello,$name"}
>sayHello("martin")
>Hello martin


看起来似乎不习惯,OK,我们修改下
>define sayHello(name){"Hello $name"}
>sayHello("martin")
>Hello martin


哦,这个看起来跟我们普通的函数还长的有点像。

我们能否对name做更多一点操作呢?
譬如:sayHello2(‘martin’),能否自动将首字母大写呢?使用过ruby的朋友都知道,ruby的字符对象有个capitalize 方法,
Elite内置的方法并没有提供这样的功能,不过Elite够强大,允许你如ruby一样,打开对象,添加属于你自己的方法。你可以通过attach来追加新的方法。
String.attach('capitalize') {
  if (this.length > 0) {
     Character.toUpperCase(this[0]) + this[1..*];
   } else {
     this;
   }
}



capitalize是方法名,{} 之间是代码块。在代码块访问本身对象,你可以通过关键字this来访问。

现在我们就可以重新定义我们的sayHello了
define sayHello3 = {name =>”Hello ${name.capitalize}”} 



七:OO!
是的,我们好像漏掉了这一点。但是细心的读者难道不曾想过,elite基于java的,java中的OO同样也是elite中的OO.我们这里介绍的是更多有趣点的东西。

Ruby,号称一切皆对象(Oh,my god,老掉牙的话题了)。
先从new开始说起:在ruby中,new是object的一个方法
user = User.new

而不是我们java中
User user= new User()


在Elite中你不仅仅可以保持原来的语法,还可以同时使用这一新的语法
>define a = new String('aa')
>a
>aa
>define b = String.new('bb')
>b
>bb


哦,看起来不错。不过这个太简单了点。OK,我们继续


1:)我们定义一个新的class:Greeting
2:)通过define定义属性 name
4:)构造函数,这个和java一样,没啥区别
6:)定义sayHello 函数,返回一串字符。这里或许有同学要疑问了,上面name是包括在${}里面的,为什么到这里不要{}了呢,这个其实是一样的。简洁就是美,去掉之
9:)实例化一个Greeting对象,并传递参数’Martin’赋值给name属性
10:)调用print属性sayHello的结果
12:)修改name的属性值。怎么不需要setter?如果还保持那些,不如回家继续写java代码算了
13:)重新输出

10、13:)这里我们采用两种不同的输出,仅仅想说明elite的有趣性。我们会再以后的章节详细介绍的。

执行,为了能让elite在任何地方执行,建议你将路径添加到当前的PATH中,并且添加ELITE_HOME至当前环境中。

现在再执行
elite  greeting.xel


会看到输入的结果


通过new Object还可以动态的创建对象
define greeting = new Object{
  define name

  sayHello(){"Hello $name"}
}

greeting.name = 'Martin'

print(greeting.sayHello())



八:来点更精彩的
在elite中运行你自己定义语法,来自于sampels/dsl.xel
define syntax {
    Send :message to :someone
=>  print("Hello, ${:someone}! ${:message}.")
}

Send 'Welcome to earth' to 'uncle Martin';

define syntax {
    Convert :amount :from into :to
=>  :amount[:from] -> :to
}

print(Convert 25 DEM into ECU);


Cool!

九:接下来
敬请关注 elite:)后面的文章更精彩,o(∩_∩)o...
分享到:
评论
3 楼 xxjhappy 2008-04-30  
大哥  网址打错了吧  正确的应该是 http://www.operamasks.org
2 楼 hantsy 2008-04-29  
第八点看起来比较Cool
1 楼 魔力猫咪 2008-04-04  
elite在AOM中起什么作用?ManagedBean?为什么不使用更成熟的语言,比如Groovy?elite目前版本才0.2,稳定性和性能让人担忧。

相关推荐

    N2 ELITE数据.zip

    2. "N2-elite评测以及教程.txt":这是一个文本文件,很可能包含了对N2 ELITE数据的详细评测以及详细的使用教程。用户可以从中获取如何导入和使用这些数据的具体步骤。 3. "Splatoon2"、"马里奥赛车8DX(全角色服装...

    eliteadmin

    bootstrap后台模板 eliteadmin框架

    elite4 2.x驱动 64位_32位 精锐系列驱动安装包.zip

    本文将聚焦于"elite4 2.x驱动",这是一款专为64位及32位系统设计的精锐系列驱动安装包,旨在提升硬件性能,优化用户体验。 一、精英4 2.x驱动介绍 "elite4 2.x驱动"是针对精锐系列硬件设备开发的驱动程序,适用于...

    Jabra捷波朗Elite 85h - 米金色快速说明书.pdf

    Jabra捷波朗Elite 85h是一款高端的无线耳机,以其出色的音质、便捷的操作和先进的功能受到用户的喜爱。这款米金色的耳机提供了多种功能,旨在提升用户的音乐体验和通话质量。 ### 开始使用与配对 首次使用Jabra ...

    elite 驱动 64位/32位 精锐系列驱动安装包

    精锐系列驱动安装包V4.0.0.4 elite4 加密狗驱动,win7 64位驱动 win1064位 win10亲测过了,可以用没问题。分享给大家. elite 驱动 64位/32位 精锐系列驱动安装包

    Jabra捷波朗Elite 25e快速说明书.pdf

    本文档是Jabra捷波朗Elite 25e耳机的快速使用说明书,旨在帮助用户了解如何有效地操作和连接这款耳机。Jabra捷波朗是一个知名的音频设备品牌,其产品以高质量的音效和用户友好性著称。 1. **连接耳机**: 要连接...

    Jabra捷波朗Elite 65e - 钛黑色快速说明书.pdf

    Jabra捷波朗Elite 65e是一款高端的无线耳机,专为音乐爱好者和忙碌的生活方式设计。这款耳机以其出色的音质、主动降噪功能(ANC)以及HearThrough技术而闻名,让用户在享受音乐的同时,也能感知周围环境的声音。 ##...

    Elite Xml Website白版

    6. **教程和资源**:包含一系列关于XML基础知识、高级特性和最佳实践的教学材料,帮助初学者快速上手。 7. **示例和模板**:提供预设的XML模板和示例,用户可以参考和修改,加快开发进程。 8. **XML验证和调试工具...

    Jabra捷波朗Elite 7 Active - 薄荷绿快速说明书.pdf

    Jabra捷波朗Elite 7 Active是一款高级的无线蓝牙耳机,以其卓越的音质、运动性能和时尚设计而闻名。这款耳机专为活跃的生活方式设计,提供出色的噪音消除功能,让用户无论在健身房还是户外都能沉浸在音乐世界中。其...

    Elite Tactics EA_Elite_

    "Elite Tactics EA_Elite_"是这样一个专为MT4设计的智能交易系统,它的源代码揭示了其背后的交易逻辑和策略。本文将深入探讨这个名为"Elite Tactics EA"的自动化交易程序,并解析其核心功能与特点。 "Elite Tactics...

    你是否需要一台G-Sync的电竞显示器? ViewSonic ELITE XG270QG上手体验

    【Huan】_你是否需要一台G-Sync的電競顯示器__ViewSonic_ELITE_XG270QG上手體驗

    elite admin(6套响应web管理界面框架_bootstrap后台模板_crm后台模板eliteadmin)

    总的来说,"Elite Admin"是一个强大的工具,结合了Bootstrap的灵活性和CRM的特定需求,为开发者提供了一套高效的解决方案,帮助他们快速构建出适应各种设备和业务场景的后台管理系统。无论是对于初创企业还是成熟...

    Jabra捷波朗Elite 2 - 深灰色快速说明书.pdf

    Jabra捷波朗品牌说明书

    Jabra捷波朗Elite 85t - 钛黑色快速说明书.pdf

    【Jabra捷波朗Elite 85t 快速说明书】是Jabra捷波朗品牌为用户提供的指导手册,旨在帮助用户更好地理解和操作其产品——Jabra Elite 85t 钛黑色无线耳机。这款耳机是GN Audio A/S公司的产品,其中文名为捷波朗,是一...

    高准ELITE?大流量 质量和密度流量计.pdf

    科里奥利流量计是一种用于测量流体质量流量和密度的仪表,其工作原理基于科里奥利效应。科里奥利流量计在许多行业,如石油、化工、制药和食品加工等领域得到广泛的应用,尤其适用于大口径管道的应用。高准...

    Jabra捷波朗Elite Active 45e - 海军蓝快速说明书.pdf

    Jabra捷波朗Elite Active 45e快速说明书 Jabra捷波朗Elite Active 45e是一款蓝牙耳机,具有 Sweat的防水和防汗设计,适合运动和户外活动。该产品具有2年的保修期限,用户可以通过Jabra Sound+应用程序注册产品以...

    Elite Xml Website v1.0 中英双语 ASP后台【2009.8.1最终版】.rar

    Elite Xml Website v1.0 中英双语 ASP后台【2009.8.1最终版】 与网络上其它版本区别: ·全部功能、源文件开放,不设VIP版本 ·无组件ASP后台,动态生成XML数据 ·中文、英文双语后台同步更新 ·支持FLASH图文...

Global site tag (gtag.js) - Google Analytics