【发布时间】:2016-04-23 23:57:50
【问题描述】:
在 Bash 中,以下示例演示了编程语言中的哪些概念?
-
在第一个例子中,变量
bar首先是一个字符串类型 值hello,然后在算术表达式中使用时, 它的值变为0。所以在我看来bar的类型 从字符串更改为整数。这个例子是否演示了 隐式类型转换和动态类型的概念 (因为
bar的类型没有明确声明或定义, 并根据上下文从字符串更改为整数)?$ bar=hello $ echo $bar hello $ echo $(( bar )) 0 -
在第二个例子中,变量
bbb被声明为整数 类型,我给它一个值3*8,即24。然后我给它hello,其值变为0。hello是一个字符串吗 值还是其他变量?如果hello是一个字符串值,那么在赋值给变量bbb之前,必须有从字符串值hello到整数值0的类型转换。这个例子是否展示了这个概念 静态类型,因为
bbb的类型是明确的 从头声明并且不能更改?$ declare -i bbb $ bbb=3*8 $ echo bbb 24 $ bbb=hello $ echo $bbb 0
【问题讨论】:
标签: bash types programming-languages dynamic-typing static-typing