小编Zor*_*one的帖子

NodeJS计划支持导入/导出es6(es2015)模块

我一直在寻找互联网,没有明确的答案.

目前使用的NodeJS只CommonJS的语法来加载模块,如果你真的想使用标准ES2015模块语法,你要么必须事先transpile,或在运行时使用外部模块加载.

目前我不太喜欢使用这两种方法,NodeJS维护者是否计划支持ES2015模块?我还没有找到关于此的暗示.

目前NodeJS 6.x声称支持96%的ES2015功能,但没有任何模块参考(NodeJS ES2105支持链接).

你知道NodeJS是否会在不久的将来支持这些模块?

javascript module node.js ecmascript-6 es6-modules

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

Node.js在屏幕上绘图

我一直在网上寻找这个.我想知道是否有任何Node.js包/ bindigs /库允许你创建一个在没有node-webkit(NW.js)/ Electron或基于浏览器的其他实现的情况下在屏幕上绘制的应用程序.也许某些东西与opengl结合,支持2D图形?

如果您知道某些名称或链接,请告诉我.如果不是,我可能不得不自己写点东西.

感谢你们.

javascript opengl directx graphics node.js

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

ES6(EcmaScript 2015)模块:import index.js

在互联网上看,我对特殊的"index.js"模块文件感到困惑.

使用babelJS + nodeJS或Browserify/Webpack我可以使用import myLib from "./libs"(即省略/index/index.js部分)在"libs"目录中导入"index.js"模块.

是否支持ES6(EcmaScript 2015)模块官方标准的"index.js"模块解析(指定包含文件夹)?或者它只是"自定义"NodeJS/CommonJS转换行为?

是否可以省略/index| /index.js在所有浏览器中导入的一部分(当所有浏览器都支持模块时)?

javascript node.js ecmascript-6 es6-module-loader es6-modules

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

我是否正确使用了递归?

我正在解决一些练习JavaScript问题,并解决了涉及递归的问题.虽然我做对了,但我的实现与"官方"解决方案不同,所以我想知道是否有人对官方答案是否更好有任何见解,如果是,为什么.

实现一个函数,该函数将函数作为其第一个参数,一个数字num作为其第二个参数,然后执行传入的函数num次数.
如果使用递归代码,可以在实现中使用循环,奖励积分.

我的解决方案

function repeat(operation, num) {
    if (num > 0) {
        operation();

        repeat(operation, num - 1);
    };
};
Run Code Online (Sandbox Code Playgroud)

鉴于解决方案

function repeat(operation, num) {
    if (num <= 0)
        return;

    operation();

    return repeat(operation, --num);
};
Run Code Online (Sandbox Code Playgroud)

有没有什么关于给定的解决方案,使它比我的更好?

javascript recursion

8
推荐指数
2
解决办法
128
查看次数

Cordova无法在android(GCM依赖)上构建

我已经为Android安装了最新的Support Repository包.

但是我无法使用ionic/cordova(第一次构建)编译我的新应用程序,并且出现以下错误:

TR: ~/Documents/bitron/B-See tommaso$ ionic run --device android
Running command: /Users/webdev1/Documents/bitron/B-See/hooks/after_prepare/010_add_platform_class.js /Users/webdev1/Documents/bitron/B-See
add to body class: platform-android
Running command: /Users/webdev1/Documents/bitron/B-See/platforms/android/cordova/run --device
ANDROID_HOME=/usr/share/java/android-sdk-macosx
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home
Running: /Users/webdev1/Documents/bitron/B-See/platforms/android/gradlew cdvBuildDebug -b /Users/webdev1/Documents/bitron/B-See/platforms/android/build.gradle -PcdvBuildArch=arm -Dorg.gradle.daemon=true

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all dependencies for configuration ':_debugCompile'.
   > Could not find any version that matches com.google.android.gms:play-services-gcm:+.
     Searched in the following locations:
         https://repo1.maven.org/maven2/com/google/android/gms/play-services-gcm/maven-metadata.xml
         https://repo1.maven.org/maven2/com/google/android/gms/play-services-gcm/
         file:/usr/share/java/android-sdk-macosx/extras/android/m2repository/com/google/android/gms/play-services-gcm/maven-metadata.xml
         file:/usr/share/java/android-sdk-macosx/extras/android/m2repository/com/google/android/gms/play-services-gcm/
     Required by:
         :android:unspecified

* …
Run Code Online (Sandbox Code Playgroud)

android gradle cordova google-cloud-messaging ionic

7
推荐指数
2
解决办法
7659
查看次数

科尔多瓦挂钩订购

在Cordova网站上,按字母顺序查看一长串钩子,但是它们触发并执行的正确顺序是什么?

我正在尝试在构建/编译之前将cordova.js脚本添加到index.html文件中head.

首先发生在讲什么before_buildbefore_compile,为什么?条款buildcompile这里有什么区别?

是否build意味着compile在平台代码之前复制所有资产?所以我的钩子应该在before_build目录中?

如果我错了,请确认或纠正我.

由于文档不清楚,钩子的正确顺序对每个人都有帮助:)

编辑:

最终会cordova-cli自动cordova.js为我添加脚本,如果它丢失了吗?因为我正在测试钩子,即使它不起作用,脚本已经存在于html文件中.

hook cordova phonegap-build hybrid-mobile-app ionic

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

矩阵不是零填充声明

