小编Tha*_*you的帖子

如何用八(8)个4位整数创建一个32位整数?

假设我有一个最大的32位整数-

const a =
  ((2 ** 32) - 1)
  
const b =
  parseInt("11111111111111111111111111111111", 2) // 32 bits, each is a one!
  
console.log(a === b) // true

console.log(a.toString(2))
// 11111111111111111111111111111111  (32 ones)

console.log(b.toString(2))
// 11111111111111111111111111111111  (32 ones)
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。但是,现在让我们说我想使用八(8)个4位数字制作一个32位数字。这个想法很简单:将<<每个4位序列移()到位置,然后将+它们相加()-

const make = ([ bit, ...more ], e = 0) =>
  bit === undefined
    ? 0
    : (bit << e) + make (more, e + 4)

const print = n =>
  console.log(n.toString(2))

// 4 bits
print(make([ 15 ])) // …
Run Code Online (Sandbox Code Playgroud)

javascript base-conversion twos-complement

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

如何在JavaScript中创建唯一项目列表?

在我的CouchDB reduce函数中,我需要将项目列表减少到唯一的项目.

注意:在这种情况下,可以有一个列表,它将是少量的字符串类型的项目.

我目前的方法是设置一个对象的键,然后返回该对象的键,因为代码不能使用这样的地方_.uniq.

我想找一个更优雅的拼写方法.

