ruby-on-rails – 为什么Ruby on Rails被称为域专用语言?
发布时间:2020-12-16 22:43:33 所属栏目:百科 来源:网络整理
导读:最近,当我试图解释为什么 Ruby on Rails是一个领域专用语言(DSL)到我组织的实习生时,我无法表达我的推理,我想要的结果.也许我不明白这个空间足以教导细微差别.将他重定向到Martin Fowler的 article或Google排名第一的InfoQ或其他资料也没有太大帮助. 有些可
最近,当我试图解释为什么
Ruby on Rails是一个领域专用语言(DSL)到我组织的实习生时,我无法表达我的推理,我想要的结果.也许我不明白这个空间足以教导细微差别.将他重定向到Martin Fowler的
article或Google排名第一的InfoQ或其他资料也没有太大帮助.
有些可以解释为什么Rails是一个DSL的例子/并行的情况,这不是一个相当新的代码世界的人的巫术的东西?了解意识形态还有助于阐述轨道生态系统的复杂性? 解决方法
技术上来说,ruby不是DSL,它只是非常干净地编写内部DSLs.马丁的Fowler的博客wiki
This link将有助于澄清事情.
Rails已经被描述为DSL,尽管我更确切地将其作为一个框架,使得很好的使用几个DSL. 编辑:intro to the public version of Martin Fowler’s DSL book有一个激励的例子,虽然它仍然针对程序员更多. 再次编辑:如果你指出ruby允许ruby代码看起来像“voodoo”的例子可以是有用的 port 2001 respond :resource=>"/hello" do |request,response| response.body = "<message>hello</message>" end 这比直接调用方法更干净.实现DSL可能需要像代码一样的“voodoo”(创建DSL比使用DSL更困难),而且一般来说,相对较新的编码的人应该首先关心DSL的功能,而不是如此实现它. 什么使Ruby在内部DSL方面有好处包括(1)使用块(任何具有干净关闭的语言都具有此优点),(2)不需要括号的方法类,以及(3)能够在运行中修改类是什么验证)可能我还没有想到. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- SQLite入门与分析(三)---内核概述(1)
- c# – 使用.NET Core定位多个框架的编译器指令
- c# – 如果等待任务链上的’unwrap’任务,Task.Result / wa
- cocos2dx修改引擎代码进行lua绑定
- cocos2dx-数学函数ccp
- ruby-on-rails – Ruby on Rails源代码安全/混淆
- .net – RadAjaxManager AJAX请求大约有10%的时间失败
- C#十五子游戏编写代码
- ruby-on-rails – Rails:将Mongoid和BSON异常重新加到我自
- ruby-on-rails – Rails,如何避免在关联中的总计(count,siz