的背景
我最近发布了an answer,我把各种各样的#{}作为一个文字,一个运算符,(在一个草稿中)是一个“文字构造函数”.这个定义的闷热并没有真正影响到答案的质量,因为这个问题更多的是它的作用,以及如何找到它的语言参考,但我不高兴无法指出正确的规范定义什么叫Ruby语法元素.
Ruby manual在expression substitution的部分提到了这个语法元素,但并没有真正定义语法本身的术语.几乎所有对这个语言元素的引用都表示它用于字符串插值,但不会定义它是什么.
维基百科定义
这里是一些维基百科的定义,这意味着这个结构(严格来说)既不是文字也不是操作符.
> Literal (computer programming)
> Operator (programming)
问题
有人知道这个语言元素的适当术语是什么?如果是这样,可以请我指出一个正式的定义吗?
解决方法
Ruby的解析器调用#{}“embexpr”运算符.这是嵌入EXPRession,自然.