问题标签 [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 投票
4 回答
5200 浏览

c# - .NET generic class instance - passing a variable data type

As the title suggests, I'm tyring to pass a variable data type to a template class. Something like this:


I'm assuming it's something to do with the template being processed at compile time but even if I'm off the mark there, it wouldn't solve my problem anyway. I can't find any relevant information on using Reflection to instance template classes either.

(How) can I create an instance of a dynamically typed repository at runtime?

0 投票
6 回答
298 浏览

design-patterns - 是用于迭代类持有的列表的模式(动态类型的 OO 语言)

如果我有一个包含一个或多个列表的类,是否允许其他类获取这些列表(使用 getter)更好?doXyzList/eachXyzList或者为该列表实现一个类型方法,传递一个函数并在该对象包含的列表的每个元素上调用该函数?

我写了一个程序,做了很多这样的事情,我讨厌传递所有这些列表,有时使用类中的方法A调用类中的方法B来返回包含在类中的列表CB包含一个C或多个C's。

注意这个问题是关于动态类型的 OO 语言,如 ruby​​ 或 smalltalk)

前任。(出现在我的程序中):

Person包含调度首选项的scheduler类和需要访问它们的类上。

0 投票
3 回答
1816 浏览

c# - 如何在运行时创建一系列编号变量?

朋友们,我必须创建一系列ArrayLists,每个都包含未知来源的对象,每个实例都分配给一个单独的局部变量。

到目前为止,一切都很好......但我还需要每个局部变量的名称遵循一个非常特定的模式:名称应该以“oArr”开头,后跟一个或多个数字,反映该特定数组在序列中的位置。此外,在编译时我不会知道这些数组中有多少——因此,有多少局部变量——我将需要!

让我感到震惊的是,这可能是一个可以通过 C# 4.0 中动态类型的可用性来解决的问题,但是我一点也不熟悉它们的使用。我怎么能接受这样的代码......

...并将其变成符合上述标准实际编译的东西?

或者,有没有更简单、更理智的方法来解决这个问题?

0 投票
2 回答
326 浏览

programming-languages - 值得动态类型语言的所有批评吗?

我在互联网上阅读了几篇关于企业编程语言选择的文章。最近流行了很多动态类型语言,如Ruby、Python、PHP和Erlang。但许多企业仍然使用静态类型语言,如 C、C++、C# 和 Java。

是的,静态类型语言的好处之一是编程错误在编译时被更早地捕获,而不是在运行时。但是动态类型语言也有优势。(更多在维基百科

企业没有开始使用像 Erlang、Ruby 和 Python 这样的语言的主要原因似乎是它们是动态类型的。这似乎也是 StackOverflow 上的人们决定反对 Erlang 的主要原因。看看你为什么决定“反对” Erlang

然而,在企业中似乎有对动态类型的强烈批评,但我真的不明白为什么它如此强大。

真的,为什么企业对动态类型有如此多的批评呢?它真的会影响项目的成本吗,还是什么?但也许我错了。

0 投票
3 回答
1989 浏览

dynamic-typing - 您从动态类型中受益的地方在哪里?

您多久以在静态类型语言中实际上不可行的方式利用动态类型?

我感兴趣的是,这些在现实世界(而不是演示)代码中使用的频率如何?

0 投票
1 回答
813 浏览

objective-c - Objective-C 超类型多态性

我对Objective-C相当陌生,想知道是否可以在分配对象时将对象键入为其超类型而不会收到编译器警告,或者是否有公认的方法来实现相同的目标?

我意识到这是类型 id 的用途,但我有一个具有综合属性的基类,如果我尝试使用 id,我会收到构建错误“请求成员 'x' 不是结构或联合”,大概是因为动态打字适用于向对象发送消息,但不适用于访问综合属性。

例如在Java中我可能有:

我目前在 Objective-C 中进行了上述工作,但有一个编译器警告:“assignment from distinct Objective-C type”

好的,这是 Objective-C 接口,如果你愿意,我可以添加实现。这是一个复合模式:

0 投票
3 回答
282 浏览

static-typing - 您知道动态类型语言中优雅解决方案的任何示例吗?

想象一下两种语言(除了类型信息)确实具有完全相同的语法,但一种是静态类型,而另一种使用动态类型。然后,对于每个用静态类型语言编写的程序,可以通过删除所有类型信息来派生一个等效的动态类型程序。由于这不一定是可能的,因此动态类型程序的类严格大于静态类型程序的类。让我们称之为动态类型程序,其中没有变量到类型的映射,使它们成为静态类型真正的动态类型程序”。

由于这两个语言家族都绝对是图灵完备的,我们可以肯定,对于每一个真正的动态类型程序,都有一个静态类型程序在做完全相同的事情,但我经常读到“有经验的程序员能够编写非常优雅的代码动态类型语言”。因此我问自己:有没有真正动态类型程序的好例子,任何等效的静态类型程序显然更复杂/更不“优雅”(无论这意味着什么)?

你知道这样的例子吗?

0 投票
2 回答
977 浏览

duck-typing - 没有鸭子类型的动态类型?

我习惯于动态类型,这意味着在运行时检查对象/非面向对象结构的类型信息并抛出某种类型错误,即如果它像鸭子一样嘎嘎叫,那就是鸭子。是否有不同类型的动态类型(请详细说明)。

0 投票
4 回答
195 浏览

actionscript-3 - Object、* 和 no type 之间有什么区别?

这三个声明之间有什么区别吗?

AS 中有什么不是Object?

0 投票
2 回答
115 浏览

iphone - 我可以为类类型变量指定特定的超类要求吗?

我正在创建一个初始化某些类的实例的类。这个类将用于初始化几个不同类型的类,这些类都是从一个公共超类继承而来的。目前我正在使用一个实例变量:

存储类类型。我收到编译器警告说模板类不支持方法。有没有办法抑制这些警告或指定模板类必须是某个类的子类?
另外,这是在objective-c中解决这个问题的理想方法吗?有没有不同的方法来指定我应该使用的类?
谢谢您的帮助!

编辑:我正在编写的课程旨在在随机选择的位置创建精灵,并使用一些变量来限制它们。这个类期望它重新定义的类有一个initWithX:(int)pos yVariance:(int)variance方法。我希望这可以使用您提到的协议来定义。我将为我必须创建的每种类型的精灵制作多个 rezzing 类的实例。我希望能够发送 rezzing 类initWithTemplateClass:(Class)templateClass来定义要创建的精灵的类型。我不确定这是否是解决此问题的正确方法,因为编译器发布该方法initWithX:(int)pos yVariance:(int)variance不适用于模板类。我希望我处理这个问题的方式有问题。显示警告的代码是: