编程语言的表达能力高可以体现在使用该语言时,一行代码就可以完成一样事情,而表达能力低的语言 B 需要一二十行代码才可以完成这件事。
比如 ActiveRecord 通过 Ruby 可以“动态定义方法”的能力,一行表达式可以声明 2 张表之间的关联关系,给予一些实用的方法。
class Post
belongs_to :author
end
# 可以获得以下实例方法
Post#author # 访问作者
Post#author=(author) # 将作者和帖子关联起来
Post#build_author(attrs) # 给帖子实例化一名作者
Post#create_author(attrs) # 给帖子实例化一名作者,并持久化