问题列表 - 第23886页

F#等效于Enumerable.OfType <'a>

...或者,如何通过它们实现的接口过滤一系列类?

假设我有一系列从Foo继承的对象,a seq<#Foo>.换句话说,我的序列将包含Foo的四个不同子类中的一个或多个.

每个子类实现一个不同的独立接口,它与其他子类实现的接口不共享.

现在我需要将此序列过滤为仅实现特定接口的项目.

C#版本很简单:

    void MergeFoosIntoList<T>(IEnumerable<Foo> allFoos, IList<T> dest) 
        where T : class
    {
        foreach (var foo in allFoos)
        {
            var castFoo = foo as T;
            if (castFoo != null)
            {
                dest.Add(castFoo);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我可以使用F#中的LINQ:

    let mergeFoosIntoList (foos:seq<#Foo>) (dest:IList<'a>) =
            System.Linq.Enumerable.OfType<'a>(foos)
            |> Seq.iter dest.Add
Run Code Online (Sandbox Code Playgroud)

但是,我觉得应该有一种更惯用的方法来实现它.我以为这会起作用......

    let mergeFoosIntoList (foos:seq<#Foo>) (dest:IList<'a>) =
            foos
            |> Seq.choose (function | :? 'a as x -> Some(x) | _ -> None)
            |> Seq.iter dest.Add
Run Code Online (Sandbox Code Playgroud)

然而,编纂者抱怨:? 'a- 告诉我:

从类型'b到'a的这种运行时强制或类型测试涉及基于该程序点之前的信息的不确定类型.某些类型不允许运行时类型测试.需要进一步的类型注释.

我无法弄清楚要添加的更多类型注释.还有的接口之间没有任何关系'a …

f#

15
推荐指数
2
解决办法
1937
查看次数

Innodb表的创建时间

来自INFORMATION_SCHEMA的"TABLES"表的CREATE_TIME列显示了我所有InnoDB表的相同CREATE_TIME.这意味着所有这些表都是在2010-03-26 06:52:00和2010-03-26 06:53:00之间创建的,而实际上它们是在几个月前创建的.

对于InnoDB表,CREATE_TABLE字段是否自动更改?

mysql

5
推荐指数
2
解决办法
1816
查看次数

接口方向委托方法之间有什么区别

任何人都可以分辨出willRotateToInterfaceOrientation,willAnimateRotationToInterfaceOrientation,didRotateFromInterfaceOrientation之间的差异,

iphone

1
推荐指数
1
解决办法
2697
查看次数

什么是NSParameterAssert?

什么是NSParameterAssert

有人可以用例子来解释吗?

iphone objective-c

82
推荐指数
1
解决办法
2万
查看次数

什么是热和冷可观测量?

我观看了视频,我知道了一般原则 - 即使没有人订阅也会发生热情,冷却发生在"按需".此外,Publish()将冷转换为热,Defer()将冷转换为冷.

但是,我觉得我错过了细节.以下是我想回答的一些问题:

  • 你能否对这些术语给出全面的定义?
  • 在热门的观察中呼叫发布或在寒冷中推迟发布是否有意义?
  • 热/冷转换的哪些方面 - 例如,您是否丢失了消息?
  • IObservable和IEnumerable的热定义和冷定义之间是否存在差异?
  • 在为冷或热编程时应该考虑哪些一般原则?
  • 关于热/冷可观测量的任何其他提示?

system.reactive

44
推荐指数
4
解决办法
1万
查看次数

如何解决PHP会话文件空问题?

我有一个非常简单的PHP会话测试页面.

<?php
session_start();

if (isset($_SESSIONS['views']))
{
    $_SESSIONS['views'] = $_SESSIONS['pv'] + 1;
}
else
{
    $_SESSIONS['views'] = 0;
}

var_dump($_SESSIONS);

?>
Run Code Online (Sandbox Code Playgroud)

刷新页面后,它始终显示

array
  'views' => int 0
Run Code Online (Sandbox Code Playgroud)

环境是XAMPP 1.7.3.我检查了phpInfo().会话已启用.

Session Support     enabled
Registered save handlers    files user sqlite
Registered serializer handlers  php php_binary wddx

Directive   Local Value Master Value
session.auto_start  Off Off
session.bug_compat_42   On  On
Run Code Online (Sandbox Code Playgroud)

访问该页面时,在我的"D:\ xampp\tmp"文件夹中创建了会话文件sess_lnrk7ttpai8187v9q6iok74p20.但内容是空的.

使用Firebug,我可以看到关于会话的cookie.

Cookie  PHPSESSID=lnrk7ttpai8187v9q6iok74p20
Run Code Online (Sandbox Code Playgroud)

似乎会话数据没有刷新到文件.

是否有任何方法或方向来解决此问题?

谢谢.

php session

0
推荐指数
2
解决办法
4671
查看次数

varargs和重载的错误?

Java varargs实现中似乎存在一个错误.当方法使用不同类型的vararg参数重载时,Java无法区分适当的类型.

它给了我一个错误 The method ... is ambiguous for the type ...

请考虑以下代码:

public class Test
{
    public static void main(String[] args) throws Throwable
    {
        doit(new int[]{1, 2}); // <- no problem
        doit(new double[]{1.2, 2.2}); // <- no problem
        doit(1.2f, 2.2f); // <- no problem
        doit(1.2d, 2.2d); // <- no problem
        doit(1, 2); // <- The method doit(double[]) is ambiguous for the type Test
    }

    public static void doit(double... ds)
    {
        System.out.println("doubles");
    }

    public static void doit(int... is)
    {
        System.out.println("ints"); …
Run Code Online (Sandbox Code Playgroud)

java overloading variadic-functions

21
推荐指数
2
解决办法
3856
查看次数

是否有在Windows Azure上运行的CMS系统?

我希望使用Windows Azure和SQL Azure构建一个新网站.有没有人知道我可以用作Web角色的任何商业或免费CMS系统,它们将连接并使用SQL Azure作为存储?

azure content-management-system azure-sql-database

8
推荐指数
2
解决办法
1万
查看次数

16
推荐指数
2
解决办法
1644
查看次数

动态添加HttpModules和HttpHandlers

在运行时从网站添加/删除HttpModules和HttpHandler是个好主意吗?我正在寻找使我的网站尽可能动态的方法,而无需再次上传更改的内容.像配置文件的东西.存在规则引擎,但学习它们似乎很痛苦.从我的角度来看,我可能是错的.请建议在运行时更改代码中逻辑的可能方法.

asp.net-3.5

3
推荐指数
2
解决办法
2661
查看次数