问题列表 - 第11184页

模式匹配相同的值

我只是想知道是否可以使用函数式编程语言(Haskell/F#/ Caml)的模式匹配工具多次匹配相同的值.

试想下面的例子:

plus a a = 2 * a
plus a b = a + b
Run Code Online (Sandbox Code Playgroud)

当使用两个相似的值(将存储在其中a)调用函数时,将调用第一个变体.

一个更有用的应用程序就是这个(简化AST).

simplify (Add a a) = Mult 2 a
Run Code Online (Sandbox Code Playgroud)

但是Haskell拒绝这些代码并警告我有相互矛盾的定义a - 我必须做明确的case/if-checks而不是找出函数是否具有相同的值.是否有任何技巧可以表明我想要匹配的变量会多次出现?

f# haskell functional-programming pattern-matching guard-clause

22
推荐指数
2
解决办法
5732
查看次数

将字符串数组排序为Int

有没有办法使用IComparer与ArrayList.Sort()将一组字符串排序为整数?

.net c# arrays arraylist icomparer

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

visual studio中的emacs风格键盘宏

我想在Visual Studio中使用emacs风格的键盘宏,这在很大程度上我可以通过这些快捷方式映射来完成 ......但是我无法弄清楚键盘快捷键重复下一个命令x次.在emacs中,我可以录制我的宏,然后键入

Esc,#,ctrl + x,e

其中#是我想重复我的宏的次数.在我看来,这几乎和宏本身一样重要.如何在Visual Studio中实现这一点?

emacs macros visual-studio

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

F#:我不能在do子句中返回单位但仍然有副作用

我正在编写一个简单的ini文件解析器,我在"do"子句中初始化对象时遇到了一些问题.它希望我返回一个单位,但如果我尝试输入"忽略"或直接返回"()",我无法获得空白功能来执行副作用.

此代码作为单独的函数工作,因为我可以忽略结果.

#light

module Utilities.Config

open System
open System.IO
open System.Text.RegularExpressions
open System.Collections.Generic

type Config(?fileName : string) =
    let fileName = defaultArg fileName @"C:\path\myConfigs.ini"

    static let defaultSettings =
        dict[ "Setting1", "1";
              "Setting2", "2";
              "Debug",    "0";
              "State",    "Disarray";]

    let settingRegex = new Regex(@"\s*(?<key>([^;#=]*[^;#= ]))\s*=\s*(?<value>([^;#]*[^;# ]))")
    let fileSettings = new Dictionary<string, string>()
    let addFileSetting (groups : GroupCollection) =
        fileSettings.Add(groups.Item("key").Value, groups.Item("value").Value)

    do  File.ReadAllLines(fileName)
        |> Seq.map(fun line -> settingRegex.Match(line))
        |> Seq.filter(fun mtch -> mtch.Success)
        |> Seq.map(fun mtch -> addFileSetting(mtch.Groups) // Does not …
Run Code Online (Sandbox Code Playgroud)

f# initialization object unit-type

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

简单的非花哨的Windows应用程序 - 我应该从WPF还是WinForms开始?

我即将开始使用Microsoft Visual C#2008(Express版)开发一个小型Windows应用程序.我是C#和.NET的新手,所以这是一个新手问题.我应该从WPF开始还是应该坚持使用旧的WinForms?

我的应用程序有几个屏幕,都有几个文本框,复选框,组合框,而不是更多.应用程序将从多个COM对象检索数据,并通过标准TCP/IP套接字进行通信,这两个套接字都与UI无关.

用户界面并不是任何花哨的东西(我不需要它).然而,世界似乎正在​​转向WPF.为我的案例选择WPF而不是WinForms有什么考虑?推荐的方法是什么?

谢谢

c# wpf winforms

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

使用套接字时的奇怪行为

使用套接字获取网站时,我遇到了这种奇怪的行为.从下面的get_content()函数返回的字符串包括原始网站上不存在的一些"额外信息".

function get_content($a, $b, $c = "00")
{
    $request  = "arg01="  . $a;
    $request .= "&arg02="  . $b;
    $request .= "&arg03="  . $c;

    $host = "www.site.com";
    $script = "/page.php";
    $method = "POST";

    $request_length = strlen($request);

    $header = "$method $script HTTP/1.1\r\n";
    $header .= "Host: $host\r\n";
    $header .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $header .= "Content-Length: $request_length\r\n";
    $header .= "Connection: close\r\n\r\n";
    $header .= "$request\r\n";

    $socket = @fsockopen($host, 80, $errno, $errstr);
    if ($socket) {
        fputs($socket, $header);
            while(!feof($socket)) {
                $output .= fgets($socket);
            }
        fclose($socket);
    }

    return $output; …
Run Code Online (Sandbox Code Playgroud)

php

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

跟踪报告使用情况

是否有一种简单的方法可以跟踪谁在SSRS 2005中运行给定的报告,以及他们在何时运行该报告?在我们的SSRS实施中,我们有大约80份报告,并且正在试图查看是否有任何我们可以放心地放弃牧场的报告.如果我们能够轻易地看到哪些报告没有被使用,那将有助于我们.有任何想法吗?

reportingservices-2005 reporting-services

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

python断言函数的建议

我在多个脚本中多次使用断言,我想知道是否有人对更好的方法有任何建议,而不是我在下面创建的函数.

def assert_validation(expected, actual, type='', message=''):

    if type == '==':

        assert expected == actual, 'Expected: %s, Actual: %s, %s' %(expected, actual, message)

    elif type == '!=':

        assert expected != actual, 'Expected: %s, Actual: %s, %s' %(expected, actual, message)

    elif type == '<=':

        assert expected <= actual, 'Expected: %s, Actual: %s, %s' %(expected, actual, message)

    elif type == '>=':

        assert expected >= actual, 'Expected: %s, Actual: %s, %s' %(expected, actual, message)



def assert_str_validation(expected, actual, type='', message=''):

    if type == '==':

        assert …
Run Code Online (Sandbox Code Playgroud)

python assert

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

Visual Studio 2005链接器问题

我是Visual Studio的新手,所以如果这是一个基本问题我会道歉.我有一个包含许多项目的解决方案.在项目A中,我有一组预先存在的文件,我添加了一个新类.项目B使用项目A中新类编写的功能.首先构建项目A,生成.lib文件,并将.lib文件链接到项目B.但是,当我去创建.lib文件时Project BI遇到链接错误,引用我添加的项目A中的新功能.使用'dumpbin'命令和项目A生成的.lib文件,我注意到我添加的函数的符号不存在.但是,在项目A中编译新类之后创建的.obj文件确实包含这些符号.知道为什么那些符号不会出现在Project A的.lib文件中吗?

c++ visual-studio-2005 linker-errors visual-c++-2005

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

SQL Server如何在特定条件发生时迭代一次光标循环

我有一个SQL Server游标.我想在特定条件发生时跳过循环的一次迭代.Break会将您带出游标循环并继续执行任何操作.

是否有一个命令说"嘿,这个记录不好,所以继续前进,跳过它,继续下一个".

顺便说一下,我知道游标是邪恶的,就像驾驶员在过往车道上的43英里/小时,但是经常发生在软件中,我坚持使用它.

谢谢

sql-server

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