Rails开发:从基础到布局优化
1. Ruby与Rails基础
1.1 Block、Proc和Lambda
在普通的Rails代码中,虽然block很常见,但很少能看到procs或lambdas。不过在Rails的源代码里,由于经常使用高级编程技术,它们更为常见。block(或proc、lambda)的关键在于,它的工作方式类似于方法。即便没有看到方法定义,也可以使用block来计算一系列语句并获得结果。
1.2 Rails与更多关键字
之前接触了一些Ruby代码中的关键字和结构,这有助于提升阅读Ruby代码的能力。示例代码仅使用了Ruby API中的关键字,而Rails有自己的API,包含数百个类和方法。Rails API利用Ruby语言的语法和关键字来构建新的类,并创建特定于Rails且对构建Web应用程序有用的新关键字。
Ruby是一种通用语言,可用于任何场景;而Rails是一种领域特定语言(DSL),仅用于构建Web应用程序。Ruby易于扩展和调整,这使得它非常适合构建像Rails这样的DSL。例如,开发者可以重新定义类、向现有类添加额外的方法,并使用特殊的 method_missing 方法来处理之前未定义的方法调用,这被称为元编程。
当向Rails项目中添加gem时,会引入额外的关键字。一些强大的gem会为项目添加自己的DSL,如Cucumber gem提供了一种将用户故事转化为自动化测试的DSL。虽然添加Rails、额外的gem和DSL会增加复杂性,但它们都遵循Ruby语言的语法。随着对Ruby关键字和语言结构的熟悉,就能拆解复杂性并理解任何代码。
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



