问题列表 - 第7613页

Haskell:根据第一个值查找列表中元组的第二个值

我在这里有一个函数,用于查看元组列表,并通过获取第一个值来查找元组中的第二个值.这是迄今为止的功能:

lookup :: String -> [(String,String)] -> String
lookup _ _ [] = "Not found"
lookup x y zs = if (notFound x zs)
    then "Not found"
    else (head [b | (a,b) <- zs, (a==x)])
Run Code Online (Sandbox Code Playgroud)

如果没有包含给定第一个字符串的元组,则notFound函数只返回一个Bool为true.问题是,我在Hugs中遇到这种类型的错误:

ERROR "find.hs" (line 22): Type error in explicitly typed binding
*** Term           : lookup
*** Type           : String -> [(String,String)] -> [a] -> String
*** Does not match : String -> [(String,String)] -> String
Run Code Online (Sandbox Code Playgroud)

我认为它与虚拟的"未找到"值有关,它与生成列表中的字符串具有不同的类型,但我不确定.

search haskell list

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

jQuery:填充下拉列表的最佳做法?

我看到的所有时间的例子似乎都不是最理想的,因为它涉及连接字符串,这似乎不是jQuery.它通常看起来像这样:

$.getJSON("/Admin/GetFolderList/", function(result) {
    for (var i = 0; i < result.length; i++) {
        options += '<option value="' + result[i].ImageFolderID + '">' + result[i].Name + '</option>';
    }
});
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

jquery select

264
推荐指数
8
解决办法
34万
查看次数

如何在处理已用事件时阻止计时器?

我有一个计时器,不需要同时处理其已用的事件处理程序.但处理一个Elapsed事件可能会干扰其他事件.我实施了以下解决方案,但感觉不对劲; 似乎要么我应该使用不同的计时器,要么在线程空间内使用另一个对象.计时器似乎最合适,因为我确实需要定期检查状态,但有时检查将花费比我的间隔更长的时间.这是解决这个问题的最佳方法吗?

// member variable
private static readonly object timerLock = new object();
private bool found = false;


// elsewhere
timer.Interval = TimeSpan.FromSeconds(5).TotalMilliseconds;
timer.Elapsed = Timer_OnElapsed;
timer.Start();


public void Timer_OnElapsed(object sender, ElapsedEventArgs e)
{
  lock(timerLock)
  {
    if (!found)
    {
      found = LookForItWhichMightTakeALongTime();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading timer

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

是否有一个装饰器来简单地缓存函数返回值?

考虑以下:

@property
def name(self):

    if not hasattr(self, '_name'):

        # expensive calculation
        self._name = 1 + 1

    return self._name
Run Code Online (Sandbox Code Playgroud)

我是新手,但我认为缓存可能会被装入装饰器中.只有我找不到喜欢它的人;)

PS真正的计算不依赖于可变值

python caching decorator

133
推荐指数
11
解决办法
9万
查看次数

即使文本框为空,如何使自定义验证器触发?

我在文本框上设置了自定义验证器.

它只验证文本框中是否有一些文本,我需要在有人点击提交按钮时一直触发.

我怎样才能做到这一点?

asp.net validation custom-validators

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

可以使用什么Java Swing事件来了解应用程序何时启动?

我正在寻找一个地方来挂钩一些代码,以便在应用程序加载完成后以编程方式创建,调整JPanel的大小和位置.

我刚开始使用Java.我正在使用带有jdk1.6.0_13的NetBeans 6.5.1.我已经使用新项目向导来创建基本的Java/Swing桌面应用程序.这是一个SingleFrameApplication,它使用带有中央主JPanel的FrameView,其中放置了所有UI元素.

我首先在FrameView构造函数中尝试了我的代码但是当我尝试根据我添加到UI中的一个设计时控件的边界矩形来安排我的JPanel时,该控件还没有完成定位和调整大小所以我得到了全部为坐标的零.

我已经验证了我的代码按照预期通过在应用程序加载后从单击事件中调用它来工作,所以我的问题是找到一种方法来了解何时完成所有内容的大小和排列.

我还尝试了来自主JPanel的componentShown事件,但后来我读到只有在显式调用setVisible时才会触发,这在正常的应用程序启动过程中显然不会发生.

任何人都可以提供一些指示吗?谢谢.

更新:

除了我在下面的答案中提到的,我还阅读了Application.ready()方法.这也是知道应用程序的UI部分何时完成它需要做的所有事情的兴趣点.从应用程序传达我的观点似乎有点混乱.

java swing

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

C#Foreach循环 - 继续问题

我的C#Foreach循环中的continue语句有问题.

我希望它检查datagridview中是否有空白单元格,如果是,则跳过打印值并继续检查下一个单元格.

非常感谢.

这是代码:

foreach (DataGridViewRow row in this.dataGridView1.Rows)
{                            
    foreach (DataGridViewCell cell in row.Cells)
    {
        if (cell.Size.IsEmpty)
        {
            continue;
        }
        MessageBox.Show(cell.Value.ToString());
    }
}
Run Code Online (Sandbox Code Playgroud)

c# foreach datagridview continue

6
推荐指数
1
解决办法
7万
查看次数

如何使用jQuery获取在文本框中输入的文本长度?

如何使用jQuery获取在文本框中输入的文本长度?

jquery

136
推荐指数
4
解决办法
28万
查看次数

JPanel翻出来,FlowLayout没有按预期工作

前几天这段代码正在运行.我改变了一些东西并重新运行它,现在它没有按预期工作.显然我改变的行为改变了行为,但我已经回去并恢复了所有这些改变,但它仍然无效.忽略那一点信息(开始),为什么这段代码不会在JPanel中放置一个15x15的JLabel网格?

gameBoard.setLayout(new FlowLayout());

for (int i = 0; i < 15; i++)
{
    for (int j = 0; j < 15; j++)
    {
        JLabel tile = new JLabel("");                       
     tile.setHorizontalAlignment(SwingConstants.CENTER);
        tile.setPreferredSize(new Dimension(27, 27));
        tile.setBorder(new EtchedBorder());
        tile.setEnabled(false);

        gameBoard.add(tile);
    }
}
Run Code Online (Sandbox Code Playgroud)

gameBoard是通过NetBeans的GUI Builder定义的JPanel.它具有优选的尺寸,最大尺寸(与优选相同).水平/垂直可调整大小的选项被禁用,但是当此代码运行时,每个按钮水平延伸一行而不会断开.

如果我理解正确,FlowLayout应该在元素到达其包含元素的末尾时将其包装起来.这发生在今天之前,我真的不知道为什么这种行为停止了?

java jlabel alignment jpanel flowlayout

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

将页面上的选定文本插入textarea(jQuery)

需要将页面上的选定文本插入textarea.必须有一些按钮才能完成.

jquery

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