`
hideto
  • 浏览: 2679473 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

读Ruby for Rails的思考之DSL

    博客分类:
  • Ruby
阅读更多
DSL是设计用来在某一领域完成特殊任务的语言,而不是一般目的的编程,DSL的指令集相对较窄
从某方面来看,Rails就像一个用Ruby写的DSL,它的领域是交互式数据库驱动的Web程序

对于如下代码
has_many :editions

左边是一个动词,右边像一个配置
其实这是简单的Ruby方法调用,方法名为has_many,参数为一个Ruby symbol object
Rails经常让programming看起来像configuration,省略方法括号是Rails的习惯约束

Rails DSL很大程度上依赖于Ruby的元编程能力,比如attr_reader :name为你自动生成实例变量@name和get方法

Ruby元编程入门
使用Ruby创建DSL
分享到:
评论

相关推荐

    Ruby_for_Rails.pdf

    根据给定的信息,“Ruby for Rails”是一本专为Ruby on Rails开发者撰写的书籍,它不仅适合初学者,也适用于希望深化Ruby技能并将其应用于实际Rails项目中的Web开发者。本书共有四部分,共计17章,内容全面且深入,...

    使用Rails 数据库DSL与PHP协作开发 - 色色

    Rails是Ruby on Rails的简称,它是一个基于Ruby语言的开源Web应用框架,而DSL则是用于简化数据库操作的语言特性。在Rails中,数据库DSL使得开发者可以更直观、简洁地编写数据库查询。 首先,让我们深入了解Rails中...

    activeadmin, Ruby on Rails 应用程序的管理框架.zip

    activeadmin, Ruby on Rails 应用程序的管理框架 主动管理主动管理插件是为网站管理创建优雅后台的一个框架。 目标使开发人员能够快速创建良好的管理界面。为开发者和企业建立一个 DSL 。确保开发人员可以轻松自定义...

    RUBY完全自学手册

    1. **简洁易读**:Ruby语言的语法简洁明了,易于理解。 2. **动态类型**:Ruby是一种动态类型的语言,变量无需声明类型即可使用。 3. **元编程能力**:Ruby允许程序员修改其自身的语法结构,提供了强大的元编程能力...

    Ruby on Rails的PDF生成器(来自HTML)插件-Ruby开发

    换句话说,而不是处理某种PDF生成的DSL Wicked PDF Ruby on Rails的PDF生成插件Wicked PDF使用shell实用程序wkhtmltopdf从HTML向用户提供PDF文件。 换句话说,您无需像通常那样处理PDF生成的DSL,而是只需像通常那样...

    madmin:Ruby on Rails应用程序的强大管理界面

    熟悉且可自定义,如Rails支架(较少DSL) 开箱即用地支持所有Rails功能(ActionText,ActionMailbox等) 刺激/ Turbolinks /热线就绪 我们仍在设计中! 安装 将madmin到应用程序的Gemfile中: bundle add madmin ...

    Ruby不完全读书指南.rar

    此外,Ruby还有强大的元编程能力,允许在运行时修改和创建代码,这使得Ruby成为构建DSL(领域特定语言)的理想选择。 Ruby on Rails是Ruby最知名的Web开发框架,它提倡“约定优于配置”的理念,极大地提高了开发...

    Ruby-DeclarativeAuthorization一个授权Rails插件在同一个地方使用声明式DSL用于指定授权规则

    **Ruby-DeclarativeAuthorization** 是一个专门为Rails应用设计的授权插件,它引入了一种声明式的领域特定语言(DSL)来集中管理应用程序的权限规则。这个插件旨在简化身份验证和授权流程,使得开发者可以在代码中...

    Ruby-Acl9一个Rails基于角色的授权系统

    Ruby-Acl9是一个在Rails框架下广泛使用的基于角色的访问控制库,它为开发者提供了强大的权限管理和授权功能。这个库的出现使得在Rails应用中实现复杂的权限控制变得更加简单和直观。Acl9的设计理念是通过定义角色...

    Programming Ruby

    这使得Ruby非常适合创建自定义DSL(领域特定语言)。 6. **标准库**:Ruby的标准库丰富多样,包含了大量实用模块和类,如File、Net、HTTP、JSON等,覆盖了文件操作、网络通信、数据序列化等多个领域。 7. **Gem...

    wicked_pdf:Ruby on Rails的PDF生成器(来自HTML)插件

    Ruby on Rails的PDF生成插件 Wicked PDF使用shell实用程序从HTML向用户提供PDF文件。 换句话说,您无需像通常那样处理PDF生成的DSL,而是只需像通常那样编写HTML视图,然后让Wicked PDF处理繁琐的工作。 Wicked PDF...

    Ruby-Jbuilder通过一个构建式DSL创建JSON结构

    Ruby是一种面向对象的编程语言,尤其在Web开发领域中,它因为其强大的Rails框架而备受推崇。在构建RESTful API时,数据通常以JSON(JavaScript Object Notation)格式传输,因为JSON轻量、易于解析,并且被广泛支持...

    activeadmin:Ruby on Rails应用程序的管理框架

    是一个Ruby on Rails框架,用于为网站管理创建优雅的后端。 目标 使开发人员能够快速创建美观的管理界面。 为开发人员构建DSL,为企业构建接口。 确保开发人员可以轻松自定义每个角落。 入门 查看。 尝试。 包含...

    ruby语言入门教程(中文版)[PDF]

    Ruby还有强大的元编程能力,允许在运行时修改或创建代码,这使得Ruby非常适合进行快速原型开发和 DSL(领域特定语言)的设计。 Ruby on Rails 是Ruby最著名的Web框架,它倡导“约定优于配置”和“Don't Repeat ...

    Ruby与Eclipse

    推荐阅读《Programming Ruby: The Pragmatic Programmer's Guide》这本书,以深入理解Ruby编程,并且对于想要学习Ruby on Rails的开发者,《Agile Development with Ruby on Rails》是一本很好的入门书籍。...

    Ruby 技术手册(CHM 电子版)

    这种灵活性使得Ruby在编写DSL(领域特定语言)时特别得心应手。 本书可能涵盖了Ruby的标准库,这是Ruby内置的一系列模块和类,包含各种实用功能,如文件操作、网络通信、日期时间处理等。通过学习标准库,开发者...

    表格使Rails变得简单! 它与简单的DSL捆绑在一起,对标记没有意见。-Ruby开发

    Rails表单变得容易。 “简单表单”旨在尽可能...大部分DSL都是从Formtastic继承的,我们对此表示感谢,并应使您感到宾至如归。 信息:本自述文件指的是简单表格5.0。 对于较早的版本,请检查您的版本的相关分支。 安装

Global site tag (gtag.js) - Google Analytics