小编Grz*_*ski的帖子

如何从命令提示符快速打开当前目录?操作系统 - Windows

需要从命令提示符快速打开当前目录.我知道有一个命令explorer.

但要输入目录的完整路径非常不方便. 

例如:

exoplorer c:\progra~1\nodejs~1\worskp~1\project\module\convert
Run Code Online (Sandbox Code Playgroud)

有用.但是你用鼠标打开文件夹的速度越快......我认为这是不对的.

这个命令:

explorer cd.
Run Code Online (Sandbox Code Playgroud)

打开My Documents.虽然我在不同的目录中.

是否请提示我!

windows explorer command cmd command-prompt

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

什么是最好的Prolog编程实践和风格指南?

好的,我知道这是一个非常普遍的问题,并且已经写了一些关于这个主题的论文,但我觉得这些出版物涵盖了非常基本的材料,我正在寻找更先进的东西来改善风格和效率.这就是我的论文:

  • "研究报告AI-1989-08 Efficient Prolog:A Practical Guide",Michael A. Covington,1989年
  • "高效的Prolog编程",Timo Knuutila,1992年
  • Coomington编写的"Prolog编码指南",Bagnara,O'Keefe,Wielemaker,Price,2011

这些主题涵盖的示例主题包括:尾递归和差异列表,正确使用索引,正确使用剪切,避免断言和缩回,避免CONSing,代码格式化指南(缩进,if-then-elses等),命名约定,代码记录,参数顺序,测试.

您将从Prolog的个人经历中添加什么?是否有适用于CLP编程的特殊风格指南?你知道一些常见的效率问题,知道如何处理它们吗?

更新:

这里有一些有趣的(但仍然太基础和太笼统)点:Lifeware团队的Prolog编程指南

为了突出整个问题,我想问一下"Prolog的编码指南"(Covington等人):

据我们所知,Prolog的一套连贯且相当完整的编码指南从未发布过.此外,当我们查看已发布的Prolog程序的语料库时,我们看不到事实上的标准出现.这一明显遗漏背后的最重要原因是,由于缺乏全面的语言标准,小型Prolog社区进一步分散为以个体Prolog系统为中心的子社区,其中没有一个具有支配地位.

prolog iso-prolog

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

用于执行Prolog的抽象机器的比较

我正在寻找研究论文或任何其他出版物,比较不同的抽象机器(不止一个)执行Prolog与不基于抽象机器的prolog解释器.到目前为止我所看到的是,大多数实现似乎都是基于Warren Abstract Machine的prolog解释器,尽管提出了其他抽象机器(例如维也纳抽象机,面向树的抽象机)并且没有任何一般的比较.我对效率的比较感兴趣(不是特征),尽管所有比较的解释器都应该允许约束逻辑编程.

prolog abstract-machine warren-abstract-machine

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

使用Prolog CLPFD为32位数字实现XOR功能

我尝试在Prolog CLPFD中实现高效的异或(XOR).这应该是简单的谓词,如:

xor(A, B, AxorB).
Run Code Online (Sandbox Code Playgroud)

A,B,AxorB是自然数(用0表示)和AxorB是的结果A 的XOR B.

我的主要问题是效率.首先,我无法找到任何方法来对两个数字进行异或,而不将这些数字分成可以进一步处理/约束的单独部分,并且打破这些数字的过程(创建适当的约束然后解析它们)正在进行一些处理时间.其次,我不能提出任何有效的方法来"模拟"自然数字上的XOR函数,而不是在下面的第二个代码中给出.

让我们从我的第一个代码开始.这是最简单的XOR实现,它仅适用于1位值(0和1):

xor_1bit_values(A, B, AxorB) :-
    AxorB #= (A + B) mod 2.
Run Code Online (Sandbox Code Playgroud)

要将其用于大于1的数字,必须将数字分成位:

xor_number(A, B, Result, Bits) :-
    Count is Bits - 1,
    xor_number(A, B, Result, Count, 0).
xor_number(A, B, Result, 0, Sum) :-
    xor_1bit_values(A, B, Xor),
    Result #= Xor + Sum.
