小编Tha*_*you的帖子

Git:如何在不引起合并提交的情况下合并上游更改?

我有(提交是按字母顺序创建的)

origin/topic  A-B-C-D-W-X

topic         A-B-C-D-Y-Z
Run Code Online (Sandbox Code Playgroud)

有没有办法让我的topic分支看起来像

A-B-C-D-W-X-Y-Z
Run Code Online (Sandbox Code Playgroud)

没有引入合并提交?


通常我只是这样做

$ git checkout topic
$ git fetch origin
$ git merge --ff-only origin/topic
Run Code Online (Sandbox Code Playgroud)

但由于YZ被犯后WX,快进将无法正常工作.

我怀疑一些聪明的变调或樱桃采摘可能会起作用,但我无法绕过它:{

git git-merge git-rebase git-cherry-pick

6
推荐指数
2
解决办法
3134
查看次数

带括号的ES6箭头功能

我在代码中遇到了一个小问题,这让我感到困惑,并希望有人可以解释为什么会这样做.

代码1

sendText(){
    return this.http.get('/api')
        .map((response:Response) => response.json());
}
Run Code Online (Sandbox Code Playgroud)

代码2

sendText(){
    return this.http.get('/api').map((response:Response) => {
        response.json();
    });
}
Run Code Online (Sandbox Code Playgroud)

这两个代码之间的关键区别在于,在代码2中,我在箭头函数之后放置了括号,将我的任务添加到这些括号中,在代码1中,我将括号取出并将任务放在一行上.

我的问题是,为什么不从服务器端回来为未定义在未来我的目标代码2与angular2而提供的订阅方法代码1返回我怀疑的对象.

javascript ecmascript-6 angular

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

为什么Rails只列出我的一些路线?

这是我的路线文件

Dumb::Application.routes.draw do

  # an auto-named route
  get '/a/b',            to: 'a#b'

  # apparently not auto-named???
  get '/a/z/:something', to: 'a#z'

end
Run Code Online (Sandbox Code Playgroud)

这是输出 rake routes

a_b GET /a/b(.:format)            a#b
    GET /a/z/:something(.:format) a#z
Run Code Online (Sandbox Code Playgroud)

哇太糟糕了!至少为了一致性的缘故.如果我改变a#z路线

get '/a/z/:something', to: 'a#z', as: "a_z"
Run Code Online (Sandbox Code Playgroud)

rake routes 会显示

a_b GET /a/b(.:format)            a#b
a_z GET /a/z/:something(.:format) a#z
Run Code Online (Sandbox Code Playgroud)

好的,这很好,但不得不说出这样的路线很烦人.

这是唯一的解决方案吗?

routes ruby-on-rails

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

如何将内联JavaScripts合并为一个?

我正在修复我们在我们的某个网站上使用的模板,该模板具有以下代码

这个片段有用.

<script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"></script>

<script type="text/javascript">
  GS_googleAddAdSenseService("ca-pub-123");
  GS_googleEnableAllServices();
</script>

<script type="text/javascript">
  GA_googleAddSlot("ca-pub-123", "Foo");
  GA_googleAddSlot("ca-pub-123", "Bar");
</script>

<script type="text/javascript">
  GA_googleFetchAds();
</script>
Run Code Online (Sandbox Code Playgroud)

我试过连接像这样的静态脚本

<script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"></script>

<script type="text/javascript">
  GS_googleAddAdSenseService("ca-pub-123");
  GS_googleEnableAllServices();

  GA_googleAddSlot("ca-pub-123", "Foo");
  GA_googleAddSlot("ca-pub-123", "Bar");

  GA_googleFetchAds();
</script>
Run Code Online (Sandbox Code Playgroud)

但是,现在我收到了一个错误

Uncaught ReferenceError: GA_googleAddSlot is not defined 
Run Code Online (Sandbox Code Playgroud)

在JavaScript方面我不是菜鸟,但我无法想象为什么将3个内联脚本组合成单个<script>标签会在这里产生任何不同.

有任何想法吗?

javascript

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

优化连续的地图/过滤/折叠调用

假设我有一个很重要的列表,我想要执行多个地图,过滤和折叠/减少调用.为了清晰和表达,这应该通过传递给map/filter/fold的小lambda函数来完成.但是,据我所知,这些实际上每次遍历列表,在其上调用lambda(可能是内联的)并生成一个新列表.如果是这种情况,我可以编写for-each循环并将所有lambdas合并到其正文中.

我测量了一个简单的map/filter/reduce算法的执行时间以及Python中每个循环的相应命令,后者的速度提高了两倍多,就像我预期的那样,但我知道Python不是这方面最好的语言.

我的问题是:编译器是否有可能找出这些并以某种方式将它们合并为一个循环?有没有编译器这样做?我主要对函数式语言(Haskell,Erlang/Elixir,Scala)感兴趣,但也很高兴听到其他语言(Rust的实现,LINQ).

language-agnostic optimization functional-programming higher-order-functions

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

找出回调函数是否是ES6箭头

由于普通和ES6箭头函数之间的上下文差异存在很大差异,我希望能够找出在回调fn上接收到哪一个.

typeof将为两者返回 function.有什么办法可以区分吗?

javascript function ecmascript-6

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

如何简化模运算?

我有

let f = x => x % 4 === 0 ? 0 : 4 - x % 4
Run Code Online (Sandbox Code Playgroud)

但这是一个垃圾功能。救命。

x 永远不会消极。


这是真相表之类的东西。

x   x % 4     4 - (x % 4)     f(x)
0   0         4               0
1   1         3               3
2   2         2               2
3   3         1               1
4   0         4               0
5   1         3               3
6   2         2               2
7   3         1               1
8   0         4               0
9   1         3               3
Run Code Online (Sandbox Code Playgroud)

我正在尝试在此处找到一些相关性,但是已经晚了,我认为我的大脑无法正常工作。zz

我在f(x)列中看到的是一种反向模数,因此输出从032103210 …

javascript arithmetic-expressions modulo

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

了解 Racket 中的移位/重置

foldr我在球拍中展示了两个简单的实现

第一个缺乏适当的尾部调用,对于较大的值来说是有问题的xs

(define (foldr1 f y xs)
  (if (empty? xs)
      y
      (f (car xs) (foldr1 f y (cdr xs)))))

(foldr1 list 0 '(1 2 3))
; => (1 (2 (3 0))
Run Code Online (Sandbox Code Playgroud)

第二个使用带有延续的辅助函数来实现正确的尾部调用,使其可以安全地用于较大的值xs

(define (foldr2 f y xs)
  (define (aux k xs)
    (if (empty? xs)
        (k y)
        (aux (lambda (rest) (k (f (car xs) rest))) (cdr xs))))
  (aux identity xs))

(foldr2 list 0 '(1 2 3))
; => (1 (2 (3 0)))
Run Code Online (Sandbox Code Playgroud)

看看racket/control我发现球拍支持一流的延续。foldr我想知道使用shift …

continuations functional-programming racket delimited-continuations

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

如何使用Bootstrap在响应式视图中拆分列?

我正在使用Bootstrap v4 alpha4

目前我有:

.row
  .col-xs-12.col-md-8
    div A
  .col-xs-12.col-md-4
    div B
    div C
Run Code Online (Sandbox Code Playgroud)

对于xs布局,我希望div顺序为:

Div B
Div A
Div C
Run Code Online (Sandbox Code Playgroud)

我不知道如何做到这一点或如何甚至询问它.我不是前端开发者所以我不知道叫什么东西.

我们可以将HTML更改为我们想要的任何内容.不是要留喜欢它就是现在.

在此输入图像描述

css responsive-design twitter-bootstrap twitter-bootstrap-4 bootstrap-4

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

如何使用扩展语法将TypeScript类型添加到析构参数?

忽略这是一个不好的add功能.这是一个关于在TypeScript中使用带有扩展语法的数组解构的问题.

这就是我正在尝试的

const add = ([x,...xs]) => {
  if (x === undefined)
    return 0
  else
    return x + add(xs)
}

console.log(add([1,2,3])) //=> 6
Run Code Online (Sandbox Code Playgroud)

但我不知道如何添加TypeScript类型.我最好的猜测是做这样的事情(最直接的翻译)

const add = (xs: number[]): number => {
  if (xs[0] === undefined)
    return 0;
  else
    return xs[0] + add(xs.slice(1));
};

console.log(add([1,2,3])); // => 6
Run Code Online (Sandbox Code Playgroud)

这两种职能的工作,但在打字稿我失去解构阵列参数,函数体被junked了像一堆难看的东西的能力,并xs[0]xs.slice(1)-即使我这些抽象到自己的职能,这是除了点.

是否可以在TypeScript中添加类型来解构扩展参数?


到目前为止我尝试过的

这样的东西适用于固定数组

// compiles
const add = ([x,y,z]: [number, number, number]): number => ...
Run Code Online (Sandbox Code Playgroud)

但当然我需要可变长度数组输入.我试过这个,但它没有编译

// does not compile
const add = ([x, ...xs]: …
Run Code Online (Sandbox Code Playgroud)

destructuring typescript spread-syntax

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