小编Ter*_* Li的帖子

发出一个命令并运行多个Ruby文件

我必须运行一大堆ruby脚本来生成一些结果.哪个顺序无关紧要.我只是不想一个接一个地做Ruby file1.rb,Ruby file2.rb,Ruby file3.rb ......

我可以编写一个将所有文件组合在一起的脚本,并只发出一次命令来运行它们吗?

ruby scripting

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

Ruby Map/Reduce功能是否必须高效?

b1 = Time.now
puts (1..100000).inject(0) { |x, y| x + y }
a1 = Time.now
puts "Time for inject: #{a1 - b1}"

b2 = Time.now
sum = 0
(1..100000).each do |value|
    sum += value
end
puts sum
a2 = Time.now
puts "Time for each: #{a2 - b2}"
Run Code Online (Sandbox Code Playgroud)

上面的Ruby代码比较了两种求和整数的方法.令我惊讶的是,更优雅的注入减少方法胜过另一方.为什么会这样?人们为什么要使用低效注入减少?只是因为它很优雅?

PS:感谢所有鼓舞人心的答案.我的目的是询问导致这些差异的幕后情况.

ruby reduce functional-programming inject

3
推荐指数
2
解决办法
1625
查看次数

如何检查分配的内存是否已初始化

我暴露在指针int* i中,我只知道它的内存被分配,但我不确定它是否已被初始化为某个整数.

如果我试图顺从它,会发生什么?换句话说,我应该如何检查它是否已初始化?如果不是,我想为该地址分配一个整数值; 否则我什么都不做.

c pointers initialization dereference

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

通过价值传递或通过引用传递

void Subroutine1(int Parameter1)

void Subroutine2(const int &Parameter1) 
Run Code Online (Sandbox Code Playgroud)

在Subroutine1中,我们必须获得参数的副本,而在Subroutine2中我们不必进行复制,这可能会节省一些开销.

在实践中,Subroutine1似乎比其他更频繁地使用.为什么会这样?

c++ parameters pass-by-reference pass-by-value

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

它是通过指针?

void func(char* buf) { buf++;}
Run Code Online (Sandbox Code Playgroud)

我应该通过指针调用它还是只传递值(值为指针类型)?在这种情况下,传入的原始指针会被改变吗?

c++ pass-by-reference pass-by-value

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

为什么在这个基本的Java程序中得到一个InputMismatchException?

String[] names=new String[4];
int[] scores=new int[4];
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter 4 strings and integers:");
for(int i=0;i<4;i++){
  names[i]=keyboard.nextLine();
  scores[i]= keyboard.nextInt();
}
Run Code Online (Sandbox Code Playgroud)

上面是我的简单程序,下面显示了弹出的异常.

Enter 4 strings and integers:
first
1
second
Exception in thread "main" java.util.InputMismatchException
    at java.util.Scanner.throwFor(Scanner.java:909)
    at java.util.Scanner.next(Scanner.java:1530)
    at java.util.Scanner.nextInt(Scanner.java:2160)
    at java.util.Scanner.nextInt(Scanner.java:2119)
    at Q2.main(Q2.java:15)
Java Result: 1
Run Code Online (Sandbox Code Playgroud)

java exception input type-mismatch

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

Java人脸检测库

我有一大堆图像,需要过滤掉所有有人脸的图像.是否有这样的Java库提供单个方法,将图像作为输入并输出是或否?

java image-processing face-detection

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

如何在Java中使用匿名类重载方法?

我有一个类Action,它有一个叫做doAction()的方法.此方法仅用于覆盖我添加到名为allActions的操作列表的每个新操作.

public void doAction() {
    System.out.println("Overload this method.");
} 
Run Code Online (Sandbox Code Playgroud)

操作列表存储在以下列表中:

public static List<Action> allActions = new ArrayList<Action>();
Run Code Online (Sandbox Code Playgroud)

并通过以下调用添加到此列表中:

allActions.add(
    new Action(id){
        public void doAction(Word w1, Word w2) {
            //perform some action
        }
    }
);
Run Code Online (Sandbox Code Playgroud)

但是这段代码对我不起作用.当我尝试从allActions列表中访问覆盖的doAction()方法时,它只执行默认方法.

我怀疑问题是allActions是一个Action对象列表,所以当它被添加到列表中时,类型可能会从匿名类更改,并恢复为默认方法.

有关如何维护Action类的不同匿名版本列表的任何想法?我希望能够根据赋予操作的id调用这些不同的doAction()方法.

顺便说一下,这是我第一次遇到匿名课程.我我理解这个概念,但实际上使用它们是另一个故事.

java overriding overloading anonymous-class

2
推荐指数
3
解决办法
6645
查看次数

TreeMap <String,Integer> object的get方法返回null值

import java.util.*;

public class Sort {

    static class ValueComparator implements Comparator<String> {

        Map<String, Integer> base;

        ValueComparator(Map<String, Integer> base) {
            this.base = base;
        }

        @Override
        public int compare(String a, String b) {
            if (base.get(a) >= base.get(b)) {
                return 1;
            } else {
                return -1;
            }
        }
    }

    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<String, Integer>();
        ValueComparator vc = new ValueComparator(map);
        TreeMap<String, Integer> sorted = new TreeMap<String, Integer>(vc);
        map.put("A", 1);
        map.put("B", 2);
        sorted.putAll(map);
        for (String key : …
Run Code Online (Sandbox Code Playgroud)

java hashmap key-value treemap

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

Python正则表达式:由重复的标点符号拆分

How????are!!!you
Run Code Online (Sandbox Code Playgroud)

我想将字符串拆分成['How','are','you'].

我试过以下正则表达式:

\?*|\!*
Run Code Online (Sandbox Code Playgroud)

这不起作用.但是,以下正则表达式有效:

\?+|\!+
Run Code Online (Sandbox Code Playgroud)

有人向我解释这个吗?

python regex

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