小编Lan*_*e_P的帖子

使用_时的额外输出

我有以下代码:

pick_even([], []).
pick_even([_, H | T], [H | R]) :-
    pick_even(T, R).
pick_even([_, H , _ | T], [H | R]) :-
    pick_even(T, R).
Run Code Online (Sandbox Code Playgroud)

运行查询时?- pick_even(L,[4,7]).,我想收到输出:

L = [_7650, 4, _7662, 7] ;
L = [_7650, 4, _7662, 7, _7674] ;
Run Code Online (Sandbox Code Playgroud)

相反,我收到了一些我不想要的额外输出:

L = [_7650, 4, _7662, 7] ;
L = [_7650, 4, _7662, 7, _7674] ;
L = [_7650, 4, _7662, _7668, 7] ;
L = [_7650, 4, _7662, _7668, 7, _7680].
Run Code Online (Sandbox Code Playgroud)

如何在不修改查询的情况下消除这些额外的输出?

我是prolog的新手,所以我希望这是一个非常简单的语法修复.

prolog

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

信号处理程序返回哪里?

假设在接收和处理信号时,在main方法内正在运行一个进程。信号处理程序完成后,该过程是否返回到接收信号的main中的行,还是返回到信号调用?

PS:我知道自己可以快速进行测试,但是当我无法使用PC时,这种想法就发生了。

谢谢。

c linux

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

从C中的字符串中删除.txt

我想显示没有.txt扩展名的文件名.我已经从dir-> d_name存储了文件+扩展名.

我的脑子里有以下方式做到这一点:

char filename[size]; //assume this already contains name followed by.txt
filename[size-4] = '\0';
Run Code Online (Sandbox Code Playgroud)

我试过这个,但我仍然得到它的扩展名.也许我不完全理解null终止符的工作原理.

有什么建议?

c

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

来自终端C程序的文件输入

我正在开始一个C项目,我的教授希望我们使用以下格式来运行我们的程序:

./prog stop_words_dir < chapter.txt
Run Code Online (Sandbox Code Playgroud)

我的理解是,这意味着我正在执行一个名为program的程序prog,该程序将一个目录作为其参数(在本例中stop_words_dir)并使用该目录中指定的特定文件chapter.txt.

  1. 我对么?
  2. 如果是这样,这种格式的Unix(更具体地说是bash)是否具体?
  3. Windows中的等效命令是什么样的?
  4. 使用the <而不是第二个参数有什么好处
  5. 如何chapter.txt使用给定格式访问C程序?(我知道如何使用两个参数执行此操作)

c bash cmd

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

在Bash中执行变量内的Perl脚本

按照我的教授的确切说明,我试图通过从我的Kali VM运行此命令来创建一个名为EGG的变量,其中包含100个A:

root@kali:~# EGG='perl -e "print 'A'x100"'
Run Code Online (Sandbox Code Playgroud)

这是我尝试回显变量时的结果:

root@kali:~# echo $EGG
perl -e "print Ax100"
Run Code Online (Sandbox Code Playgroud)

在我教授的演示中,他的变量包含了预期的100'A'.对于如何解决这个问题,有任何的建议吗?

linux bash perl

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

标签 统计

c ×3

bash ×2

linux ×2

cmd ×1

perl ×1

prolog ×1