`
Goldice
  • 浏览: 104589 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Some Rules from wrting your own dsl with ruby

阅读更多

来自:http://blog.nofail.de/2010/02/writing-your-own-dsl-with-ruby/

 

Some Rules from wrting your own dsl with ruby

 

1. let the user choose how to use it

 

all implemented methods return the object instance itself,so one can chain method calls for convenient

 

2. make options optional

 

a well designed API does not force user to provide argument that are not mandatory

 

3. make use of an option hash for defaults

 

consider using an optional parameter hash as the last method argument

 

4. make use of scoped blocks

 

providing scopes is another way to improve the readability of your code

 

5. make use of instance_eval

 

rebuid do 

method1

method2

method3 

end

 

6. consider implementing method_missing

0
2
分享到:
评论

相关推荐

    Resources & Stream Reading & Wrting

    C++Builder6 资源 内存流 读写完整工程 备忘

    Art_of_writing_testbenches

    Art_of_writing_testbenches

    flash_all_lock.bat

    flash_all_lock.bat

    abt-coding

    前端 cd frontend yarn yarn run start 初步 cd backend yarn yarn run start

    node-v0.10.9-sunos-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    ARL-master-wade.zip

    ARL-master-wade.zip

    paralleled FLUS_V2.4.zip

    paralleled FLUS_V2.4.zip

    2121212111111111111111111

    212111111111111

    wx077企业内部员工管理系统-thinkphp5+vue+uniapp-小程序.zip(可运行源码+sql文件+)

    wx077企业内部员工管理系统-thinkphp5+vue+uniapp-小程序.zip 企业内部员工管理系统是一个很好的项目,结合了后端(thinkphp5)、前端(Vue.js)和 uniapp 技术,实现了前后端分离。

    【答辩前参考】用于学生答辩前参考(两套)

    【答辩前参考】用于学生答辩前参考(两套)

    node-v0.8.25-sunos-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    课设毕设基于SSM的宠物医院信息管理系统-源码可运行

    课设毕设基于SSM的宠物医院信息管理系统--源码可运行

    基于C语言的天气客户端的实现.zip

    基于C语言的天气客户端的实现.zip

    123pan_2.0.5.exe

    123pan_2.0.5

    Java项目之jspm校园视频监控系统(源码 + 说明文档)

    Java项目之jspm校园视频监控系统(源码 + 说明文档) 第二章 技术介绍 6 2.1 B/S结构简介 6 2.2 MySQL 数据库技术 6 2.3MySQL环境配置 8 2.4Java语言简介 9 2.5 JSP技术 10 2.6 SSM框架 10 第三章 系统分析与设计 11 3.1系统说明 11 3.2系统设计的目标 11 3.3系统设计规则与运行环境 11 3.4系统可行性分析 12 3.4.1技术可行性 12 3.4.2经济可行性 12 3.4.3操作可行性 12 3.4.4运行可行性 13 3.5 系统现状分析 13 3.6系统的设计思想 14 3.7系统功能结构 15 3.8系统流程分析 16 3.8.1操作流程 16 3.8.2添加信息流程 16 3.8.3删除信息流程 17 第四章 数据库设计 18 4.1数据库概念设计 18 4.2数据表设计 18 第五章 系统的详细设计 23 5.1系统首页的设计 23 5.2后台功能模块 25 5.2.1管理员功能模块 25 5.2.2视频管理员功能模块 28 5.2.3用户功能模块 28 第六章 系统的调试和测试 3

    node-v0.8.7-sunos-x64.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v0.10.48-darwin-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v0.12.12-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于用户认证数据构建评估模型预测认证行为风险系统python源码+数据集+多种算法+说明文档.zip

    基于用户认证数据构建评估模型预测认证行为风险系统python源码+数据集+多种算法+说明文档.zip个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 基于用户认证数据构建评估模型预测认证行为风险系统python源码+数据集+多种算法+说明文档.zip个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 基于用户认证数据构建评估模型预测认证行为风险系统python源码+数据集+多种算法+说明文档.zip个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 基于用户认证数据构建评估模型预测认证行为风险系统python源码+数据集+多种算法+说明文档.zip个人经导师指导并认可通过的98分大作业设计项目,适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计。

    8086汇编语言指令系统

    8086汇编语言指令系统

Global site tag (gtag.js) - Google Analytics