dynamic-typing相关内容
我看到了这么一小段代码,让我无法理解: 将输出: bool(true) 我了解当使用 == 时,PHP 会尝试模糊比较,在类型之间静默转换以执行比较.我不理解的是为什么 PHP 似乎认为这两个字符串是相同的.我会认为由于 $a 和 $b 是字符串,因此不需要进行类型转换. 我不明白什么? 解决方案 我觉得这篇文章解释的很好: 类型强制比较运算符会将数字字符串转换为数字
..
我的问题更倾向于 Python,但也可能与 JavaScript 或其他脚本语言有关. 我通常使用静态类型语言(Java、C++、ActionScript 等)进行开发. 我喜欢时不时使用Python,有时也需要使用JavaScript.这些是动态类型语言.这没什么不对,但我通常很难理解函数或方法中需要哪些参数.即使它是我自己的带有一些文档字符串的代码,它也会发生!也许是因为眼睛必须看
..
在编程语言中,推断类型和动态类型有什么区别?我知道动态类型,但不知道动态类型与推断类型有何不同?有人可以提供一些例子的解释吗? 解决方案 推断类型 = 在编译时设置一次.实际上,推断部分只是为了节省时间,因为如果编译器可以计算出来,您就不必键入 Typename. 类型推断通常与静态类型结合使用(就像 swift 的情况一样)(http://en.wikipedia.org/wi
..
说我有以下两种类型: export type CollectionNames = 'twitter:tweets' | 'twitter:users' | 'twitter:metadata-cashtag' export type CollectionType = T extends 'twitter:tweets' ? T
..
我对Python还是很陌生,我正在尝试适应它的动态类型.有时候,我有一个函数或一个类,它期望某种类型的参数,但是可以得到另一种可以强制执行的类型的值.例如,它可能期望为float,但接收的是int或小数.或者它可能需要一个字符串,但是会收到一个定义__str__特殊方法的对象. 将参数强制为正确类型(及其原因)的最佳实践是什么?我是在函数/类中还是在调用方中进行的?如果在调用方中,是否还要在
..
我做到了 > 5 + 2 // 7, this is correct > 5 - 2 // 3 , obviously > 5 - "2" // 3 , ohh, that's awesome > 5 % "2" // 1 , :) > 5 / "2" // 2.5,looks like 2 is automatically converted to integer.Perfe
..
我需要将返回值转换为需要保持动态的特定类型,例如 let cellType = "CellTypeToBeResolved" cell = (tableView.dequeueReusableCellWithIdentifier("myID") as? CellTypeToBeResolved)! 在Swift 2.0中这怎么可能? 谢谢! 解决方案 您无法做到,因为Swift故
..
我开始学习Python,作为一名主要的Java开发人员,我最大的问题是了解何时以及何时不使用类型检查.大多数人似乎在说Python代码不需要进行类型检查,但是在很多情况下,我认为这是必要的.例如,假设我需要使用一个方法参数来执行算术运算,为什么我不应该确保该参数是数字数据类型呢? 此问题不仅限于功能.对于类变量,我也经历了同样的思考过程.为什么以及何时不应该使用属性(使用@property)
..
我想在Objective C中动态转换并访问实例属性.这里是伪代码: id obj; if (condition1) obj = (Class1*)[_fetchedResults objectAtIndex:indexPath.row]; else obj = (Class2*)[_fetchedResults objectAtIndex:indexPath.row];
..
比方说,我获得了我作为String做的一类的名称.如何使用该字符串中包含的名称实例化该类?我知道它将从某个父类派生,但实际的类会有所不同. 解决方案 var instance : MyClass = Type.createInstance(Type.resolveClass("path.to.MyClass"), []); 一些注意事项: resolveClass()包含所需类的
..
sqlite使用的东西被作者称为"清单输入",这基本上意味着sqlite是动态类型的:如果需要,可以将varchar值存储在"int"列中. 这是一个有趣的设计决定,但是每当我使用sqlite时,我就将其像标准RDMS一样使用,并将类型视为静态.确实,在其他系统中设计数据库时,我什至都不希望使用动态类型的列. 那么,此功能何时有用?有人在实践中找到了很好的用处,而用静态类型的列却做不到
..
我是Ruby的新手,目前正在尝试使用我作为指南的Ruby书中的一些示例: class Account attr_accessor :balance def initialize(balance) @balance = balance end end class Transaction def initialize(account_a, account_b) @account
..
我想知道是否有一种编程语言可以编译为具有动态类型和/或弱类型的机器代码/二进制(不是字节码,然后由VM执行,这在考虑键入时是完全不同的),例如: 想想一种编译语言,其中: 不需要声明变量 可以在运行时创建变量 函数可以返回不同类型的值 问题: 有这样的编程语言吗? (为什么)不? 我认为动态而强大的类型化编译语言确实可以理解,但是有可能吗? 解决方案 我
..
我想知道如何在Python中将变量用于对象和函数名称.在PHP中,您可以执行以下操作: $className = "MyClass"; $newObject = new $className(); 您如何在Python中执行此类操作?还是我完全不了解Python的一些根本区别,如果是,那是什么? 解决方案 在Python中, className = MyClass new
..
我遇到了一种非常奇怪的行为,我无法理解.我有一个Texture类,其contentWidth属性的类型为int.此类包装在Image类中,该类具有类型为int的width属性. Image的width可以简单地计算为基础纹理的contentWidth: - (int) width { return texture.contentWidth; } 现在Image由要读取图像大小的B
..
我有一个Python函数,该函数带有一个数字参数,必须是整数,以便其正确运行.在Python中进行验证的首选方式是什么? 我的第一反应是做这样的事情: def isInteger(n): return int(n) == n 但是我不禁会认为这是1)昂贵的2)丑陋的和3)受到机器epsilon的怜悯之情的. Python是否提供任何本机的类型检查变量方法?还是认为这违
..
在阅读有关动态和静态类型的文章时,我一直提出以下假设:编译静态类型的语言,而解释动态类型的语言.我知道总的来说这是对的,但是我对异常很感兴趣. 我真的希望有人不仅给出这些例外的一些例子,还要尝试解释为什么决定这些语言应该以这种方式工作. 解决方案 以下是一些有趣的系统的列表. 不是详尽无遗! 动态键入和编译 The Gambit Scheme编译器, Chez Schem
..
有人可以告诉我强打字和弱打字是什么意思,哪个更好? 解决方案 这将是理论上需要注意的答案,但实践方面似乎已经被忽略了…… 强类型化意味着您不能在期望使用另一种类型的变量中使用它(或者这样做会受到限制).弱类型意味着您可以混合使用不同的类型.例如,在PHP中,您可以混合数字和字符串,而PHP不会抱怨,因为它是一种弱类型的语言. $message = "You are visito
..
由于python是动态类型的,因此我们当然可以执行以下操作: def f(x): return 2 if x else "s" 但这是python实际使用的方式吗?换而言之,例如,联合类型是否在Racket中的意义上存在?还是只像这样使用它们: def f(x): if x: return "s" 我们唯一需要的“联盟"是“无"? 解决方案
..
我看到这些术语在编程中无处不在,并且我对它们的含义有一个模糊的概念.搜索显示我实际上已经在整个堆栈溢出中询问了此类问题.据我所知,语言中的静态/动态键入与强/弱键入有细微的区别,但是这种差异是我难以理解的.不同的来源似乎使用不同的含义,甚至可以互换使用这些术语.我找不到某个地方可以同时讨论这两者,并能真正说明两者之间的区别.最好的是,如果有人可以在这里为我和世界其他地方清楚地说明这一点. 解
..