小编Sta*_*tan的帖子

使用两个不同的泛型参数调用泛型函数仍然可以编译

以下代码甚至可以编译怎么可能?据我所知,count函数是用两种不同的类型调用的,但编译器没有抱怨并且很乐意编译这段代码.

public class Test {
        public static <T> int count(T[] x,T y){
                int count = 0;
                for(int i=0; i < x.length; i++){
                        if(x[i] == y) count ++;
                }
                return count;  
        }
        public static void main(String[] args) {
                Integer [] data = {1,2,3,1,4};
                String value = "1";
                int r =count(data,value);
                System.out.println( r + " - " + value);
        }
}
Run Code Online (Sandbox Code Playgroud)

java generics compiler-errors compilation

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

在Emacs viper-mode中插入空格而不是TAB

我很长时间用户,最近发现emacs有viper-mode,提供两全其美(至少对我而言).然而有一件事真的困扰我,因为我主要是在python编码,并且标签和空格的混合是一个大问题.

当处于插入模式时,我想在按TAB时插入viper-shift-width空格而不是TAB.我怎样才能做到这一点?我想一些简单的lisp函数/设置就是解决方案.

我没有在viper模式设置中找到任何可以执行此操作的内容.

编辑:

我有(setq-default indent-tabs-mode nil).emacs但是当我在viper-mode中处于插入模式(在插入模式的vim meaing中)时这不起作用

emacs configuration elisp spaces viper-mode

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

python修改整个程序的__metaclass__

编辑:请注意,这在生产代码中是一个非常糟糕的想法.这对我来说只是一个有趣的事情.不要在家里这样做!

是否可以在Python中修改整个程序(解释器)的__metaclass__变量?

这个简单的例子是:

class ChattyType(type):
    def __init__(cls, name, bases, dct):
        print "Class init", name
        super(ChattyType, cls).__init__(name, bases, dct)

__metaclass__= ChattyType


class Data:
    pass

data = Data() # prints "Class init Data"
print data
Run Code Online (Sandbox Code Playgroud)

但我希望能够改变__metaclass__甚至在子模块中工作.例如(文件m1.py):

 class A:
       pass

 a=A()
 print a
Run Code Online (Sandbox Code Playgroud)

文件main.py:

class ChattyType(type):
    def __init__(cls, name, bases, dct):
        print "Class init", name
        super(ChattyType, cls).__init__(name, bases, dct)

__metaclass__= ChattyType

import m1 # and now print "Class init A"

class Data:
    pass

data = Data() # print "Class init Data"
print …
Run Code Online (Sandbox Code Playgroud)

python metaprogramming metaclass python-2.x

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