Jay Fields 是 ThoughtWorks 的一位开发人员,总是在寻找令人兴奋的新技术,并愿意马上采用这些技术。。他以在业务自然语言方面的前沿工作而著称,在本文中他结合代码叙述了如何在 Ruby 的对事项领域特定语言的环境中使用 eval、class_eval 和 instance_eval 等方法。
本文通过代码展示了开始定义 DSL 所需的一些步骤。创建 DSL 是很有挑战性的工作,但同时会带来很多好处。通过 DSL 来表达业务规则,所带来的好处是可以在多种上下文中执行这些业务规则。如上述示例所展示的,通过在不同上下文中执行 DSL,可以从同一个业务规则产生多种不同的行为。当业务规则随着时间推移而改变时,系统中所有引用该业务规则的构成部分都会随之发生变化。而对 Ruby 求解方法的利用,就是成功实现这种效果的关键。
在本文中,作者深入浅出地提出来使用 Ruby 提供的多种求解方法,帮助我们创建简练、可读的代码。同时,这些求解方法也提供了创建诸如领域特定语言之类强大工具的能力。
更多内容推荐
6. Scala 的面向对象编程
2023-09-08
影响分析:RubyGems 未授权访问漏洞(CVE-2022-29176)
RubyGems是一个软件包注册中心,用于为 Ruby 语言生态系统提供软件,它托管超过170,000个Ruby包(gem),在其生命周期内提供了近1000 亿次下载。
2022-07-11
Ruby on Rails 在 2019 年的发展状况预测
如此优秀的 Ruby on Rails,怎么会有“Ruby on Rails 已死”的言论,还传得甚嚣尘上?
22 个必知编程语言之「Ruby」
Ruby,一种简单快捷的面向对象程序设计的脚本语言,遵守GPL协议和Ruby License。
不要学习“网红”编程语言
“网红”编程语言过气史:从Ruby和Rails的衰落说起
7. SELECT 进阶:原生表达式
2023-09-26
代码模板(Python、C、Java、JavaScript、Go)
2023-09-25
16. 加餐:Option 设计模式
2023-09-26
重构到更深层的模型
Paul Rayner使用一个案例分析了如何重构代码到更深层的领域模型。通过代码重构,结合模式实现,代码库更加粘合,也更容易推断,将一些常用任务的完成时间从几周或几个月缩短到几小时。
阅读者:Ruby 的白魔法书
在Ruby的世界中,程序员们享受着各种光怪陆离的语法糖,也经历着各种各样的陷阱。而这一切的根本就在于Ruby强大的元编程能力。元编程就像Ruby世界的魔法,当其是白魔法的时候可以帮助你把程序变得异常简洁,美观;而当其是黑魔法的时候,你将会迷失在一些很难解释的Bug中。
你有对象类, 我有结构体,Go lang1.18 入门精炼教程,由白丁入鸿儒,go lang 结构体 (struct) 的使用 EP06
再续前文,在面向对象层面,Python做到了超神:万物皆为对象,而Ruby,则干脆就是神:飞花摘叶皆可对象。二者都提供对象类操作以及继承的方式为面向对象张目,但Go lang显然有一些特立独行,因为它没有传统的类,也没有继承,取而代之的是结构和组合的方式
2022-08-09
10. 元数据:反射 - 读字段
2023-09-26
Java 之父 James Gosling:你需要的软件可靠性越高,静态类型语言的帮助就越大
要想真正获得性能提升,使用静态类型语言会有很大帮助。
Ruby 之父:写 Ruby 时工作特别闲,总加班的人很难做出创造
在近日于上海召开的 RubyConf China 站上,InfoQ 有幸采访了 Ruby 之父松本行弘先生。松本行弘先生是 Ruby 语言的设计者,投身编程行业已逾三十年。作为一门编程语言的创造者与推动者,他是怎么看待对于 Ruby 语言的褒奖与批评?又是怎么看待 Ruby 与 Java 语言的对比?对于日本的 IT 产业现状与 996 的加班问题,他又抱有怎样的看法?
Ruby 之父:不要违背开发人员的本能
在 Ruby 3.0 发布后,松本行弘接受了一次专访。在专访中,他介绍了 Ruby 的最新特性以及他改进 Ruby 的方法,并分享了他对 Ruby 未来的见解。
Gsub Blocks、Partitions 和 StringScanners,哦,天哪!
由于其 Perl 风格的传统,在处理文本时,Ruby 为您提供了很多开箱即用的灵活性。让我们深入研究什么是可能的!
2022-01-23
Ruby DCamp,低迷经济下别开生面的会议
经济的低迷不仅影响了就业,而且还影响了其他开发者的重要活动,例如参加会议。会议组织者尝试使用一些新颖的办法来吸引参加者。2009年9月18-19日在华盛顿特区举行的Ruby DCamp就是一个很好的例子。
别梦依稀咒逝川,Ruby 二十八年前|M1 芯片 Mac os 系统配置 Ruby(3.0.0) on Rails(6.1.1) 开发环境 (2021 最新攻略)
在每个开发者心里,都会有一门“最好”的语言,在这个世界的某个深处,在一些矫矫不群的人们心中,这门语言的名字叫做Ruby,它今年二十八岁了,历史和Java一样的悠久,但是它没有大厂背书、它的性能被开发者诟病、时至今日依然无法高效利用多核资源,甚至于它
2021-03-01
1. 结果集处理:unsafe 入门
2023-09-26
Ruby 静态分析工具检视:metric_fu, Simian, Saikuro 以及其他
主流开发语言的代码质量工具已经达到了一定的成熟度,但是Ruby相关工具仍在成长,而且在Ruby从早期采纳者普及到早期大众的过程中,这些工具变得愈加重要。InfoQ检视了目前Ruby世界中能够为人们所用的多种代码质量工具。
推荐阅读
Ruby 到底怎么了?
Rails 基金会成立,八家核心成员筹集 100 万美元解决生态发展问题
8. 代码生成:AST 编程入门
2023-09-26
Shopify 开源 WebAssembly 工具链 Ruvy
编程语言5、手写框架 v4 面向对象实现
2023-09-28
使用 Ruby on Rails 构建 GitHub,每周做一次升级
架构4. 字符串与动态规划结合实战
2023-09-27
电子书
大厂实战PPT下载
换一换 袁晗光 | 百度 资深研发工程师
刘育良 | 快手 AI 平台大模型训练负责人
霍太稳 | 极客邦科技 创始人 & CEO
评论