function(keys, values, rereduce) {
  // values is a Array of Arrays
  values = Array.concat.apply(null, values);
  var uniq = {};
  values.forEach(function(item) { uniq[item] = true; });
  return Object.keys(uniq);
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays couchdb

12
推荐指数
4
解决办法
3万
查看次数

如何使用browserify捆绑骨干应用程序?

我在使用browserify时遇到了一些麻烦.

目标

我正在尝试用Backbone构建基本的TodoMVC单页应用程序,而不是<script>在我的标签堆中index.html,我试图用browserify捆绑它们.

这是我到目前为止所做的事情.

LIB /模型/ todo.js

var backbone = require("backbone");

var Todo = module.exports = backbone.Model.extend({

  defaults: function() {
    return {
      title: "",
      completed: false,
      createdAt: Date.now(),
    };
  },

});
Run Code Online (Sandbox Code Playgroud)

LIB /收藏/ todo.js

var backbone     = require("backbone"),
    LocalStorage = require("backbone.localstorage");

var TodoCollection = module.exports = backbone.Collection.extend({

  localStorage: new LocalStorage('todomvc'),

});
Run Code Online (Sandbox Code Playgroud)

LIB/app.js

var Todo            = require("./models/todo"),
    TodoCollection  = require("./collections/todo");

(function(global) {

  global.todoCollection = new TodoCollection([], {model: Todo});

})(window);
Run Code Online (Sandbox Code Playgroud)

要构建我的包,我正在使用

browserify lib/app.js > js/app.js
Run Code Online (Sandbox Code Playgroud)

最后,我index.html很简单 …

javascript node.js backbone.js browserify

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

如何在没有foreach的情况下使用PHP生成器?

这是一个简单的JavaScript生成器(来自:http://blog.carbonfive.com/2013/12/01/hanging-up-on-callbacks-generators-in-ecmascript-6/)

function* powGenerator() {
  var result = Math.pow(yield "a", yield "b");
  return result;
}

var g = powGenerator();
console.log(g.next().value);   // "a", from the first yield
console.log(g.next(10).value); // "b", from the second
console.log(g.next(2).value);  // 100, the result
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用类似于PHP的模型,但这有点令人头疼.

<?php
function powGenerator() {
  return pow((yield 'a'), (yield 'b'));
}
Run Code Online (Sandbox Code Playgroud)

在我走得更远之前,我在PHP中遇到了这个错误

致命错误:生成器无法使用"返回"返回值

好吧,也许我会用另一个产量来获得最终价值?...

<?php
function powGenerator() {
  yield pow((yield 'a'), (yield 'b'));
}

$g = powGenerator(); //=> Generator {#180}
echo $g->send(10);   //=> "b"
echo $g->send(2);    //=> 100
Run Code Online (Sandbox Code Playgroud)

好的,所以我恢复了价值,但这里有两个主要问题

  1. 我 …

php generator

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

什么是React无状态功能组件的Flow返回类型?

如果我有这样的事情

const RandomComponent = (props) => (
  <div>
    <SomeSubComponent id={props.id} />
    <AnotherSubComponent type={props.type} />
  </div>
)
Run Code Online (Sandbox Code Playgroud)

我将如何用Flow键入注释返回类型,即/* ??? */在下面的代码中应该替换什么?

const RandomComponent = (props: { id: string, vino: number): /* ??? */ => (
  <div>
    <SomeSubComponent id={props.id} />
    <AnotherSubComponent veryImportantNumber={props.vino} />
  </div>
)
Run Code Online (Sandbox Code Playgroud)

编辑:就是Flow文档对无状态功能组件的看法.我可能是盲人,但我看不到有关返回类型的任何内容,只有道具类型.

javascript static-typing typing reactjs flowtype

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

是否可以在JavaScript中使用object literal定义动态命名的属性?

考虑以下

var a = {foo: "bar"};
Run Code Online (Sandbox Code Playgroud)

相当于

var a = {};
a.foo = "bar";
Run Code Online (Sandbox Code Playgroud)

相当于

var a = {};
a['foo'] = "bar";
Run Code Online (Sandbox Code Playgroud)

相当于

var a = {}
var b = "foo";
a[b] = "bar";
Run Code Online (Sandbox Code Playgroud)

是否有可能做类似的事情

var b = "foo";
var a = { [b]: "bar" };
Run Code Online (Sandbox Code Playgroud)

这样的结果就是

// => {foo: "bar"}
Run Code Online (Sandbox Code Playgroud)

可接受的解决方案是JavaScript或CoffeeScript

javascript coffeescript

9
推荐指数
2
解决办法
2641
查看次数

JavaScript的Function.prototype.bind是否有Ruby等价物?

JavaScript欢乐时光乐趣的土地

// make a method
var happy = function(a, b, c) {
  console.log(a, b, c);
};

// store method to variable
var b = happy;

// bind a context and some arguments
b.bind(happy, 1, 2, 3);

// call the method without additional arguments
b();
Run Code Online (Sandbox Code Playgroud)

输出.好极了!

1 2 3
Run Code Online (Sandbox Code Playgroud)

在Ruby中

# make a method
def sad a, b, c
  puts a, b, c
end

# store method to variable
b = method(:sad)

# i need some way to bind args now …
Run Code Online (Sandbox Code Playgroud)

javascript ruby

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

如何使用Lodash流程了解咖喱和功能组成?

import {flow, curry} from 'lodash';

const add = (a, b) => a + b;

const square = n => n * n;

const tap = curry((interceptor, n) => {
    interceptor(n);
    return n;
});

const trace2 = curry((message, n) => {
    return tap((n) => console.log(`${message} is  ${n}`), n);
});

const trace = label => {
    return tap(x => console.log(`== ${ label }:  ${ x }`));
};


const addSquare = flow([add, trace('after add'), square]);
console.log(addSquare(3, 1));
Run Code Online (Sandbox Code Playgroud)

我开始写跟踪2认为跟踪不起作用,因为"如何挖掘可能知道n或x什么?".

但跟踪确实有效,我不明白它如何能够"注入"来自流量的x进入点击呼叫.任何解释将不胜感激:)

functional-programming lodash

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

如何使用CSS显示img alt文本?

我试过这个,它运行正常

<p alt="world">hello</p>
Run Code Online (Sandbox Code Playgroud)

用CSS

p::after {
  content: attr(alt);
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试时它不起作用

<img src="http://placehold.it/300x300" alt="my image caption">
Run Code Online (Sandbox Code Playgroud)

用CSS

img::after {
  content: attr(alt);
}
Run Code Online (Sandbox Code Playgroud)

是否可以为img使用CSS 输出替代文字?

请指出浏览器与您提供的任何解决方案兼容.

这是一个jsfiddle

css

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

如何配置要全局安装的composer包?

更新:

我实际上发布了这个包,所以你可以自己看问题.

在这里查看naomik/yamldump


我正在尝试制作一个小型CLI工具并将其与作曲家打包在一起.

下面是该程序的一个非常简化的版本,但它足以证明我遇到的问题.

该项目有一个依赖项和一个"二进制"文件

composer.json

{
  "name": "naomik/yamldump",
  "version": "0.2.0",
  "bin": [
    "bin/yamldump"
  ],
  "require": {
    "symfony/yaml": "2.5.3"
  }
}
Run Code Online (Sandbox Code Playgroud)

斌/ yamldump

#!/usr/bin/env php
<?php

// use Yaml namespace
use Symfony\Component\Yaml as Yaml;

// autoload
require_once "vendor/autoload.php";

// read yaml
$yaml = file_get_contents(sprintf("%s/%s", getcwd(), $argv[1]));

// create parser
$parser = new Yaml\Parser();

// parse the yaml
var_dump($parser->parse($yaml));
Run Code Online (Sandbox Code Playgroud)

所以当我在全球范围内安装它时,我得到了这个

$ composer global require naomik/yamldump=dev-master
Run Code Online (Sandbox Code Playgroud)

文件已安装到

  • ~/.composer/vendor/bin/yamldump -> ../naomik/yamldump/bin/yamldump
  • ~/.composer/vendor/naomik/yamldump/
  • ~/.composer/vendor/symfony/yaml/

这是一个问题,因为我不打算全局安装symfony/yaml ,我的包vendor/autoload.php不能再在正确的位置找到Yaml包.

我不介意 …

php package composer-php packagist

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