GVKun编程网logo

为什么我们需要使用flatMap?(为什么我们需要使用函数?函数在编程中扮演了什么角色?)

7

对于想了解为什么我们需要使用flatMap?的读者,本文将是一篇不可错过的文章,我们将详细介绍为什么我们需要使用函数?函数在编程中扮演了什么角色?,并且为您提供关于Android:为什么我们需要使用R

对于想了解为什么我们需要使用flatMap?的读者,本文将是一篇不可错过的文章,我们将详细介绍为什么我们需要使用函数?函数在编程中扮演了什么角色?,并且为您提供关于Android:为什么我们需要使用R2代替R和butterknife?、Angular2为什么我们需要es6-shim、angularjs – 如果有简单的方法,为什么我们需要reactjs-bootstrap?、c – 为什么我们需要crossCheckMatching功能?的有价值信息。

本文目录一览:

为什么我们需要使用flatMap?(为什么我们需要使用函数?函数在编程中扮演了什么角色?)

为什么我们需要使用flatMap?(为什么我们需要使用函数?函数在编程中扮演了什么角色?)

我开始使用RxJS,但我不明白为什么在此示例中我们需要使用类似flatMapor 的函数concatAll;数组的数组在哪里?

var requestStream = Rx.Observable.just('https://api.github.com/users');

var responseMetastream = requestStream
  .flatMap(function(requestUrl) {
    return Rx.Observable.fromPromise(jQuery.getJSON(requestUrl));
  });

responseMetastream.subscribe(url => {console.log(url)})

如果有人可以直观地解释正在发生的事情,那将非常有帮助。

Android:为什么我们需要使用R2代替R和butterknife?

Android:为什么我们需要使用R2代替R和butterknife?

我已经使用 butterknife几个月了,我刚刚在其文档中注意到它说:

Now make sure you use R2 instead of R inside all Butter Knife
annotations.

这是为什么?我一直在使用R,一切都很完美.

解决方法

使用R2仅用于构建Android库项目.

https://github.com/JakeWharton/butterknife#library-projects

这与事实有关,即当作为库的一部分构建时,R.java生成的类中的值不会被声明为“final”.用于@BindView()的注释需要这些R.值是最终的,以后不会更改.

我相信有人可以更好地解释所有这些 – 但最重要的是 – 你可以使用“R”. Android应用程序中@BindView中的值

Angular2为什么我们需要es6-shim

Angular2为什么我们需要es6-shim

在 Angular2 Quickstart Guide之后,我们被指示将es6-shim包括在2个地方:

1)index.html

< script src =“node_modules / es6-shim / es6-shim.min.js”>< / script>

2)typings.json

"ambientDependencies": {
  "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#6697d6f7dadbf5773cb40ecda35a76027e0783b2"
}

我的印象是我们正在将我们的es6代码编译成es5.

在tsconfig.json中配置

{
  "compilerOptions": {
    "target": "es5",...

如果最终结果是浏览器正在加载es5,为什么浏览器需要es6的垫片?

您的编辑器使用打字来为您提供代码提示/智能感知,es6-shim.min.js是一个模拟ES5浏览器ES6功能的代码.其中一些功能是Promise,Array.from()…

虽然您的代码被转换为ES5,您需要包含es6-shim,以便您可以使用这些新功能…考虑这个ES6代码:

let test1 = () => 123 + 456;
let test2 = new Promise((resolve,reject ) => {});

它将被翻译成ES5代码:

var test1 = function () { return 123 + 456; };
var test2 = new Promise(function (resolve,reject) { });

但没有es6-shim承诺将是未定义的…

angularjs – 如果有简单的方法,为什么我们需要reactjs-bootstrap?

angularjs – 如果有简单的方法,为什么我们需要reactjs-bootstrap?

我一直在使用react或angular开发web应用程序,但我很困惑为什么人们会使用像react-bootstrap( https://react-bootstrap.github.io/introduction.html)或Angular-bootstrap这样的库?因为当我创建时我只需要使用链接标记及其对应的js lib加载css框架,然后在reactjs方面,我只需要放置组件所需的类.这听起来不容易吗?

谢谢,

它与Bootstrap的Javascript部分有关.使用链接标记,CSS可以正常工作.

但是React和Angular是Javascript库,它们在操作DOM方面有很多东西.如果你也使用像Bootstrap或jQuery这样的东西来操作DOM,它可能不会很好地与React或Angular一起使用,因为他们试图以非常不同的方式同时做类似的事情.因此需要重写与DOM相关的Javascript库,以便它们与React / Angular很好地配合.

来自react-bootstrap文档:

we don’t ship with any included css

所有他们处理的都是JS.

c – 为什么我们需要crossCheckMatching功能?

c – 为什么我们需要crossCheckMatching功能?

我正在阅读很多使用特征提取(sift ecc)进行物体检测的帖子.

在两个图像上计算描述符之后,为了获得良好的匹配,他们使用了crossCheckMatching. (发现于sample/cpp/descritpor_extractor_matcher.cpp)

Coudl我理解为什么选择这个?

为什么我们需要评估两者

descriptorMatcher->knnMatch( descriptors1,descriptors2,matches12,knn );
descriptorMatcher->knnMatch( descriptors2,descriptors1,matches21,knn );

我不明白.

例如,计算Euclian距离在两个方向上都不会返回相同的结果?

解决方法

您通常不能假设您的匹配器将使用Eucludian距离.例如,BFMatcher支持不同的规范:L1,L2,Hamming ……

您可以在此处查看文档以获取更多详细信息:http://docs.opencv.org/modules/features2d/doc/common_interfaces_of_descriptor_matchers.html

无论如何,所有这些距离测量都是对称的,并且您使用哪一个来回答您的问题并不重要.

答案是:调用knnMatch(A,B)与调用knnMatch(B,A)不同.

如果你不相信我,我会试着给你一个图形和直观的解释.为了简单起见,我假设knn == 1,因此对于每个查询的描述符,算法只会找到1个对应关系(更容易绘制:-)

我随机挑选了几个2D样本并创建了两个数据集(红色和绿色).在第一个图中,绿色在查询数据集中,这意味着对于每个绿点,我们尝试找到最接近的红点(每个箭头表示一个对应关系).

在第二个图中,查询&列车数据集已被交换.

最后,我还绘制了crossCheckMatching()函数的结果,它只保留了双向匹配.

正如您所看到的,crossCheckMatching()的输出比每个knnMatch(X,Y)/ knnMatch(Y,X)要好得多,因为只保留了最强的对应关系.

今天关于为什么我们需要使用flatMap?为什么我们需要使用函数?函数在编程中扮演了什么角色?的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android:为什么我们需要使用R2代替R和butterknife?、Angular2为什么我们需要es6-shim、angularjs – 如果有简单的方法,为什么我们需要reactjs-bootstrap?、c – 为什么我们需要crossCheckMatching功能?的相关知识,请在本站搜索。

本文标签: