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

haskell - 可键入类型的“模式匹配”

例如,假设我们有以下数据结构:

现在,有没有更简单的方法来做到这一点:

有人想过为Typeable类型的模式匹配制定语法吗?

0 投票
3 回答
953 浏览

haskell - Haskell -- 从具体类型实例中获取 TypeRep

我想用这种类型签名写一个函数:

其中 TypeRep 将是a的类型表示,而不是ta的类型表示。也就是说,编译器应该在任何调用站点 [to getTypeRep ] 自动返回正确的类型表示,这将具有a 的具体类型。

为了添加一些上下文,我想创建一个“动态类型”数据类型,它会记住顶级类型,但不会记住它的参数。例如,我想将MyClass a转换为Dynamic MyClass,上面的函数将用于创建Dynamic MyClass的实例,该实例存储类型参数a的表示形式。

0 投票
1 回答
867 浏览

c#-4.0 - 有没有办法在运行时创建动态类型,而无需将它们永久保存在应用程序域中?

我目前对动态生成类型的理解是这样的:

如果您通过 CodeDom 生成一个类型并将其加载到 AppDomain 中,则无法在Assembly.Unload(...)不破坏整个 AppDomain 的情况下卸载该类型(即不存在)。

关于如何在运行时创建自定义类型还有其他想法吗?

C# 4.0dynamic关键字可以以某种方式神奇地使用吗?.NET 4ExpandoObject可以用一些可爱的方式吗?

可以将匿名类型和动态关键字与一些技术魔法结合起来吗?!感觉就像我们分散的工具可能会实现一些有用的东西。但我可能是错的。

0 投票
1 回答
415 浏览

scala - 从 Any 到 Dynamic 的隐式转换

为什么以下不起作用?(是的,我正在使用2.9.0final并打开“ -Xexperimental ”选项。)

人们可以争论这是多么有意义......如果这能按预期工作,那么优先级将发生在"Say".toInt:StringLike.toInt(new Dynamic {...}).applyDynamic("toInt")?

0 投票
2 回答
2372 浏览

programming-languages - Prolog 是无类型语言吗?Prolog 和动态类型语言有什么区别?

如果 Prolog 对字符串、数字、原子、列表和复合结构有明确的区分,它怎么能被称为无类型。以及它与动态类型语言(例如 Lisp)有何不同。

Prolog 与“动态类型语言”定义的哪一部分冲突?Lisp 与“无类型语言”定义的哪一部分相冲突?

任何见解都值得赞赏。

更新

我已经知道动态、静态、强类型和弱类型之间的区别。我的问题是关于 Prolog 的一个特殊情况。我只是想了解 Prolog 如何被认为是无类型的,尽管它似乎与动态类型语言没有明显区别。

这是 Prolog 无类型 的参考http://en.wikipedia.org/wiki/Prolog#Types

0 投票
8 回答
4177 浏览

java - Java:如何声明一个变量实现了一个接口?

在 Objective-C 中,我可以这样做:

delegate(类型的变量id)符合HTTPRequestDelegate协议(或HTTPRequestDelegate用Java语言实现接口)。

这样,每当我将HTTPRequestDelegate协议定义的消息发送到delegate时,编译器都会理解该delegate响应。

我如何在 Java 中做到这一点,即鸭子类型/动态类型?

0 投票
4 回答
1692 浏览

language-agnostic - 弱类型相对于强类型的优势

所以,我在 Stack Overflow 上阅读了一堆关于这个问题的类似问题,我想我很好地掌握了两者之间的区别。我的问题是除了某些操作对程序员来说更容易这一事实之外,弱类型是否比强类型有任何优势。虽然我同意强类型语言不必要地复杂类型之间的一些操作,但似乎弱类型语言仍然可以用强类型语言完成所有额外的包袱。

就个人而言,我可能更喜欢强类型的额外安全性并处理某些操作的小麻烦,但除此之外,弱类型还有什么优势吗?有没有一些强类型永远无法做到的事情?

0 投票
1 回答
4022 浏览

objective-c - 参数 isKindOfClass: [NSNumber class] - 理智的方法来检查这个?

所以我在玩一些直到运行时才知道 arg 的类类型的东西。像这样:

这显然是我正在尝试做的一个人为的例子。关键是这永远不会起作用,因为“arg”类总是显示为 NSCFNumber,我想不出一种方法来检查它。

有什么方法可以减少检测数组中的任意值是否为整数的混淆?


更新: 感谢@chuck、@omz 和@Nikita Leonov 的帮助。我最初在这里发布的内容只是对我遇到的问题的简化,并在没有先运行它的情况下将其写在这里。该代码一旦更新以消除错误(见下文)实际上运行良好。

我在实际代码中犯的错误同样愚蠢——我将数组传回“doWhatever”而不是数组索引处的项目,这就是我遇到问题的原因。

感谢您尝试提供帮助,但我的问题被误导了。很抱歉浪费了大家的时间!

更正了按需要运行的代码:

0 投票
2 回答
2367 浏览

c# - 在运行时获取对象类型

我有下面的代码。我得到一个我不知道其类型的对象。我必须检查三个 if 条件来检查它的类型,然后进行正确的转换。

有没有办法在运行时获取对象类型并进行强制转换,而不检查任何 if 条件?

我拥有的对象是requirementTemplate,我必须使用多种类型对其进行检查以获取其类型,然后进行强制转换。

0 投票
5 回答
539 浏览

d - 在静态类型语言 D 中使用动态类型

当我遇到一个有趣的问题时,我正在为 D 实现一个动态类型库。

现在,我已经成功地创建了一个函数dynamic(),它返回一个对象的动态版本。

例如:

我遇到的问题是writeln尝试使用编译时反射来找出如何处理result.

它尝试的第一件事是什么? isInputRange!(typeof(result))

问题是,它返回true!为什么?因为我必须假设它需要的所有成员都存在,除非我可以在运行时证明不存在——这为时已晚。所以程序试图调用front,popFrontemptyon result,使我的程序崩溃。

我想不出办法来解决这个问题。有人有想法吗?