Language agnostic 是否存在静态数据类型为可选的编程语言?

Language agnostic 是否存在静态数据类型为可选的编程语言?,language-agnostic,programming-languages,Language Agnostic,Programming Languages,我在想以下两个是等价的: int [] array = { 1,2,3,4 } foreach( int i in array ) { print i } array = { 1,2,3,4 } foreach( i in array ) { print i } C#允许您在声明中使用关键字,从赋值的右侧推断类型。是的,使用C的语言是这样工作的。代码是静态类型的,但是编译器可以发现,如果您编写{1,2,3,4},那么您分配给它或用它调用的任何东西都是int

我在想以下两个是等价的:

 int [] array = { 1,2,3,4 }
 foreach( int i in array ) {
    print i 
 }


 array = { 1,2,3,4 }
 foreach( i in array ) {
     print i 
 }

C#允许您在声明中使用关键字,从赋值的右侧推断类型。

是的,使用C的语言是这样工作的。代码是静态类型的,但是编译器可以发现,如果您编写
{1,2,3,4}
,那么您分配给它或用它调用的任何东西都是
int[]
类型。它节省了大量的(手指)输入。

您可以在C++0x中完成,尽管该类型不会是
数组

auto numbers = {1, 2, 3, 4}; // initializer list
for(int i : numbers)
{
  cout << i;
}
自动编号={1,2,3,4};//初始化列表
用于(int i:数字)
{

cout在一些基本口味中,常数的类型由其值确定

CONST X = 1 ''integer
CONST PI = 3.14 ''float
CONST S = "Hello World" ''string

python的工作方式与此类似。

中只有一种数字类型

array = { 1,2,3,4 } for i,v in ipairs(array) do print(v) end 数组={1,2,3,4} 对于ipairs(数组)do中的i,v 印刷品(五) 结束
即使在Powerbuilder(PB.NET)中也能工作:

您也可以使用。也可以对各种内置数据类型执行此操作。

C#3.0也有此功能。例如:

var s = "hello world";
编译如下所示:

string s = "hello world";
也适用于其他数据类型,仅举一个例子


顺便说一句,类型推断和松散类型语言之间存在差异。使用类型推断时,仍然存在强类型,因此一旦通过初始化建立了类型,就无法更改该类型,并且其性能与显式指定类型时一样好。但是,松散类型语言(如VBA中的“Variant”类型),允许在运行时将同一变量设置为不同类型的值。

F#、CAML/OCAML、Haskell和Boo的类型推断通常与您所描述的行为类似。函数式语言的类型推断往往比这个示例更强大。

类型推断……这就是我要寻找的(我想):)在什么意义上你声称“Python的工作方式与此类似?”x=int(42)x=42在Python中是等效的
string s = "hello world";