小编Geo*_*rge的帖子

在JavaScript中隐式添加构造函数原型的方法

以下是Crockford的JavaScript:The Good Parts的代码片段:

Function.prototype.method = function (name, func) {
  this.prototype[name] = func;
  return this;
};
Run Code Online (Sandbox Code Playgroud)

克罗克福德继续解释

"通过使用方法方法扩充Function.prototype,我们不再需要输入原型属性的名称.现在可以隐藏这一点丑陋."

我基本上不知道这一点.在我们现在不再需要做什么之前我们必须做什么?

javascript

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

"git存储库"究竟指的是什么?

假设我的工作目录working_directory有一个.git隐藏的子目录(用其创建git init),没有别的.

我们的"git存储库"所指的是什么?它是隐藏.git文件夹,还是working_directory仅包含.git子文件夹的整个内容?

git

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

Dropbox fs.inotify错误

我经常收到以下Dropbox错误.错误消息的提议修复了错误,但我正在试图弄清楚它对我的系统做了什么,也许是否存在根本原因.

无法监控整个Dropbox文件夹层次结构.请跑

echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf; sudo sysctl -p` 
Run Code Online (Sandbox Code Playgroud)

并重新启动Dropbox以解决问题.

dropbox

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

主模块应该放在一个惯用的Haskell项目中?

根据Haskell项目结构的维基百科页面src,一个惯用的haskell项目的文件夹如下所示:

src/           -- For keeping the sourcecode
    Main.lhs     -- The main-module
    App/         -- Use hierarchical modules
      ...
      Win32/     -- For system dependent stuff
      Unix/
    cbits/       -- For C code to be linked to the haskell program
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 我假设这Main.lhs是该计划的主要切入点.由此,我的意思是它包含main返回IO (a)某种类型的类型值的方法a.是这样的吗?

  2. .lhs扩展名的含义是什么Main.lhs?为什么不打电话呢Main.hs

  3. 我在GitHub上看了一些其他流行的Haskell项目,他们似乎并没有密切关注这个结构.这真的是组织Haskell项目的惯用方法吗?

haskell

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

Haskell程序是否可以类似于传递消息的对象?

Haskell是一种纯功能性语言,与传统的面向对象语言不同。但是,请考虑以下Alan Kay对OOP的“真实”含义的引用:

对我而言,OOP意味着仅消息传递,本地保留和保护以及状态过程的隐藏以及所有事物的极端后期绑定。可以在Smalltalk和LISP中完成。可能还有其他系统可以做到这一点,但我不知道它们。-艾伦·凯

后来:

我想到的对象就像是生物细胞和/或网络上的个人计算机,只能与消息进行通信(因此消息传递从一开始就出现了,花了一段时间才能看到如何以编程语言足够有效地进行消息传递,有用)。

我很好奇Haskell可以在多大程度上实现这种编程风格。尤其是,是否可以将Haskell程序构造为一系列(类似)封装对象的序列,这些对象彼此之间来回传递消息

注意:我正在寻找特定于Haskell的示例,而不是一般的功能语言(冲突时)。

haskell smalltalk object-oriented-analysis

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

从 C 调用 JavaScript 函数

是否可以从 C 调用 JavaScript 函数(写在 node.js 上)?

(有很多关于从 node.js 调用 C/C++ 的教程。但不是相反。)

javascript c

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

Qt5 链接器错误:未找到版本“Qt_5”

1 问题

我正在尝试在 Arch Linux 机器上从头开始构建开源汽车项目。Motorcar 是一个 Linux VR 窗口管理器,可与 Oculus Rift D2K 耳机和 Razer Hydra 控制器一起使用。不过,您不需要这些项目来实际编译这个项目。

问题:我无法让汽车在我的机器上编译(Arch Linux)。我遇到了 Qt5 链接错误(解释如下)。

2 汽车先决条件和构建目标

正如自述文件所示,为了制造汽车,需要以下先决条件:

  1. Mesa,使用 EGL 和桌面 OpenGL 支持编译。
  2. Cairo,使用 EGL 和桌面 OpenGL 支持编译。
  3. QtWayland 5.5(需要 Qt5.5)。
  4. Wayland(Linux 窗口管理器协议)。

此外,汽车项目分为以下实际构建目标:

  1. libmotorcar-compositor:这是在此之后用于支持构建目标的实际汽车库。
  2. simple-compositor:这是一个简单的 Wayland 合成器,您可以从控制台启动它。一旦启动(在您的屏幕上,而不是在 VR 耳机中),您就可以在其中启动 3D 窗口程序。
  3. rift-hydra-compositor:这与 相同simple-compositor,只是它配备了对 Oculus Rift D2K 耳机和 Razer Hydra 控制器的支持。
  4. motorcar-client-demo:这是客户端“窗口”,这意味着在运行任意simple-compositorrift-hydra-compositor。它只是一个旋转的立方体。启动 后simple-compositor,您应该能够将 alt-tab 切换到控制台并运行 …

qt qt5

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

从Haskell启动程序(例如:Vim)

使用Turtleshell脚本库我试图启动一个程序,即:

shell "vim" empty
Run Code Online (Sandbox Code Playgroud)

问题是这会产生警告Warning: Input is not from a terminal并导致Vim在最终启动之前滞后几秒钟.

问题:

  1. shell从haskell启动外部程序是最好的Turtle函数吗?
  2. 如果是这样,有没有办法解决上述错误?

haskell haskell-turtle

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

通过NixOS安装SteamVR?

有没有人使用SteamVR和NixOS?

每个阀门的指令在这里,我增加了以下udev规则我configuration.nix:

services.udev.extraRules = ''
# HTC Vive HID Sensor naming and permissioning
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2101", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2000", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="1043", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2050", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2011", TAG+="uaccess"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="28de", ATTRS{idProduct}=="2012", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="2c87", TAG+="uaccess"
# HTC Camera USB Node
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8328", TAG+="uaccess"
# HTC Mass Storage Node
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8200", TAG+="uaccess"
SUBSYSTEM=="usb", ATTRS{idVendor}=="114d", ATTRS{idProduct}=="8a12", TAG+="uaccess"
'';
Run Code Online (Sandbox Code Playgroud)

但是我收到错误:

Error: You …
Run Code Online (Sandbox Code Playgroud)

steam nixos

5
推荐指数
0
解决办法
246
查看次数

使一个简单的Deb程序包与NixOS兼容(Mathematica的Wolframscript)

考虑以下简单的debian软件包:wolframscript.deb。解压缩后,它具有以下文件结构:

??? opt
?   ??? Wolfram
?       ??? WolframScript
?           ??? bin
?               ??? wolframscript
??? usr
    ??? local
    ?   ??? share
    ?       ??? man
    ?           ??? man1
    ?               ??? wolframscript.1
    ??? share
        ??? icons
        ?   ??? hicolor
        ?       ??? 128x128
        ?       ?   ??? mimetypes
        ?       ?       ??? application-vnd.wolfram.wls.png
        ?       ??? 32x32
        ?       ?   ??? mimetypes
        ?       ?       ??? application-vnd.wolfram.wls.png
        ?       ??? 64x64
        ?           ??? mimetypes
        ?               ??? application-vnd.wolfram.wls.png
        ??? mime
            ??? packages
                ??? application-vnd.wolfram.wls.xml
Run Code Online (Sandbox Code Playgroud)

唯一相关的文件是opt/Wolfram/WolframScript/bin/wolframscript二进制文件(我认为)。我尝试清楚地执行此操作,但出现 …

nixos nix

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