【问题标题】:according to this code is this language a typed or untyped language?根据此代码,该语言是类型化语言还是非类型化语言?
【发布时间】:2018-11-12 12:41:11
【问题描述】:

我的硬件中有这段代码,它没有提到它是什么语言,问题在代码下方我是表达式的新手,所以我有点困惑,我很乐意得到一些帮助回答或帮助解决问题:

x = 3; 
s = read_string_input(); 
if (isnumber(s) and strToInt(s) > 0) 
x = s + 1.3; 
else 
x = "negative input";
print(x);

问题是:

  1. 它是一种类型语言吗?

  2. 是强类型语言还是弱类型语言?

  3. 是动态语言还是静态语言?

  4. 是隐式还是显式类型?

【问题讨论】:

  • 也许最好先确定是“类型化”语言?仅这些信息就可以帮助您找出其余问题的答案。
  • 我完全同意你的观点,我没有在这里问之前我搜索了网络并试图单独解决它。我不确定我所理解的是否真的是上述问题的正确答案。在这里,我真的在寻求帮助。我不是在寻求解决方案,而是寻求解释。无论如何谢谢..
  • 一种类型化语言,在我看来,每个变量(例如x)都被分配了它将保存的数据类型,可以是字符串、整数、布尔值等。所以在x=3 之类的示例中,它可以分配一个整数值。但是如果该类型的值发生变化,例如在x="some text" 中,那么x 值还没有被锁定到某种类型的数据。有意义吗?

标签: computer-science typing type-systems strong-typing static-typing


【解决方案1】:
  1. 由于strToIntisnumber 方法,它看起来像是一种类型化语言。在无类型语言中,您根本不需要转换值来使用它们。

  2. 它是一种弱类型语言,因为似乎不需要将任何内容强制转换为任何其他类型,而是可以根据需要分配值。

  3. 它似乎是一种动态语言,因为对象不一定必须事先属于某种类型。

  4. 它看起来像是一种隐式类型转换,因为类型似乎是从它们预期包含的值中扣除的。

顺便说一句:它看起来有点像 JavaScript(除了在定义变量时既不使用 const,也不使用 let,也不使用 var) .

仍然:摘录看起来有点小,以便能够确定。

例如变量 x 可以被定义为一个类型,它允许字符串和整数一样,isnumberstrToInt 可以包含 instanceof 检查和转换器(例如,获取一个字符串并在为了返回它而不是隐式返回一个整数)。

来源:Knowledge、Google、https://pythonconquerstheuniverse.wordpress.com/2009/10/03/static-vs-dynamic-typing-of-programming-languages/https://en.wikipedia.org/wiki/Talk%3ATyped_and_untyped_languages

【讨论】:

    猜你喜欢
    • 2013-02-03
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2011-07-06
    相关资源
    最近更新 更多