换行符后需要加逗号吗c语言,为什么大多数编程语言都在换行符之前而不是换行符之后使用逗号?...

为了解释为什么提出这个问题,我将解释python3常用的多行列表/字典符号以及实际的语法定义是什么。

这是python3中最常用的多行列表符号:

list_variable = [

'value1',

'value2',

# The last comma after 'value2' is sometimes omitted.

]

并且,要了解解析器如何识别此符号,我们需要查看语法定义(link)。

在python的定义中,类似列表的定义与此类似:

list_like: '[' [element (',' element)* [','] ] ']'

如果您不熟悉语法定义或者我是一个糟糕的摘要者,请允许我多解释一下:

''表示它实际上是一个字符。例如,'['和']'是列表的结尾或开头,以纯字符表示,它们将是['value1','value2',]在实际代码中。

element是其类型的预期元素。例如,如果是列表,它将是单个变量。如果是字典,则为key ':' value。

[]表示其中的所有可选内容。

()表示内部的所有事物都在一个集合中。即所有内容都融合在一起。

*表示之前的语法集,该语法集可能出现0次或多次。在此示例中,(',' element)可以省略,但也可以出现3次。

我几乎忘了提到,这些规则是在空白管理完成后应用的。

好的,让我们看一下列表的解析示例:

[1]

将被解析为'[' element ']'

[1, ]

将是'[' element ',' ']'

[1, 2]

将是'[' element (',' element) ']'

[1, 2, ]

将是'[' element (',' element) ',' ']'

因此,如您所见,在示例3中,逗号与2而不是1配对。

另外,在该示例中,最后一个逗号未与2配对-实际上,在语法定义方面,它没有任何配对。

现在的实际问题是:

除了大多数语言都普遍使用逗号之外,还有更多理由在换行符之前使用逗号吗?

我认为在换行符后使用逗号是明智的,原因如下:

它更类似于实际的语法定义。

它确保始终有确切数量的逗号(元素数-1),并且在处理讨厌其他引号的语言(例如SQL)时会有所帮助。 < / li>

它也是git友好的,如逗号前表示法:如果将新元素添加到列表中,则git diff仅显示+ , new_element。

实际上,如果有人忘记在old_element之后添加逗号(或者因为该语言不允许使用其他逗号),则以换行之前的逗号表示,之后添加元素的人将看到git记录如下:

- old_element

+ old_element,

+ new_element,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值