小编Mac*_*cha的帖子

字符串上的Haskell模式匹配 - 为什么这不起作用?

getMultiWordPortion :: String -> String
getMultiWordPortion (x:':':xs) = xs
getMultiWordPortion _ = ""
Run Code Online (Sandbox Code Playgroud)

此代码中模式匹配的预期结果是第一个冒号之前的所有内容都被分配给x,之后的所有内容都被分配给xs,这就是结果.如果没有冒号,则不返回任何内容.

我正在使用的示例字符串("PING:gibson.freenode.net" - 它是IRC客户端的一部分)实际发生的是我获得空白返回值.

我在这做错了什么?

haskell pattern-matching

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

typedef在C++中做了什么

typedef set<int, less<int> > SetInt;
Run Code Online (Sandbox Code Playgroud)

请解释一下这段代码的作用.

c++ typedef

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

如何使这个C++代码更干?

我在一个只有一个方法调用不同的类上有这两个方法.显然,这是非常干燥的,特别是因为两者都使用相同的公式.

int PlayerCharacter::getAttack() {
    int attack;
    attack = 1 + this->level;
    for(int i = 0; i < this->current_equipment; i++) {
        attack += this->equipment[i].getAttack();
    }
    attack *= sqrt(this->level);
    return attack;
}
int PlayerCharacter::getDefense() {
    int defense;
    defense = 1 + this->level;
    for(int i = 0; i < this->current_equipment; i++) {
        defense += this->equipment[i].getDefense();
    }
    defense *= sqrt(this->level);
    return defense;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能在C++中整理它?

c++ dry code-cleanup

8
推荐指数
4
解决办法
2331
查看次数

什么是大O符号?你怎么想出像O(n)这样的数字?

可能重复:
Big O的简明英语解释

我想这可能是在课堂上讲授的东西,但作为一名自学成才的程序员,我很少见到它.

我收集它与时间有关,而O(1)是最好的,而像O(n ^ n)这样的东西非常糟糕,但是有人能指出我对其实际代表的基本解释,这些数字来自哪里?

big-o

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

使用Ruby在命令行中包含文件

当运行ruby脚本时

ruby some-script.rb
Run Code Online (Sandbox Code Playgroud)

我如何动态地包含文件(例如配置文件)?

ruby command-line include

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

不可用对象的无序集合?

我有一个字典,其中一些值不可清除.我需要一些方法来比较这两个无序组,以确保它们包含相同的元素.我不能使用列表,因为列表相等性会考虑订单,但是设置不起作用,因为dicts不可清除.我查看了python文档,唯一看起来有用的东西是dict的视图,在某些情况下可以清除,但在这种情况下,这也没有帮助,因为其中一个值是一个包含列表本身的对象,这意味着dict的视图也不会是可以播放的.

是否有这样的情况的标准容器,或者我应该只使用列表并循环遍历两个列表中的每个元素,并确保在另一个列表中的某个位置有相同的元素?

python collections

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

停止Swing中事件的默认行为

我在通过单击发送按钮调用的方法中有以下代码,或者在一段代码中按消息文本字段中的Enter键.

// In class ChatWindow
private void messageTextAreaKeyPressed(java.awt.event.KeyEvent evt) { // Event handler created by Netbeans GUI designer to call this method.           
    if(evt.getKeyCode() == java.awt.event.KeyEvent.VK_ENTER) {
        sendMessage();
    }
}   
public void sendMessage() {
    String currentMessage = messageTextArea.getText();
    addMessage("You", currentMessage);
    app.sendMessage(currentMessage, 1);
    messageTextArea.setText("");
}
Run Code Online (Sandbox Code Playgroud)

最后一段代码使文本区域空白.但是,在按Enter按钮发送消息后,文本框包含换行符,而不是为空.

我的猜测是,在我的事件处理程序运行之后,然后添加了换行符.如何停止添加换行符?

java user-interface swing event-handling

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

相当于PHP的包含在C#中

在C#中PHP的include()的等效命令是什么?

例如,PHP的include用作如下:include("ex.php");

我可以在C#中做同样的事情吗?

php c#

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

为什么我的 JTextArea 没有更新?

我有如下代码:

class SimplifiedClass extends JApplet {

    private JTextArea outputText;
    // Lots of methods
    public void DoEverything() {
        String output = "";
        for(int i = 0; i <= 10; i++) {
            output += TaskObject.someLongTask(i);
            outputText.setText(output);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,当 setText 被调用时,它不是在循环的每次迭代后更新文本区域,而是在任务的所有运行完成后才更新文本。为什么会发生这种情况,我该如何解决?

java concurrency swing jtextarea event-dispatch-thread

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

为什么JavaScript有时被视为低级语言?

灵感来自这个问题.

我经常看到人们将JavaScript称为低级语言,特别是在GWT和类似工具包的用户中.

我的问题是:为什么?如果您使用其中一个工具包,那么您将从一些使JavaScript非常适合编程的功能中脱颖而出:作为对象的功能,动态类型等.特别是当与一个流行的框架(如jQuery或Prototype)结合使用时.

这就像调用C++低级别一样,因为标准库比Java API小.我不是C++程序员,但我非常怀疑每个C++程序员都编写自己的GUI和网络库.

javascript definition low-level

4
推荐指数
2
解决办法
5682
查看次数