我在我的硬件中有这个代码而且它没有提到它是什么语言,而且问题在我不熟悉的代码下面,所以我有点困惑,我很乐意得到一些帮助回答或帮助解决问题:
x = 3;
s = read_string_input();
if (isnumber(s) and strToInt(s) > 0)
x = s + 1.3;
else
x = "negative input";
print(x);
问题是:
是一种打字语言吗?
是强或弱的打字语言?
是动态还是静态语言?
是隐式还是显式输入?
答案 0 :(得分:0)
由于isnumber
和x
- 方法,它似乎是一种打字语言。在非类型语言中,您无需转换值即可使用它们。
这是一种弱类型语言,因为似乎不需要向任何其他类型转换任何内容,而是可以在必要时分配值。
它似乎是一种动态语言,因为该对象不一定必须事先属于某种类型。
它看起来像是一种隐式类型转换,因为类型似乎是从它们预期包含的值中扣除的。
顺便说一句:它看起来有点像JavaScript(除了 const , let ,在定义变量时也不使用 var )
仍然:摘录看起来有点小,以便能够确定。
例如,变量isnumber
可以被定义为一种类型,它允许字符串和整数相同,strToInt
以及struct MyFixture: public ::testing::Test
{
};
template <typename param>
struct MyFixtureWithParam: public MyFixture, public ::testing::WithParamInterface<param>
{
};
using MyFixtureWithNumber = MyFixtureWithParam<int>;
TEST_P(MyFixtureWithNumber, Test1)
{
std::cout << "Test1 with param: " << GetParam() << std::endl;
}
INSTANTIATE_TEST_CASE_P(Test1, MyFixtureWithNumber, ::testing::Values(0,3));
TEST_P(MyFixtureWithNumber, Test2)
{
std::cout << "Test2 with param: " << GetParam() << std::endl;
}
INSTANTIATE_TEST_CASE_P(Test2, MyFixtureWithNumber, ::testing::Values(5, 7));
可以包含instanceof检查和转换器(例如,字符串并创建一个整数以便返回它而不是隐式返回一个整数。)
来源:知识,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。