问题标签 [dynamic-typing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
48403 浏览

python - 在 Python 中使用变量作为类名?

我想知道如何在 Python 中为对象和函数名使用变量。在 PHP 中,您可以这样做:

你如何在 Python 中做这种事情?或者,我是否完全不了解与 Python 的一些根本区别,如果是,那是什么?

0 投票
8 回答
45659 浏览

prototyping - 谁能告诉我强类型和弱类型是什么意思,哪个更好?

谁能告诉我强类型和弱类型是什么意思,哪个更好?

0 投票
9 回答
49358 浏览

python - 如何在 Python 中对变量进行类型检查?

我有一个 Python 函数,它接受一个数字参数,该参数必须是一个整数才能正确运行。在 Python 中验证这一点的首选方法是什么?

我的第一反应是做这样的事情:

但我不禁认为这是 1) 昂贵 2) 丑陋和 3) 受制于机器 epsilon 的温柔怜悯。

Python 是否提供任何类型检查变量的本机方法?或者这是否被认为违反了语言的动态类型设计?

编辑:因为很多人都问过 - 有问题的应用程序使用 IPv4 前缀,从平面文本文件中获取数据。如果任何输入被解析为浮点数,则该记录应被视为格式错误并被忽略。

0 投票
4 回答
1948 浏览

objective-c - 更改 Objective-C 对象的 isa 是否已定义行为?

在 Objective-C 中,您可以在运行时通过分配对象的isa成员变量来更改对象的动态类型:

这是未定义的行为吗?我目前正在这样做,因为它是为了做其他事情,它似乎正在工作,但我觉得这样做很肮脏。我设置的新类没有添加任何成员变量,它只是覆盖了一个方法并添加了一个新方法,因此类大小是相同的。我觉得如果我改变对象的大小,会导致很多问题。

0 投票
6 回答
4021 浏览

variables - 动态类型语言中地图/列表的变量命名约定

我正在学习 Groovy 语言,它具有动态类型(以及可选的静态类型)。它还原生支持列表、地图和范围,所以我发现自己经常使用列表和地图,尤其是列表列表、地图列表、列表地图等。

在静态语言中(尤其是泛型语言),你总是知道你的类型是什么。我对动态语言相当陌生,要跟踪我的变量应该是什么变得有点困难,所以我想知道其他人是否使用某种变量命名约定来保持这些正确。

例如,假设我有一个日期映射作为键和整数作为值。或整数列表,或包含字符串作为键和帐户对象作为值的映射列表。

似乎在变量名后面创建一个清晰的约定将帮助我跟踪我正在处理的数据类型结构,而无需查找它。

有小费吗?

0 投票
2 回答
1832 浏览

java - Python Programming - 用 Python 开发企业级软件的规则/建议?

我是一个有点高级的 C++/Java 开发人员,最近对 Python 产生了兴趣,我非常喜欢它的动态类型和高效的编码风格。我目前使用它来满足我的小型编程需求,例如解决编程谜题和编写脚本,但我很好奇是否有人在企业级项目中成功使用过 Python?(最好使用现代编程概念,例如 OOP 和某种类型的设计模式)

如果是这样,你能否解释一下你为什么选择 Python (特别是),并给我们一些你从这个项目中学到的经验教训?(随意比较在项目中使用 Python 与 Java 等)

0 投票
2 回答
1273 浏览

sql - sqlite 的清单类型何时有用?

sqlite 使用了作者称之为“ Manifest Typing ”的东西,这基本上意味着 sqlite 是动态类型的:如果需要,您可以将 varchar 值存储在“int”列中。

这是一个有趣的设计决定,但是每当我使用 sqlite 时,我都会像使用标准 RDMS 一样使用它,并将类型视为静态的。事实上,在其他系统中设计数据库时,我什至从未希望使用动态类型的列。

那么,这个功能什么时候有用呢?有没有人在实践中发现了它的一个很好的用途,而静态类型的列却无法做到这一点?

0 投票
2 回答
698 浏览

c# - 将具有 T 类型的对象转换为 T 类型

我继承了一个带有 Windows 移动部件的项目。长话短说,我的问题是:

抛出异常。

在监视窗口中,我有以下内容:

我不熟悉这段代码,但希望有一些简单的方法来转换'Pss.Common.Mia.CustomerBase<T>' to 'Pss.Common.Mia.CustomerBase<System.Guid>' 第二个 Watch 条目是我的尝试,如您所见,它失败了。

0 投票
5 回答
5535 浏览

stack - 虚拟机是如何工作的?

我一直在研究编程语言是如何工作的,其中一些具有所谓的虚拟机。我知道这是在另一种编程语言中对编程语言进行某种形式的仿真,并且它的工作方式类似于使用堆栈执行编译语言的方式。我做对了吗?

有了我所做的附带条件,让我感到困惑的是,许多非编译语言允许具有“自由”类型系统的变量。例如,在 Python 中,我可以这样写:

字符串和大整数是完全不相关的,并且在内存中占用的空间量不同,那么这段代码怎么能在基于堆栈的环境中表示呢?这里到底发生了什么?x 是否指向堆栈上的新位置并且未引用旧的字符串数据?这些语言不使用堆栈吗?如果不是,它们如何在内部表示变量?

0 投票
8 回答
5931 浏览

c# - C#中的动态类型

我知道这不起作用,但是有没有人有办法让它起作用?

编辑:

这是当前代码:http: //github.com/vimae/Nisme/blob/4aa18943214a7fd4ec6585384d167b10f0f81029/Lala.API/XmlParser.cs

我试图简化的方法是 SingleNodeCollection

正如你所看到的,它目前使用了如此复杂的反射方法。