小编ran*_*ame的帖子

简单的Unix循环空格分隔字符串的方式?

我有一个名为的文件,file_list包含以空格分隔的字符串,每个字符串都是要处理的文件的文件名.我现在希望遍历所有文件名并逐个处理它们.伪代码是

for every filename in file_list
    process(filename);
end
Run Code Online (Sandbox Code Playgroud)

我想出了一个相当笨拙的解决方案,就是这样

  1. 通过将文件加载到变量中 filenames='cat file_list'
  2. 计算空格数N,tr -cd ' ' <temp_list | wc -c
  3. 从1循环到N空格并用空格解析每个文件名cut

这样做有更简单/更优雅的方式吗?

unix bash sh

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

std :: string :: npos == -1总是如此吗?

标题相对自我解释.我认识到与其他答案的相似性,但所有这些答案都有不同的运算符排列(因此不同的演员规则).所以我需要一个澄清这个特例的答案.

如果有人能够指出解释这一点的标准部分,我会很乐意投票并接受答案.

c++ casting language-lawyer

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

DrRacket中的Emacs键绑定?

我们如何配置DrRacket以便它只使用Emacs键绑定?就像我键入Cs一样,它只是保存代码而不是调出搜索行.或者我使用Cx Cf,它不会打开另一个文件.DrRacket文档声称使用Emacs绑定,但显然没有.

emacs key-bindings racket

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

这个开放难题的解决方案是否正确?

我相信我已经解决了复杂性理论中的一个开放问题,但我想确保它是正确的.

我有问题的问题是:"随着塔楼数量的增加,解决河内之塔的难度有多少?"

显而易见的是,如果"磁盘"的数量保持有限,那么运行时间渐近接近O(n),其中n是"磁盘"的数量.这明显优于原版O(2^n).

我发现的是运行时间O(2^n^(1/k)),其中n是磁盘的数量,k是钉的数量和幂(该^运营商)是正确的关联.虽然这是由于一种奇怪的现象,其中存在离散点,其中运行时间线性增加然后改变斜率.总而言之,运行时间是摊销的 O(2^n^(1/k)).

如果您对它感到好奇并希望自己阅读证明,我建立了一个网站,您可以在这里找到它.(如果该链接不可访问,请尝试github.虽然您需要访问必要的工具来构建它)

因为我知道有人会问我'为什么我不把它交给我的教授?'或者其他类似的东西.答案是我没有任何大学/学院,我还在上高中.

非常感谢任何帮助,谢谢你提前.

注意:此问题已在此处重新发布在Math Overflow

注意:当对纸张进行推荐的格式编辑时,将会发布另一个新问题的奖励,因为我正在寻找关于论文内容的批评而不是它的易读性.

algorithm performance towers-of-hanoi

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

DrRacket编辑的性能问题

我需要使用DrRacket进行我正在学习的CS课程,并且遇到了DrRacket的编辑功能太慢甚至无法使用的问题.底部的REPL窗口在大多数情况下工作正常,但我不能为我的课程编写任何代码.

我目前正在使用带有5.7GiB RAM和Ubuntu 14.4的intel 2.2GHz x 2运行.DrRacket版本5.3.6.

performance editor racket

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

如何修复gcc错误:在void之前预期

所以我正在编写一个使用pthreads来管理所有IO的点对点聊天客户端,当我编译文件时,gcc给了我错误

client.c: In function ‘accepted_daemon’:
client.c:115:1: error: expected ‘while’ before ‘void’
 void *
 ^
client.c: In function ‘listen_daemon’:
client.c:176:1: error: expected ‘while’ before ‘int’
 int main(int argc, char *argv[])
 ^
Run Code Online (Sandbox Code Playgroud)

我的程序的源代码是

#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <errno.h>
#include <assert.h>

#include <unistd.h>
#include <pthread.h>
#include <readline/readline.h>
#include <error.h>

#define error(s, e, ...) error_at_line (s, e, __FILE__, __LINE__, __VA_ARGS__)

#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netdb.h>

#define PORT 3248
#define PROMPT "message: "

struct accepted 
{
  int fd;
  struct …
Run Code Online (Sandbox Code Playgroud)

c gcc compiler-errors pthreads

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

Python - pickle.load() 采用一个位置参数(给定 2 个)

这会产生一个错误:

pickle.load() takes one positional argument (2 given)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

import pickle, os.path

created = False

phoneBook = {}
name = input("Please enter a name(or press enter to end input): ")
while name != '':
    number = input("Please enter number: ")
    phoneBook[name] = number
    name = input("Please enter a name(or press enter to end input): ")
    if name == '':
        print("Thank You!")

print("Your phonebook contains the following entries:")
for name, number in phoneBook.items():
    print("%s - %s" % (name, number))

while not …
Run Code Online (Sandbox Code Playgroud)

python pickle

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