-
5 votesanswersviews
Scala的map()在映射到相同类型时是否应该有不同的行为?
在Scala Collections框架中,我认为有些行为在使用 map() 时是违反直觉的 . 我们可以区分(不可变)集合上的两种转换 . 那些实现调用 newBuilder 来重新创建生成的集合,以及那些通过隐式 CanBuildFrom 来获取构建器的人 . 第一个类别包含所有转换,其中包含的元素的类型不会更改 . 例如,它们是 filter , partition , drop , tak... -
723 votesanswersviews
接口与基类
我应该何时使用接口,何时应该使用基类? 如果我不想实际定义方法的基本实现,它应该始终是一个接口吗? 如果我有狗和猫类 . 为什么我要实现IPet而不是PetBase?我可以理解有ISheds或IBarks(IMakesNoise?)的接口,因为那些可以按宠物放在宠物上,但我不明白哪个用于通用Pet . -
4 votesanswersviews
在Python 3.5中,如何将函数指定为类型提示?
指定变量应该是函数的适当类型提示是什么(相当于C#中的委托, Func<T> 或 Action )? 是否也可以以通用方式指定函数参数类型(例如 Func<int, int> )? 我在文档中找不到任何相关细节 . -
1 votesanswersviews
scala中类似于cloneable的trait的正确类型规范
问题不在于 AnyRef.clone() ,而是与具有相似语义的情况有关 . 我想为可能创建自身副本的类定义一个接口: trait Cloneable { def clone() : this.type } class Test(val store : Int) extends Cloneable { def clone() = new Test(store) } 与路径相关的 thi... -
738 votesanswersviews
静态类型语言和动态类型语言有什么区别?
我听到很多新的编程语言是动态类型的,但是当我们说一种语言是动态类型而非静态类型时,它实际意味着什么呢? -
0 votesanswersviews
流类型不会静态类型对象属性类型
我有一个对象包含静态类型的不同属性 . 问题是当我尝试静态访问其中一个属性时,流似乎不理解并返回我想要访问的特定属性的类型 . 这是流量限制还是有办法处理? 这是一个示例代码,展示了我想要实现的目标 /* @flow */ const object = (({ first: 'first', second: 2, }): { first: string, second: numbe... -
40 votesanswersviews
为什么动态打字经常与口译语言相关联?
简单的问题:我在编译语言(如C / Java)和Python / Javascript等解释语言中进行了大量编程(专业和个人) . 我个人发现,当我使用静态类型语言编程时,我的代码几乎总是更强大 . 但是,我遇到的几乎所有解释语言都使用动态类型(PHP,Perl,Python等) . 我知道为什么编译语言使用静态类型(大多数时候),但我无法弄清楚解释语言设计中对静态类型的厌恶 . 为什么陡峭断开?... -
36 votesanswersviews
哪些语言是动态类型和编译的(哪些是静态类型和解释的)?
在我对动态和静态类型的阅读中,我不断反对编译静态类型语言的假设,同时解释动态类型语言 . 我知道一般来说这是真的,但我对异常感兴趣 . 我真的希望有人不仅可以提供这些例外的一些例子,而是试图解释为什么决定这些语言应该以这种方式工作 . -
279 votesanswersviews
静态/动态与强/弱
我看到这些术语在编程中遍布各地,我对它们的含义有一个模糊的概念 . 搜索显示,事实上,这些事情已被问到堆栈溢出 . 据我所知,语言中的静态/动态类型与强/弱类型略有不同,但这种差异是我的意思 . 不同的来源似乎使用不同的含义甚至可以互换地使用这些术语 . 我找不到谈论两者的地方,实际上说明了差异 . 如果有人能够在这里为我和世界其他地方清楚地说明这一点,那会更好 . -
36 votesanswersviews
有编译的*编程语言是否具有动态,甚至是弱类型?
我想知道是否有一种编程语言编译成机器代码/二进制文件(不是字节码,然后由VM执行,这在考虑打字时完全不同),具有动态和/或弱类型,例如: 想一下编译语言,其中: 不需要声明变量 可以在运行时创建变量 Functions can return values of different types 问题: 有这样的编程语言吗? (为什么)不是? 我认为一种动态但强大的类型化编... -
363 votesanswersviews
强类型语言和静态类型语言有什么区别?
另外,一方是否意味着另一方? -
2 votesanswersviews
静态类型和动态类型的定义
这两个定义中的哪一个是正确的? Statically typed - 在编译时检查类型匹配(因此只能应用于编译语言) Dynamically typed - 在运行时检查类型匹配,或者根本不检查 . (该术语可应用于编译或解释语言) Statically typed - 类型被分配给变量,所以我会说'x is of type int' . Dynamically...