问题标签 [variance]

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 投票
2 回答
972 浏览

prolog - 计算序言中的方差

我在 Prolog 中做了一个函数:-

出于某种原因,当我尝试计算方差时,它总是这样回答“假”:variance([1,2,3],2,VO) 或 statsList([1,2,3],M,VO)

但是,如果我仅使用它来测试它是否有效:

有人可以告诉我哪里出错了吗?

0 投票
3 回答
536 浏览

scala - 除了输入/输出参数之外,类型方差的其他用途是什么?

我的理解是在以下情况下使用类型差异:

  • 如果泛型类型G具有类型参数T1,它作为G方法的参数的类型出现,则G可以在 中是逆变T1

  • 如果G有类型参数T2,它显示为 的方法(或 ctor)的任何返回值的类型G,则G可以在 中是协变T2

如果我在上面的句子中替换can be with should be怎么办?还有其他使用协变和反变的情况吗?你什么时候以及为什么要让你的类型是协变和反变的?

0 投票
2 回答
2788 浏览

matlab - [0,1] MATLAB 上均匀分布的均值方差

Matlab中获得均匀分布的均值和方差的最佳方法是什么[0,1]

0 投票
1 回答
490 浏览

c# - #region 方差和置信度计算

0 投票
2 回答
311 浏览

scala - 路径依赖类型的方差技巧

这是隐式和路径相关类型的另一个。我不明白为什么我需要在这里如此冗长:(注意——我找到了答案,见下文)

第一次尝试:

第二次尝试:

第三次尝试:

0 投票
2 回答
3443 浏览

statistics - 使用 Fortran 正确查找标准差和总体方差的问题

当我在 fortran 95 上搜索标准偏差和总体方差时,我找不到太多东西。所以我想知道是否有人可以帮助我?谢谢你的时间。

这是我所做的,它编译得很好,但结果却给出了错误的值:

0 投票
1 回答
218 浏览

scala - 对方差感到困惑

鉴于以下情况:

由于 Crate 是不变的,我不能执行以下操作(如预期的那样):

但是,当 Crate 不是协变的时,为什么我可以用这些调用方法 p?:

我是否错过了一些基本的方差原则?

0 投票
2 回答
667 浏览

scala - 带排序的参数化方法?

现在我很困惑。我对 Scala 很陌生,已经使用了几个星期,我想我已经熟悉它了,但是我被困在下面这个看似微不足道的案例中。

我找不到与此 Java 声明等效的 Scala:

我认为以下会做:

但是,我收到以下错误:

错误:涉及类型 A 的非法循环引用

错误:类型 scala.math.Ordering[A] 的发散隐式扩展从对象排序中的方法 Tuple9 开始

我哪里错了?

0 投票
1 回答
315 浏览

scala - 有序、部分有序的方差

根据文档,PartiallyOrdered[A]在 中是协变的A,而在Ordered[A]中是不变的(但曾经是协变的)A

为什么曾经Ordered[A]是协变的A?这不是明显违反了替代原则吗?

为什么不能Ordered[A]逆变A?例如,这将允许Ordered[Traversible[Char]]将 a 键入为Ordered[StringBuilder]。我不明白这怎么会有问题。

我无法理解tryCompareToin的签名PartiallyOrdered。看起来参数可以是任何超类型的实例A。你不能通过调用传递任何对象tryCompareTo[Any](anything)吗?如果是这样,方法签名比什么更好tryCompareTo(that: Any)

从逻辑上讲,有序集是部分有序集的子类,但 Scala 类似乎没有反映这种关系。这是因为不能Ordered[A]尽可能地协变吗?APartiallyOrdered[A]

0 投票
2 回答
110 浏览

c# - 委托中的派生类型功能

我想写一个带有签名的方法Expression<Func<T, bool>> Foo<T>()。我的 U 类继承自 T。我想在此委托中包含特定于 U 的处理。问题是,T 不能隐式转换为 U。有什么方法可以在这个方法中访问 U 特定的属性吗?

复杂性:我也有想要处理的类型 V : T ,所以我不能通过在签名中用 U 替换 T 来利用方差。