以下是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,我们不再需要输入原型属性的名称.现在可以隐藏这一点丑陋."
我基本上不知道这一点.在我们现在不再需要做什么之前我们必须做什么?
假设我的工作目录working_directory有一个.git隐藏的子目录(用其创建git init),没有别的.
我们的"git存储库"所指的是什么?它是隐藏.git文件夹,还是working_directory仅包含.git子文件夹的整个内容?
我经常收到以下Dropbox错误.错误消息的提议修复了错误,但我正在试图弄清楚它对我的系统做了什么,也许是否存在根本原因.
无法监控整个Dropbox文件夹层次结构.请跑
Run Code Online (Sandbox Code Playgroud)echo fs.inotify.max_user_watches=100000 | sudo tee -a /etc/sysctl.conf; sudo sysctl -p`并重新启动Dropbox以解决问题.
根据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)
问题:
我假设这Main.lhs是该计划的主要切入点.由此,我的意思是它包含main返回IO (a)某种类型的类型值的方法a.是这样的吗?
.lhs扩展名的含义是什么Main.lhs?为什么不打电话呢Main.hs?
我在GitHub上看了一些其他流行的Haskell项目,他们似乎并没有密切关注这个结构.这真的是组织Haskell项目的惯用方法吗?
Haskell是一种纯功能性语言,与传统的面向对象语言不同。但是,请考虑以下Alan Kay对OOP的“真实”含义的引用:
对我而言,OOP意味着仅消息传递,本地保留和保护以及状态过程的隐藏以及所有事物的极端后期绑定。可以在Smalltalk和LISP中完成。可能还有其他系统可以做到这一点,但我不知道它们。-艾伦·凯
后来:
我想到的对象就像是生物细胞和/或网络上的个人计算机,只能与消息进行通信(因此消息传递从一开始就出现了,花了一段时间才能看到如何以编程语言足够有效地进行消息传递,有用)。
我很好奇Haskell可以在多大程度上实现这种编程风格。尤其是,是否可以将Haskell程序构造为一系列(类似)封装对象的序列,这些对象彼此之间来回传递消息?
注意:我正在寻找特定于Haskell的示例,而不是一般的功能语言(冲突时)。
是否可以从 C 调用 JavaScript 函数(写在 node.js 上)?
(有很多关于从 node.js 调用 C/C++ 的教程。但不是相反。)
我正在尝试在 Arch Linux 机器上从头开始构建开源汽车项目。Motorcar 是一个 Linux VR 窗口管理器,可与 Oculus Rift D2K 耳机和 Razer Hydra 控制器一起使用。不过,您不需要这些项目来实际编译这个项目。
问题:我无法让汽车在我的机器上编译(Arch Linux)。我遇到了 Qt5 链接错误(解释如下)。
正如自述文件所示,为了制造汽车,需要以下先决条件:
此外,汽车项目分为以下实际构建目标:
libmotorcar-compositor:这是在此之后用于支持构建目标的实际汽车库。simple-compositor:这是一个简单的 Wayland 合成器,您可以从控制台启动它。一旦启动(在您的屏幕上,而不是在 VR 耳机中),您就可以在其中启动 3D 窗口程序。rift-hydra-compositor:这与 相同simple-compositor,只是它配备了对 Oculus Rift D2K 耳机和 Razer Hydra 控制器的支持。motorcar-client-demo:这是客户端“窗口”,这意味着在运行任意simple-compositor或rift-hydra-compositor。它只是一个旋转的立方体。启动 后simple-compositor,您应该能够将 alt-tab 切换到控制台并运行 …使用Turtleshell脚本库我试图启动一个程序,即:
shell "vim" empty
Run Code Online (Sandbox Code Playgroud)
问题是这会产生警告Warning: Input is not from a terminal并导致Vim在最终启动之前滞后几秒钟.
问题:
shell从haskell启动外部程序是最好的Turtle函数吗?有没有人使用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) 考虑以下简单的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二进制文件(我认为)。我尝试清楚地执行此操作,但出现 …