小编fri*_*jet的帖子

CoffeeScript:对象初始化器中的Getter/Setter

ECMAScript允许我们定义getter或setter如下:

[文本/ JavaScript的]

var object = {
  property: 7,
  get getable() { return this.property + 1; },
  set setable(x) { this.property = x / 2; }
};
Run Code Online (Sandbox Code Playgroud)

如果我正在使用课程,我可以解决:

[文本/ CoffeeScript的]

"use strict"

Function::trigger = (prop, getter, setter) ->
      Object.defineProperty @::,
              get: getter
              set: setter               

class Class
      property: ''

      @trigger 'getable', ->
               'x'

      member: 0
Run Code Online (Sandbox Code Playgroud)

但是,如果我想要什么定义上触发直接对象 - 使用defineProperty/ - ies.我想做一些事情(它不是那样工作):

[文本/ X-伪的CoffeeScript]

object =
  property: 'xhr'
  get getable: 'x'
Run Code Online (Sandbox Code Playgroud)

它在JavaScript中运行没有任何问题,我不希望我的脚本在使用CoffeeScript时回退.难道没有办法像JavaScript/ECMAScript …

javascript oop getter-setter coffeescript ecmascript-5

42
推荐指数
4
解决办法
2万
查看次数

node.js:从另一个模块访问局部变量

我的问题

我正在写一个node名为的模块a,它require()是一个模块b(由陌生人编写).不幸的是,a不仅需要访问公共成员 - 它还需要访问模块范围内声明的局部变量.

// a
var b = require('b');

console.log(b.public);
console.log(b.private); // undefined


// b
var c = require('c');
var stdin = process.stdin;

exports.public = true;
var private = true;
Run Code Online (Sandbox Code Playgroud)

我的解决方案

// a
var b = require('b');
var srcPath = require.resolve('b');

console.log(b.public);
fs.readFile(srcPath, 'utf-8', function (err, src) {
    var box = {};
    var res = vm.runInNewContext(src, box, srcPath);
    console.log(box.private);
});
Run Code Online (Sandbox Code Playgroud)

但是vmb作为模块运行,所以require()等等也无法从上下文中访问vm.所以有 …

javascript serverside-javascript node.js node-modules

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

Chrome扩展程序:如何列出本地目录的内容

我想做的事:

我想为测试目的创建Chrome扩展程序.并且该扩展应该能够访问本地硬盘驱动器上的目录和文件.

我是怎么做到的:

file:///*在我的manifest.json文件中请求了权限.然后我确保Allow access to file URLs选中了复选框.然后我为一个文件制作了一个XHR:

  var xhr = new XMLHttpRequest();  
  xhr.open("GET", 'file://c:/dir/file.name', true);     
  xhr.onload = function(e) {  
      console.log('response: ', xhr.response);
  }  
  xhr.send();
Run Code Online (Sandbox Code Playgroud)

...和整个目录的XHR:

  var xhr = new XMLHttpRequest();  
  xhr.open("GET", 'file://c:/dir/', true);     
  xhr.onload = function(e) {  
      console.log('response: ', xhr.response);
  }  
  xhr.send();
Run Code Online (Sandbox Code Playgroud)

...并且对于整个文件系统:

  var xhr = new XMLHttpRequest();  
  xhr.open("GET", 'file:///', true);     
  xhr.onload = function(e) {  
      console.log('response: ', xhr.response);
  }  
  xhr.send();
Run Code Online (Sandbox Code Playgroud)

发生了什么:

  • 我能够为我的文件请求获得​​正确的响应.
  • 当我请求目录时,我收到了Chrome默认的人类可读目录概述的源代码:

.

  <html>
  <head>
  <script> …
Run Code Online (Sandbox Code Playgroud)

filesystems google-chrome google-chrome-os google-chrome-extension

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

node.js Internals:我怎样才能找到`process.binding('eval')`的定义?

  • 我怎样才能找到node.js的C++源代码中哪些JavaScript对象被定义,我可以访问哪些process.binding('eval')?- 我已经发现它是在/src/node_script.cc这个特殊情况下,但是:当我只是看一下目录概述时,我怎么知道在哪里可以找到该模块?我不想单步执行所有文件以查找模块./src//src/
  • 我在哪里可以找到关于process.binding()s 内部的一些深入信息?