xor_number(A, B, Result, Count, Sum) :-
    P is 2^Count,
    X #= A / P,
    Y #= B / P,
    xor_1bit_values(X, …
Run Code Online (Sandbox Code Playgroud)

prolog swi-prolog bitwise-xor clpfd

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

优化 CLPFD 性能(累积、global_cardinality)

我编写了一些谓词来解决大型调度问题,它们运行良好,但我希望它们具有更好的性能。我运行过profile/1,我看到与 CLPFD 相关的谓词占用了 99% 的时间。特别是garbage_collect- 它需要 37% 的执行时间。

现在,我能做什么?我的代码并不是特别复杂,它使用了很多cumulative/2和一些global_cardinality/2,除此之外没有什么特别的。我已经为labeling/1(ff, ffc, bisect)尝试了一些不同的选项,但没有区别(实际上,bisect 让事情变得更糟)。我试过用set_prolog_stack/2(全局限制、局部限制、全局 min_free、局部 min_free)提高内存限制。

我还能做些什么吗?

是否有任何替代实施cumulative/2global_cardinality/2可以具有更好的性能?

prolog swi-prolog clpfd

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

Laravel:用户“forge”@“localhost”的访问被拒绝(但应用程序中没有使用此类用户)

我有一个运行良好的 Laravel 应用程序,但由于某些奇怪的原因,日志文件中有很多奇怪的消息:

\n\n
\n

[2019-10-04 10:24:21] Production.ERROR: SQLSTATE[HY000] [1045] 用户\'forge\'@\'localhost\'访问被拒绝(使用密码:NO){“例外”:“ [object] (Doctrine\\DBAL\\Driver\\PDOException(code: 1045): SQLSTATE[HY000] [1045] 用户\'forge\'@\'localhost\' 的访问被拒绝(使用密码:NO) /var/www/html/pzw_prod/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:31,PDOException(代码:1045):SQLSTATE [HY000] [1045]用户\'forge的访问被拒绝\'@\'l ocalhost\'(使用密码:NO)位于 /var/www/html/pzw_prod/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:27)

\n
\n\n

问题是,我没有使用名为 的用户连接到数据库forge。我.env使用完全不同的登录名。而且,我再说一遍,一切正常:与数据库的通信按预期工作。数据读写成功。

\n\n

那么...为什么日志文件中出现此消息?

\n\n

更新:

\n\n

config(\'database\')

\n\n
$ php artisan tinker\nPsy Shell v0.9.9 (PHP 7.2.22 \xe2\x80\x94 cli) by Justin Hileman\n>>> config(\'database\')\n=> [\n     "default" => "mysql",\n     "connections" => [\n       "sqlite" => [\n         "driver" => "sqlite",\n         "url" => null,\n         "database" => /* CENSORED */,\n         "prefix" => "",\n         "foreign_key_constraints" => true,\n       ],\n …
Run Code Online (Sandbox Code Playgroud)

laravel laravel-5

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

带有负值的无符号长整数

请参阅下面的简单代码:

#include <iostream>
#include <stdlib.h>

using namespace std;


int main(void)
{
    unsigned long currentTrafficTypeValueDec;
    long input;
    input=63;
    currentTrafficTypeValueDec = (unsigned long) 1LL << input; 
    cout << currentTrafficTypeValueDec << endl;
    printf("%u \n", currentTrafficTypeValueDec);
    printf("%ld \n", currentTrafficTypeValueDec);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

为什么printf()显示带负值的currentTrafficTypeValueDec(unsigned long)?

输出是:

9223372036854775808
0
-9223372036854775808 
Run Code Online (Sandbox Code Playgroud)

c++

5
推荐指数
4
解决办法
8114
查看次数

PHP setlocale不起作用

我尝试在我的raspberry-pi上使用nginX在PHP(php-fpm)中将语言环境从fr_FR设置为us_US.
这是我的代码:

<?php

system('locale -a');
/*
C POSIX en_US.utf8 fr_FR fr_FR.iso88591 fr_FR.iso885915@euro fr_FR.utf8
So the en_US locale is well installed
*/

echo locale_get_default();
/* fr_FR */
echo setlocale(LC_ALL, '0');
/*
LC_CTYPE=fr_FR.UTF-8;LC_NUMERIC=C;LC_TIME=C;LC_COLLATE=C;LC_MONETARY=C;
LC_MESSAGES=C;LC_PAPER=C;LC_NAME=C;LC_ADDRESS=C;LC_TELEPHONE=C;
LC_MEASUREMENT=C;LC_IDENTIFICATION=C
*/

var_dump(setlocale(LC_ALL, 'en_US.UTF-8', 'en_US.UTF8'));
/* bool(false) */

var_dump(setlocale(LC_ALL, 'fr_FR.UTF8'));
/* string(10) "fr_FR.UTF8"
useless, but it shows that setlocale works with the already set locale */
?>
Run Code Online (Sandbox Code Playgroud)

我不明白为什么要setlocale回来false.
似乎有些东西不起作用,但我无法找到什么.

php locale nginx raspberry-pi

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

Mysql全文搜索不使用特殊字符

问题:我使用的是MYSQL和PHP最新版本.我们在MYSQL FULLTEXT搜索中遇到了这个问题.它不适用于特殊字符.

示例:在域表中,"名称"字段具有以下三个值:

1. https://www.google.com 
2. https://www.yahoo.com
3. https://www.trafe.com
Run Code Online (Sandbox Code Playgroud)

如果我使用搜索词https://www.google.com,它将显示以上三个值作为结果,但正确的答案是https://www.google.com.

查询:

SELECT name 
FROM domains 
WHERE MATCH (name) AGAINST ('https://www.google.com*' IN BOOLEAN MODE);
Run Code Online (Sandbox Code Playgroud)

实际结果: https://www.google.com

mysql url full-text-search match

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

(所有)方向垂直于超平面通过p数据点

我有一个简单的问题:在R ^ pi中给出p点(非共线)找到通过这些点的超平面(以帮助澄清我在R中输入所有内容):

p<-2
x<-matrix(rnorm(p^2),p,p)
b<-solve(crossprod(cbind(1,x[,-2])))%*%crossprod(cbind(1,x[,-2]),x[,2])
Run Code Online (Sandbox Code Playgroud)

那么,给定第p + 1个点与第一个p点不共线,我发现方向垂直于b:

x2<-matrix(rnorm(p),p,1)
b2<-solve(c(-b[-1],1)%*%t(c(-b[-1],1))+x2%*%t(x2))%*%x2
Run Code Online (Sandbox Code Playgroud)

也就是说,b2定义垂直于b并经过x2的p维超平面.现在,我的问题是:

公式来自我对这个维基百科条目的解释("solve(A)"是A ^ -1的R命令).为什么这不适用于p> 2?我究竟做错了什么 ?

PS:我看过这篇文章(在关注流量编辑:抱歉不能发布多个链接)但不知怎的,它对我没有帮助.

提前致谢,

当p> 2时,我对Liu的解决方案的实现/理解有问题:

不应该将明显矩阵的qr分解与超平面方向之间的点积设为0?(即,如果qr向量垂直于超平面)

即,当p = 2时

c(-b[2:p],1)%*%c(a1)
Run Code Online (Sandbox Code Playgroud)

给出0.当p> 2时,它不会.


这是我尝试实施Victor Liu的解决方案.

a)在R ^ p中给出p线性独立观测:

p<-2;x<-matrix(rnorm(p^2),p,p);x
      [,1]       [,2]
[1,] -0.4634923 -0.2978151
[2,]  1.0284040 -0.3165424
Run Code Online (Sandbox Code Playgroud)

b)将它们放在矩阵中并减去第一行:

a0<-sweep(x,2,x[1,],FUN="-");a0
        [,1]        [,2]
[1,] 0.000000  0.00000000
[2,] 1.491896 -0.01872726
Run Code Online (Sandbox Code Playgroud)

c)执行矩阵a0的QR分解.nullspace中的向量是我正在寻找的方向:

qr(a0)
          [,1]       [,2]
[1,] -1.491896 0.01872726
[2,]  1.000000 0.00000000
Run Code Online (Sandbox Code Playgroud)

确实; 这个方向与维基百科公式的应用给出的方向相同(使用x2 =(0.4965321,0.6373157)):

       [,1]
[1,]  2.04694853
[2,] -0.02569464
Run Code Online (Sandbox Code Playgroud)

......具有更高尺寸的优点.

我还有最后一个问题:当p> 2时,另一个p-1(即(1,0)这里)QR向量的含义是什么?-提前致谢,

math geometry r

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

根据单词长度对句子进行排序

我是新手程序员C/C++.学习指针和角色指针,并试图解决运动问题.问题陈述

给出一句"世界是一个住在的好地方"

问题描述:根据字长的升序重新排列给定的句子

输出应该是"A是生活世界的好地方"

我正在尽力而且粘贴我写的代码,但无法得出答案.有人可以指出错误.我相信有很多.

#include <iostream>    
#include <string.h>

using namespace std;
char* breakIntoWords(char *,char*pt);

    int getwordcount(char* p)
    {
     int wc = 0;

     while(*p == ' ')
      {
         p++;
      }
      while( 1) {

      while( *p != ' ' && *p != '\0' && *p !='\n')
      { 
        p++;

      }
    if(*p ==  ' ')
    {
       p++;
    }
    else{
       break;
    }


      wc++;
      }
    wc++;
      return wc;

    }

    int main()
    {

       char bsentence[120][5];
       char sentence[120];
        cout<<"Ent&er STring"<<endl;
        char *p ;
        p = "Test it …
Run Code Online (Sandbox Code Playgroud)

c++

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

Gtk::Label 更新标签速度

我有一个程序试图以非常高的频率更新 Gtk::Label,并且表现出非常不稳定的行为。我收到了几个这样的错误:

(gtkWindow:26559): Pango-CRITICAL **: pango_layout_copy: assertion 'PANGO_IS_LAYOUT (src)' failed

(gtkWindow:26559): Pango-CRITICAL **: pango_layout_set_width: assertion 'layout != NULL' failed

(gtkWindow:26559): Pango-CRITICAL **: pango_layout_get_pixel_extents: assertion 'PANGO_IS_LAYOUT (layout)' failed

(gtkWindow:26559): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Run Code Online (Sandbox Code Playgroud)

直到程序最终崩溃:

Pango:ERROR:pango-layout.c:3916:pango_layout_check_lines: assertion failed: (!layout->log_attrs)
Run Code Online (Sandbox Code Playgroud)

2921 中止(核心转储)

相关代码行:

while(1){
    std::string sensorLine="";
    _serial.readLine(&sensorLine);         // read serial data with boost::asio
    _output->set_label(sensorLine.data()); // _output -> Gtk::Label*
    std::cout<<sensorLine<<std::endl;
    //sleep(1);
}
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用_output->setlabel,我只会收到错误,如果我评论这一行,一切都运行顺利,输出打印在控制台中。如果我sleep()在循环内部调用,Gtk::Label也会发生同样的事情,将更新为命令行并且不会引发错误。此循环在接收 _output 作为参数的单独线程上运行。

c++ gtk multithreading gtkmm

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

为什么`else if(!var)`中的循环比`else`中的循环快?

我有两个块做同样的事情.

if(print) for(int i = 0; i < numt; i++) if(primes[i]) {
    printf("%d\n", i);
    numprimes++;
}
    //fast
else if(!print) for(int i = 0; i < numt; i++) if(primes[i]) {
    numprimes++;
}
Run Code Online (Sandbox Code Playgroud)

if(print) for(int i = 0; i < numt; i++) if(primes[i]) {
    printf("%d\n", i);
    numprimes++;
}
    //very slow
else for(int i = 0; i < numt; i++) if(primes[i]) {
    numprimes++;
}
Run Code Online (Sandbox Code Playgroud)

我估计第一个比第二个快一倍.为什么是这样?效果发生在多个编译器中(Mingw,msvc).print默认情况下为false,但您可以使用命令行args更改它.我在两种情况下都没有运行程序.这是一个真正的谜......

拆卸: 块1 块2

整个档案:

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include …
Run Code Online (Sandbox Code Playgroud)

c++ loops for-loop

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