问题列表 - 第28293页

Haskell FlatMap

我是一个对Haskell感兴趣的初学者,我一直在努力实现flatmap(>> =)以更好地理解它.目前我有

flatmap :: (t -> a) -> [t] -> [a]  
flatmap _ [] = []  
flatmap f (x:xs) = f x : flatmap f xs  
Run Code Online (Sandbox Code Playgroud)

它实现了"地图"部分而不是"平面"部分.
我做的大多数修改都会导致令人沮丧并且相当无信息

Occurs check: cannot construct the infinite type: a = [a]  
    When generalising the type(s) for `flatmap' 
Run Code Online (Sandbox Code Playgroud)

错误.

我错过了什么?

haskell map flatten higher-order-functions

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

在水晶报告中使用子串

我在水晶报告中有一个字段,其中包含以下数据:
'605 KL1 - Daniel Steve'
我怎样才能删除'605 KL1 - '而只留下'Daniel Steve'' - '之前字符可能不同,我希望公式会自动搜索' - '然后显示其后的所有内容.

crystal-reports

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

MS Access:为什么 ADODB.Recordset.BatchUpdate 比 Application.ImportXML 慢这么多?

我正在尝试运行下面的代码,将大量记录(来自具有奇怪文件格式的文件)从 VBA 插入到我的 Access 2003 数据库中。经过无数次的实验,这段代码是我能想到的最快的代码:它在我的机器上大约 15 秒内完成了 10000 条记录。其中至少有 14.5 秒(即几乎所有时间)都在对 UpdateBatch 的单个调用中。

我在别处读到 JET 引擎不支持 UpdateBatch。所以也许有更好的方法来做到这一点。

现在,我只是认为 JET 引擎很慢,但事实并非如此。使用下面的代码生成“testy”表后,我右键单击它,选择“导出”,并将其保存为 XML。然后我右键单击,选择导入,并重新加载 XML。导入 XML 文件的总时间?不到一秒,即。至少快 15 倍。

肯定有一种不需要编写临时文件的有效方法可以将数据插入到 Access 中吗?

Sub TestBatchUpdate()
    CurrentDb.Execute "create table testy (x int, y int)"

    Dim rs As New ADODB.Recordset
    rs.CursorLocation = adUseServer
    rs.Open "testy", CurrentProject.AccessConnection, _
        adOpenStatic, adLockBatchOptimistic, adCmdTableDirect

    Dim n, v
    n = Array(0, 1)
    v = Array(50, 55)

    Debug.Print "starting loop", Time
    For i = 1 To 10000
        rs.AddNew n, v
    Next …
Run Code Online (Sandbox Code Playgroud)

ms-access vba ado ms-jet-ace

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

逐行读取Unicode文件

在C++中逐行读取Unicode文件的正确方法是什么?

我试图通过Windows记事本读取保存为Unicode(LE)的文件.

假设文件在单独的行中仅包含字符A和B.

在逐字节读取文件时,我看到以下字节序列(十六进制):

FE FF 41 00 0D 00 0A 00 42 00 0D 00 0A 00

所以2字节BOM,2字节 'A',2字节CR,LF 2字节,2字节 'B',2字节CR,2字节LF.

我尝试使用以下代码读取文本文件:

   std::wifstream file("test.txt");
   file.seekg(2); // skip BOM
   std::wstring A_line;
   std::wstring B_line;
   getline(file,A_line);  // I get "A"
   getline(file,B_line);  // I get "\0B"
Run Code Online (Sandbox Code Playgroud)

我使用>> operator而不是getline获得相同的结果

   file >> A_line;
   file >> B_line;
Run Code Online (Sandbox Code Playgroud)

似乎单字节CR字符仅作为单字节消耗.或CR NULL LF正在消耗但不是高字节NULL.我希望文本模式中的wifstream会读取2byte CR和2byte LF.

我究竟做错了什么?为了解析新行,人们不得不在二进制模式下逐字节读取文本文件.

c++ unicode

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

Ruby Detect方法

选择有意义.但有人可以解释.对我有所帮助吗?我不明白这些数据.

>> [1,2,3,4,5,6,7].detect { |x| x.between?(3,4) }
=> 3
>> [1,2,3,4,5,6,7].detect { |x| x.between?(3,6) }
=> 3
>> [1,2,3,4,5,6,7].detect { |x| x.between?(3,7) }
=> 3
>> [1,2,3,4,5,6,7].detect { |x| x.between?(2,7) }
=> 2
>> [1,2,3,4,5,6,7].detect { |x| x.between?(1,7) }
=> 1
>> [1,2,3,4,5,6,7].detect { |x| x.between?(6,7) }
=> 6
>> [1,2,3,4,5,6,7].select { |x| x.between?(6,7) }
=> [6, 7]
>> [1,2,3,4,5,6,7].select { |x| x.between?(1,7) }
=> [1, 2, 3, 4, 5, 6, 7]
Run Code Online (Sandbox Code Playgroud)

ruby detect

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

有没有办法在运行时更改控制台图标

我对改变Windows资源管理器中显示的EXE中的实际图标并不感兴趣,只是显示在控制台窗口左上角的图标.我已经在visual studio项目中设置了图标,并且我在Windows资源管理器中很好地获得了它,并且该图标也显示在控制台窗口中,我只是希望能够在运行时在控制台窗口中更改它.也就是说我想要一个图标,显示有新的电子邮件或其他东西.

c# console icons

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

如何使Gmail像加载进度条

我想在中心和页面顶部创建一个加载进度条,如Gmail,并在所有浏览器中工作

javascript css php ajax

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

jquery - 在ajax调用后丢失click()事件?

在下面的网页liamharding.com/pgi.php我在页面左侧有一个选项面板,单击面板上的箭头打开和关闭,这可以正常工作,直到您选择一个市场(用于测试使用其中一个'Random Walk'市场并点击'Show/Refesh Graphs'),然后使用get_graph(forexName, myCount, divIsNew)函数进行ajax调用 .

一旦完成此调用,将显示一个图形,然后我的选项面板click()事件不起作用?

ajax调用返回变量中的数据,ajax_data当我执行以下代码时会出现问题var jq_ajax_data = $("<div/>").html(ajax_data);.我需要将其包装在一起,以便我可以使用jQuery从中提取数据.如果注释掉这行代码,click()事件工作正常吗?

希望有人可以提供帮助,我花了很多时间但却无法找到问题所在.

ajax jquery jquery-ui

4
推荐指数
3
解决办法
9821
查看次数

来自串口的垃圾数据

我在Linux平台上编写了一个代码,用于读取串口数据,我的代码如下:

int fd;
char *rbuff=NULL;
struct termios new_opt, old_opt;
int ret;

fd = open("/dev/ttyS0", O_RDWR | O_NOCTTY);
if( fd == -1 )
{
   printf("Can't open file: %s\n", strerror(errno));
   return -1;
}
tcgetattr(fd, &old_opt);
new_opt.c_cflag = B115200 | CS8 | CLOCAL | CREAD;
new_opt.c_iflag = IGNPAR /*| ICRNL*/;
new_opt.c_oflag = 0;
new_opt.c_lflag = ICANON;

tcsetattr(fd, TCSANOW, &new_opt);
rbuff = malloc(NBUFF);
printf("reading..\n");
memset(rbuff,0x00,NBUFF);
ret = read(fd, rbuff, NBUFF);
printf("value:%s",rbuff);
if(ret == -1)
{
   printf("Read error:%s\n",strerror(errno));
   return -1;
}
tcsetattr(fd, TCSANOW, &old_opt);
close(fd); …
Run Code Online (Sandbox Code Playgroud)

c linux

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

如何向客户解释你已经超出预算,你需要更多的钱/时间来达成一致意见?

我的情况是我已与客户商定了每个项目的提案.该提案含糊不清,但仍然以某种方式命名功能,可以考虑是否包括它,同时留出一些解释空间.我最初尽可能多地按下每个月的合同,认为该项目大多是不可预测的,但客户拒绝了.作为一家小公司,我不得不根据我的团队的估计折叠并签订合同.在这一点上,我们已经完成了大约85%的功能(我们认为)但我们的预算已经用完了.我们在之前的合同中已经与这位客户合作了近两年,我们已经交付了他们满意的好产品,因此我们建立了良好的合作关系.

更多信息: - 有一些范围蔓延,但我认为不足以让我躲在那个论点背后 - 我们已经提供了关于每月的部分版本. - 我们没有系统的用户测试.

project-management

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