小编ДМИ*_*КОВ的帖子

用于自动管理导入或重构模块的脚本

有谁知道管理Haskell导入的工具?有时,我想通过将它们移动到另一个文件来重构事物,并且生成最小的导入集[用于新文件]的脚本会很好.

refactoring haskell

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

快速实施

以下代码为quicksort不起作用,我无法理解是什么原因.

#include <iostream>
using namespace std;
void exch(int a[],int i,int j){
    int s=a[i];
    a[i]=a[j];
    a[j]=s;

}
int  partition(int a[],int l,int h);
void quick(int a[],int l,int h){
    if (h<=l) return ;
    int j=partition(a,l,h);
    quick(a,l,j-1);
    quick(a,j+1,h);
    }
int partition(int a[],int l,int h){
    int i=l-1;
    int j=h;
    int v=a[l];
    while(true){

        while( a[++i]<v);

        while(a[--j]>v) if (j==i)  break;

            if (i>=j) break;

        exch(a,i,j);

    }

    exch(a,i,h);
    return i;



}
int main(){

    int a[]={12,43,13,5,8,10,11,9,20,17};
    int n=sizeof(a)/sizeof(int);
quick(a,0,n-1);
 for (int  i=0;i<n;i++){
     cout<<a[i]<<"  ";
 }
     return 0;
 }
Run Code Online (Sandbox Code Playgroud)

它输出

5 …
Run Code Online (Sandbox Code Playgroud)

c++ quicksort

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

获取模块内容

:browse,:info:typeGHCI命令都非常方便.

是否有可能在Haskell程序中获得相同的程序信息?也就是说,从模块中获取导出的函数,类型的东西等.

haskell

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

从字符串中提取模式

在bash脚本中,从字符串中提取文本模式的简单方法是什么?

例如,我想X在字符串的末尾提取后跟2位数?

bash

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

Haskell向量类型:[a] - > [a] - > a的函数

好吧,我正试图绕着类型类包围,所以我试图为几何向量运​​算定义一个类型类.我设法让它在组件方面工作,+,-,*,/;但我正在努力使用dot产品.

class GeomVector a where
  (>+) :: a -> a -> a
  (>-) :: a -> a -> a
  (>*) :: a -> a -> a
  (>/) :: a -> a -> a

  (>.) :: a -> a -> Double

data Vector a = Vec [a]
              deriving Show

instance (Fractional a) => GeomVector (Vector a) where
  (>+) (Vec u) (Vec v) = Vec $ zipWith (+) u v
  (>-) (Vec u) (Vec v) = Vec $ zipWith (-) …
Run Code Online (Sandbox Code Playgroud)

haskell typeclass

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

Int类型转换

1)你如何从一种Int类型转换为一种Num类型?

之前已经提出了类似的问题,答案是(就像在Haskell维基上一样)是用的fromIntegral.fromIntegral返回一个Num类型,所以我必须将其转换为我想要的格式.

我需要Word16把它转换成一个Int64所以我正在做以下事情

let valueLength = (fromIntegral(tagLength) :: Int64)
Run Code Online (Sandbox Code Playgroud)

哪里tagLength有类型Word16

这种方法是否正确?

2)如何安全地处理类型转换?

从Java后台那里是整数,我相信未来Short,Int并且Long 我可以使用short作为int而不是周围的其他方式.如果我写的话,在Haskell中

256 :: Word8
Run Code Online (Sandbox Code Playgroud)

ghci它中返回0.

haskell types type-conversion

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

C编译器无法创建可执行文件 - Cygwin/MiniGW

我正在尝试从源代码编译Pyaudio(一个Python模块),因为我使用的是Windows,只有32位二进制文​​件可用 - 我需要64个.按照这些说明,我下载了Cygwin,并安装了每个组件,安全.首先需要安装另一个模块Portaudio.

当我运行时CFLAGS="-mno-cygwin" LDFLAGS="-mno-cygwin" ./configure,我收到错误configure: error: C compiler cannot create executables. See 'config.log' for more details.config.log在该消息下面有一个额外的行:gcc: The -mno-cygwin flag has been removed; use a mingw-targeted cross-compiler.

这让我相信Cygwin可能正在使用错误的编译器; 说明是使用MinGw和Cygwin,但我从来没有在过程中指定minigw.我也想知道PyAudio构建文件中是否存在需要针对64位进行更改的内容.我对C,编译,Cygwin或MinGW一无所知,也不熟悉编程.有任何想法吗?我可以提供的任何其他信息?

gcc cygwin mingw portaudio pyaudio

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

在push --force之后检索孤立的提交对象

push --force总是有点冒险,这里有一个例子说明它如何产生一些问题,比如远程修改版本.

假设,有一些人鲍勃已经进行了远程更新master从分支BC.并且还有另一个人迈克没有获取此更新HEAD,他master的仍然是B.然后Mikepush --force并突然再次master向远程回滚B:

mike@laptop $> git push --force origin
Counting objects: 19, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 2.27 KiB, done.
Total 12 (delta 8), reused 0 (delta 0)
remote: => Syncing... [OK]
To git@gitserver.com:path/to/project.git
   C..B  master -> master (forced update)
Run Code Online (Sandbox Code Playgroud)

换句话说,在 …

git

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

检查列表中列表中的所有数字是否不同

我想在prolog中创建一个规则来检查列表中是否有重复的数字.

例如:

  • 因为[1,2,3,4]它会回来true.
  • 对于[1,2,3,3]它将返回false,因为3重复

我想出了这个规则,但它不起作用

Different([]).
Different([H|T]):-
     Member(H,T),
     Different(T).
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

prolog

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

IronPython - 从C#发出警告

我正在编写一个可以使用IronPython编写脚本的C#应用​​程序.我希望能够从C#代码发出非致命的Python警告(可以使用常规的Python警告捕获系统来处理).

我已经找到了PythonWarnings.warn方法IronPython.Modules,但它需要一个CodeContext,我无法弄清楚如何创建/获取其中之一.

c# ironpython

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