谢谢.

c++ v8 node.js libuv

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

找到(1):CygWin下的"参数格式不正确"

我正试图从源头建立Bochs.因此,我写了一个配置脚本.我没有从头开始编写脚本 - 它基于.conf.win32-vcppBochs tarball中的 sh脚本.导致问题的脚本部分是原始的 Nochs tarball,没有任何改变 - 我没有写那部分.

我的问题:

每次执行我的sh脚本时,都会发生以下错误:

[...]
config.status: creating host/linux/pcidev/Makefile
config.status: creating config.h
config.status: creating ltdlconf.h
config.status: ltdlconf.h is unchanged
FIND: Parameterformat falsch
Run Code Online (Sandbox Code Playgroud)

*(Parameterformat falsch表示参数格式不正确)

但我不需要执行大厅脚本.那个rub片段就足够了:

sh-4.1$ find -name Makefile
FIND: Parameterformat falsch
Run Code Online (Sandbox Code Playgroud)

*(Parameterformat falsch表示参数格式不正确)

我的问题:

  • 什么是错的脚本片段:find . -name Makefile?任何的想法?
  • 如何重写代码的这一部分才能使其正常工作?

我的剧本:

#!/bin/sh

set echo

./configure --target=pentium-windows \
            --enable-sb16 \
            --enable-ne2000 \
            --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-pci …
Run Code Online (Sandbox Code Playgroud)

bash shell command-line cygwin

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

PowerShell:如何在Object Propertys上创建引用

一些事实:

当您将一个对象指向一个被调用的变量$a,然后其中一个属性发生变化时,该变量$a就会更新.

但是当我将对象的属性 $object.property(而不是对象本身)的值赋值给被调用的变量$b然后$object.property更改时,$b不会更新.这意味着,当前值存储在其中$object.property,但$b保持原样.

一个例子:

我将一个Window对象指向一个名为的变量$bochsWindow.然后一些属性改变,因为我移动窗口.但是当我打印出来时$bochsWindow,你可以看到它是最新的 - 这意味着,对象属性的所有新值也都存储在其中$bochsWindow.

但是如果尝试$bochsWindow在被调用的变量中存储属性$posX然后属性发生更改,$posX则不会更改.

PS .> $bochsWindow = (GetProcess bochs | Get-Window)
PS .> $bochsWindow


ProcessId    : 1536
ProcessName  : bochs
Position     : {X=54,Y=32,Width=650,Height=576}
IsMinimized  : False
IsMaximized  : False
WindowHandle : 3933134
Caption      : Bochs for Windows - Display


[[Moving Boch's Window By Hand]] …
Run Code Online (Sandbox Code Playgroud)

shell powershell command-line pointers reference

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

GCC:在Windows上编译OpenCL主机

我只想尝试在Windows下使用OpenCL.

摘要:我尝试编译时(使用命令)出现 " undefined reference to"错误gcc my.o -o my.exe -L "C:\Program Files (x86)\AMD APP\lib\x86_64" -l OpenCL.


我的守则

#include <CL/cl.h>
#include <stdio.h>

int main(void) {   
    cl_platform_id platform;
    int err;

    err = clGetPlatformIDs(1, &platform, NULL);
    if(err < 0) {
        perror("There's No Platform!");
        exit(1);
    }

    /* Some more code... */

    system("PAUSE");
}
Run Code Online (Sandbox Code Playgroud)

Makefile文件

all: addition

addition:
    gcc -c -I "C:\Program Files (x86)\AMD APP\include" my.c -o my.o
    gcc my.o -o my.exe -L "C:\Program Files (x86)\AMD APP\lib\x86_64" -l OpenCL
Run Code Online (Sandbox Code Playgroud)

二手程序 …

c gcc mingw compilation opencl

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

sh:如何扩展环境变量?

你可以在任何地方阅读如何替换环境变量.但我想在$ PATH变量的开头插入一个新路径.用sh做这个最简单的方法是什么?

bash shell command-line sh

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