当我偶然发现这种"怪异"的行为时,我试图在另一个函数中调试我的代码.

#include <stdio.h>

#define MAX 20

int main(void) {
    int matrix[MAX][MAX] = {{0}};

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我在该return 0;行上设置断点并使用Code :: Blocks查看局部变量,则矩阵不会完全用零填充.第一行是,但数组的其余部分只包含随机垃圾.

我知道我可以做一个双for循环来手动将所有内容初始化为零,但不是C标准应该用{{0}}初始化程序将此矩阵填充为零?

也许是因为这是漫长的一天,我很累,但我可以发誓,我知道这一点.

我试着用不同的标准(与代码::块捆绑编译gcc编译): ,,-std=c89 但它是相同的.-std=c99std=c11

有什么不妥的想法?你能解释一下吗?

编辑:我特别询问{{0}}初始化程序.

我一直认为它会将所有列和所有行填充为零.

编辑2:我特别困扰Code::Blocks和捆绑GCC.其他评论说该代码适用于不同的平台.但为什么它对我不起作用?:/

谢谢.

c gcc c99 codeblocks c89

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

MVVM“活页夹”的定义及其用法?

我一直在互联网上四处寻找,以便对MVVM一般情况有更好的了解。

Wikipedia上,它指出了MVVM模式的组成部分:

  • 模型
  • 视图
  • 查看模型
  • 活页夹

这是我第一次遇到的binder定义与一起modelviewview-model这是缩写的一部分。

维基百科的定义中的MVVM 的‘活页夹’规定如下:

声明性的数据和命令绑定在MVVM模式中是隐式的。在Microsoft溶液堆中,binder是一个markup language称为XAML。活页夹使开发人员免于编写模板逻辑来同步view model和的义务view。当在Microsoft堆栈外部实现时,声明性databinding技术的存在是该模式的关键推动因素。

问题:每个MVVM模式都总是包含一个binder吗?到底是做binder 什么用的?是您实际编写的东西,还是只是有些自动化framework

AngularJS几乎每天都在工作和使用,并且有些人同意它的模式MVVMMVC/ 相反MVP。我知道,View Model这就是AngularJS所谓"Controller"的“经典” MVC …

javascript model-view-controller design-patterns mvvm angularjs

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

Vim - 尝试使用右箭头键转到下一行

可能重复:
自动转到vim中的下一行

有人知道为什么Vim不允许使用右箭头键进入下一行但只使用向上/向下?

有没有办法来解决这个问题?

提前致谢!

Zorgatone.

vi vim command-line text editor

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

Scanner.next() 可以返回 null 或空字符串吗?

我正在学习来自其他编程语言(Js、C 和其他..)的 Java

我想知道在任何情况下该Scanner.next()方法是否可以返回(不抛出)无效字符串或少于一个字符(即null或空字符串"")。我习惯于仔细检查用户输入是否有任何可能的意外/无效值,但我想知道测试nullmyString.length() < 1是否总是不必要的或可能有用/需要。

我特别在从命令行和 读取时询问,而System.in不是从其他文件流读取。myString.charAt(0)从终端输入正常读取时,我是否可以安全地从返回值中获取第一个字符(即,没有管道和文件,直接从终端和键盘读取)?

我搜索了 Java SE 9 API Docs,但找不到关于可能意外返回值的提及。如果输入出现任何问题,它应该只是抛出一个异常,对吗?

示例(没有导入的主要方法的一部分):

Scanner keyboard = new Scanner(System.in);

System.out.print("Enter a selection (from A to E): ");
String res = keyboard.next();

if (res == null || res.length() < 1) {
    // Unnecessary if?
}
Run Code Online (Sandbox Code Playgroud)

java input

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

如何在unix/posix中清除(重置)屏幕?(不是诅咒/换行)

我想知道(如果可能的话)你如何清除/重置linux/mac/unix(不是DOS)中的终端屏幕,就像你在windows/DOS上用"conio.h"中的clrscr()一样.我知道这里和网上都有类似的问题,但我找不到能够回答我特定案例的问题.

注意:我知道模拟系统的curses/ncurses和解决方案("清除"),但这不是我想要的.我想完全重置终端缓冲区(即我不想向下滚动或添加换行符以清除屏幕),请不要使用curses/ncurses(我不喜欢ncurses屏幕模式,我想坚持使用默认模式).

是可能还是我在问一些不可能的事情?:P我试图制作一个没有诅咒的控制台游戏(不完全是一个roguelike),我不喜欢看到我在屏幕上打印的内容,只需向上滚动即可清除它.

编辑:我已经尝试过系统("重置"),这不是一个使用系统调用的好方法,并且它使用该命令得到了一个不好的延迟,但它接近我想要做的..是否有某种功能/库可以做类似的事情吗?

我认为这也是一个很好的解决方案,做一些像移动(0,0),然后再打印我需要的东西或只是空白(这样我不会滚动和上面的旧文本).但我不知道是否有一个库可以做到这一点,而不是没有curses模式.

现在看下面我自己的答案,我正在使用

printf("\033c");
Run Code Online (Sandbox Code Playgroud)

这个工作正常,解决了我的问题.如果有人知道此解决方案的任何问题,请告诉我. 我的光标可见性有问题.如果它被隐藏了,这段代码会再次显示,你知道修复此问题吗?

谢谢,

Zorgatone

c unix terminal console

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