小编ppa*_*ler的帖子

多次调用时为 Iterable 实现模拟拆分器?

我在模拟一个Iterable类并调用spliterator(). 调用spliterator一次时一切正常,但第二次调用不返回任何值。

由于模拟总是返回相同的Spliterator实例,我假设状态没有被重置。有没有办法做到这一点?

这是我能给出的最小的例子

调用mapStringToHash是现实生活中的 Lib,无法更改。 MyIterable也不是我控制的对象。

package net.test;

import static org.hamcrest.CoreMatchers.is;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static java.util.stream.Collectors.toList;
import static org.hamcrest.MatcherAssert.assertThat;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Spliterator;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.runners.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class SpliteratorTest {

    class MyIterable<T> implements Iterable<T> {

        private List<T> list;

        MyIterable(List<T> list) {
            this.list = new ArrayList<>(list);
        }

        @Override
        public Iterator<T> iterator() …
Run Code Online (Sandbox Code Playgroud)

java unit-testing mockito java-stream

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

结合$和_来获取数据值?

我有一个带有data属性的jquery元素列表.

现在我想获得这些数据属性的列表.

由于data-attribute是某种对象属性,我认为这可能适用于下划线pluck方法.

这甚至可能吗?

看到这个简短的例子:

var divs = $("div");

// now do something

// expected result: [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.com/libraries/underscore.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div data-foo="1">a</div>
<div data-foo="2">b</div>
<div data-foo="3">c</div>
<div>x</div>
Run Code Online (Sandbox Code Playgroud)

基于@ romeo-sierra这是我写下来的方式(因为我已经有了jquery对象).下划线是多余的

var foos = $("div").map(function() {
  return $(this).data("foo");
}).toArray();

console.log(foos);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div data-foo="1">a</div>
<div data-foo="2">b</div>
<div data-foo="3">c</div>
<div>x</div>
Run Code Online (Sandbox Code Playgroud)

javascript jquery underscore.js

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

打开文件取决于它是否是.gz

我试图弄清楚打开python文件的最佳方法是基于它的类型.

例如,我有一些像这样的基本东西,但它对我来说似乎并不"pythonic",我觉得它在某种程度上可以重构和编写得更清洁;

def openfile(filename):
    if read_file_from_top:
        if not filename.endswith('.gz'):
            with open(filename, 'r') as infile:
                for line in infile:
                   # do something
        else:
            with gzip.open(filename, 'r') as infile:
                for line in infile:
                   # do something
    elif read_file_from_bottom:
        if not filename.endswith('.gz'):
            with open(filename, 'r') as infile:
                for line in infile:
                    # do something
        else:
            with gzip.open(filename, 'r') as infile:
                for line in infile:
                    # do something
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点,也许使用发电机?谢谢.

python with-statement

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

在 javascript 中获取数据时 Highcharts 显示加载图标

我们希望在数据加载时显示加载图标,并且图表是在 highcharts 中制作的。

下面是伪代码:

// service call
// data is pushed in data set 
// and that data is used in highcharts.

$('Chart_name').highcharts({
});
Run Code Online (Sandbox Code Playgroud)

javascript loader highcharts

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

用CSS绘制一条方形线,插入一个div

我想知道是否有可能追踪1px方形轮廓,插入div内的特定距离.目前,css和HTML看起来像这样

.object {
    width: 100px;
    height: 100px;
    background-color: red;
    color: white;
    padding: 5px;
}
Run Code Online (Sandbox Code Playgroud)
<div class="object">
    Hello World!
</div>
Run Code Online (Sandbox Code Playgroud)

结果如下:

http://i.imgur.com/qdB0yb6.png

而预期的结果将是这样的:

http://i.imgur.com/vnfFhmY.png

html css

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