问题列表 - 第25900页

与函数实例展示的奇怪模式匹配

所以我正在编写一个程序,它返回一个给定算术问题的过程,所以我想实现一些Show的函数,以便我可以打印我测试时评估的相同表达式.问题是给定的代码匹配( - )到第一行时应该落到第二行.

{-# OPTIONS_GHC -XFlexibleInstances #-}

instance Show (t -> t-> t) where  
 show (+) = "plus"
 show (-) = "minus"  

main = print [(+),(-)]
Run Code Online (Sandbox Code Playgroud)

回报

[plus,plus]
Run Code Online (Sandbox Code Playgroud)

我只是首先承诺一个致命的印刷功能,还是有一些方法可以让它正确匹配?

编辑:我意识到我收到以下警告:

Warning: Pattern match(es) are overlapped
         In the definition of `show': show - = ...
Run Code Online (Sandbox Code Playgroud)

我仍然不知道为什么它会重叠,或者如何阻止它.

haskell pattern-matching

6
推荐指数
3
解决办法
298
查看次数

如何从SharePoint自定义列表中的日期/时间列获取日期和当前时间

我在sharepoint 2007的一个自定义列表中有一个名为"Date Submitted"的列作为日期/时间.它总是设置为今天的日期和12AM时间,而不是我想用当前时间显示今天的日期hh:mm:ss.

我尝试创建计算列TestDate,公式为:= TEXT(([提交日期]),"mm dd yyyy h:MM:SS")

结果是04 28 2010 0:00:00我想成为04/28/2010 10:50:34

是否有可能实现这一目标?

谢谢kanta

sharepoint list

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

在没有主窗口的MFC应用程序中创建多个对话框,它们成为彼此的子对象

(标题更新)继续这个问题,现在我更清楚地了解发生了什么......

我有一个没有主窗口的MFC应用程序,它公开了一个API来创建对话框.当我反复调用其中一些方法时,创建的对话框是彼此的父级,而不是所有对象的父级...我不知道为什么.

但无论如何,即使在创建之后,我也无法将父级更改回NULL或CWnd :: GetDesktopWindow()...如果我调用SetParent后跟GetParent,则没有任何更改.

因此,除了真正奇怪的问题,为什么Windows神奇地将每个对话框与最后创建的对话框相关联,是否有任何我不能将这些窗口设置为桌面的子项?


更新:我找到了所有这些的原因,但不是解决方案.从我的对话框构造函数中,我们最终得到:

BOOL CDialog::CreateIndirect(LPCDLGTEMPLATE lpDialogTemplate, CWnd* pParentWnd,
    void* lpDialogInit, HINSTANCE hInst)
{
    ASSERT(lpDialogTemplate != NULL);

    if (pParentWnd == NULL)
        pParentWnd = AfxGetMainWnd();
    m_lpDialogInit = lpDialogInit;

    return CreateDlgIndirect(lpDialogTemplate, pParentWnd, hInst);
}
Run Code Online (Sandbox Code Playgroud)

注意: if (pParentWnd == NULL)pParentWnd = AfxGetMainWnd();

我的对话框构造函数中的调用堆栈如下所示:

  • mfc80d.dll!CDialog :: CreateIndirect(const DLGTEMPLATE*lpDialogTemplate = 0x005931a8,CWnd*pParentWnd = 0x00000000,void*lpDialogInit = 0x00000000,HINSTANCE__*hInst = 0x00400000)
  • mfc80d.dll!CDialog :: CreateIndirect(void*hDialogTemplate = 0x005931a8,CWnd*pParentWnd = 0x00000000,HINSTANCE__*hInst = 0x00400000)
  • mfc80d.dll!CDialog :: Create(const char*lpszTemplateName = 0x0000009d,CWnd*pParentWnd = 0x00000000)
  • mfc80d.dll!CDialog …

winapi mfc

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

Asp.net Mvc:Ninject - IPrincipal

我想知道如何使用Ninject将IPrincipal绑定到Asp.net Mvc中的HttpContext.Current.User.

友好的问候,

Pickels

编辑:

不确定它是否重要但我使用自己的CustomPrincipal类.

asp.net-mvc ninject inversion-of-control iprincipal

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

Python Lambdas和变量绑定

我一直致力于自动构建的基本测试框架.下面的代码段代表了使用不同程序的两台机器之间通信的简单测试.在我实际进行任何测试之前,我想完全定义它们 - 所以下面的测试实际上并没有在声明所有测试之后运行.这段代码只是一个测试声明.

remoteTests = []
for client in clients:
    t = Test(
        name = 'Test ' + str(host) + ' => ' + str(client),
        cmds = [
            host.start(CMD1),
            client.start(CMD2),

            host.wait(5),

            host.stop(CMD1),
            client.stop(CMD2),
        ],
        passIf = lambda : client.returncode(CMD2) == 0
    )
remoteTests.append(t)
Run Code Online (Sandbox Code Playgroud)

无论如何,在运行测试之后,它运行'passIf'定义的函数.由于我想为多个客户端运行此测试,我正在迭代它们并为每个客户端定义测试 - 没什么大不了的.但是,在第一个客户端上运行测试之后,'passIf'会对客户列表中的最后一个进行评估,而不是lambda声明时的'client'.

我的问题是:python何时绑定lambdas中的变量引用?我想如果使用lambda外部的变量是不合法的,解释器就不知道我在说什么.相反,它默默地绑定到最后一个"客户端"的实例.

另外,有没有办法像我预期的那样强制解决问题?

python

7
推荐指数
2
解决办法
1591
查看次数

在C中查找数组(vs链表)哈希表实现

我在C中寻找一个哈希表实现,它将对象存储在(二维)数组而不是链表中.即,如果发生碰撞,则导致碰撞的对象将存储在下一个自由行索引中,而不是被推送到链接列表的头部和第一个元素.

另外,对象本身必须复制到哈希表,而不是由指针引用.(对象不会在程序的整个生命周期中存在,但表格确实存在).

我知道这样的实现可能具有严重的效率缺陷,并且不是"标准散列方式",但是当我在一个非常特殊的系统架构上工作时,我需要这些特性.

谢谢

c arrays hashtable hash-collision

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

Java静态方法参数

为什么以下代码返回100 100 1 1 1而不是100 1 1 1 1

public class Hotel {
private int roomNr;

public Hotel(int roomNr) {
    this.roomNr = roomNr;
}

public int getRoomNr() {
    return this.roomNr;
}

static Hotel doStuff(Hotel hotel) {
    hotel = new Hotel(1);
    return hotel;
}

public static void main(String args[]) {
    Hotel h1 = new Hotel(100);
    System.out.print(h1.getRoomNr() + " ");
    Hotel h2 = doStuff(h1);
    System.out.print(h1.getRoomNr() + " ");
    System.out.print(h2.getRoomNr() + " ");
    h1 = doStuff(h2);
    System.out.print(h1.getRoomNr() + " …
Run Code Online (Sandbox Code Playgroud)

java parameters static pass-by-reference pass-by-value

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

循环中的javascript var声明

/*Test scope problem*/
for(var i=1; i<3; i++){
    //declare variables
    var no = i;
    //verify no
    alert('setting '+no);

    //timeout to recheck 
    setTimeout(function(){
        alert('test '+no);
    }, 500);
}
Run Code Online (Sandbox Code Playgroud)

它按预期警告"设置1"和"设置2",但在超时后它输出"测试2"两次 - 由于某种原因,变量"否"在第一次循环后没有重置......

我发现只有一个"丑陋"的解决方法:

/*Test scope problem*/
var func=function(no){
    //verify no
    alert('setting '+no);

    //timeout to recheck 
    setTimeout(function(){
        alert('test '+no);
    }, 500);
}
for(var i=1; i<3; i++){
    func(i);
}
Run Code Online (Sandbox Code Playgroud)

有关如何以更直接的方式解决此问题的任何想法?或者这是唯一的方法吗?

javascript variables scope

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

我可以在不区分大小写的文件系统上强制MySql表名称区分大小写

所以我们的目标环境是linux,默认情况下使mysql区分大小写.我知道我们可以使用lower_case_table_names变量使我们的linux环境不区分大小写,但我们宁愿不这样做.我们有几次因案例不匹配而被咬,因为我们的开发工具是OSX,而​​mysql在那里并不区分大小写.

有没有办法可以强制表名在我的OSX安装的MySql(如果重要的话,5.0.83)上区分大小写,以便在部署到linux上运行的集成服务器之前捕获表名称不匹配?

mysql case-sensitive

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

在标签栏控制器内查看控制器不会在旋转时自动调整大小

(更正:视图控制器不会自动调整大小而不是不自动旋转.)

在iPad应用程序中,我在标签栏控制器中有五个常规视图控制器(不是导航控制器或类似的东西).标签栏控制器只是在app delegate中声明的普通UITabBarController.

所有视图控制器都在shouldAutorotateToInterfaceOrientation方法中返回YES.

在模拟器和设备上,在旋转时,标签栏和当前视图控制器会旋转,但当前选定的视图控制器(称为A)不会正确调整大小.它保持纵向宽度和高度(但它旋转).

如果我切换到另一个视图控制器B然后再返回到A(不再旋转设备),则A显示正确调整大小.

任何五个视图控制器都会发生这种情况

为什么当前选定的视图控制器不会在旋转时立即调整大小以及如何修复它?

谢谢.

iphone rotation uitabbarcontroller uiviewcontroller ipad

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