问题列表 - 第37550页

Ruby中抽象类的替代方案?

我是Ruby的新手.一个简单的例子,我需要的:

class Animal
   abstract eat()

class Cat < Animal
   eat():
     implementation

class Dog < Animal
   eat():
     implementation
Run Code Online (Sandbox Code Playgroud)

换句话说,所有扩展Animal的类都需要eat()方法.

在JAVA中我只使用一个抽象类,但经过一些研究后我发现许多人不在Ruby中使用它,而建议使用mixin/modules.

但是,我不明白,如果模块可以做的不仅仅是包含一个额外的方法.确切地说,模块是否可以为类必须实现哪些方法设置要求(如果是,可以赞赏一个例子)?

总而言之,在这种情况下我应该使用什么,当我想确定,所有相同类型的类都有特定的方法并以自己的方式实现它们?

ruby abstract-class mixins

9
推荐指数
2
解决办法
6146
查看次数

禁用特定方法/类的Java JIT?

我在Java应用程序中遇到问题,JIT破坏了代码.如果我禁用JIT,一切正常,但运行速度慢10-20倍.

有没有办法为特定方法或类禁用JIT?

编辑:我正在使用Ubuntu 10.10,获得相同的结果:

OpenJDK Runtime Environment (IcedTea6 1.9) (6b20-1.9-0ubuntu1)
OpenJDK 64-Bit Server VM (build 17.0-b16, mixed mode)
Run Code Online (Sandbox Code Playgroud)

和:

Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)

java jit jvm jvm-hotspot

9
推荐指数
2
解决办法
6181
查看次数

C#:将Dictionary <String,String>转换为Dictionary <String,Dictionary <String,String >>

第一个Dictionary就像

        Dictionary<String, String> ParentDict = new Dictionary<String, String>();
        ParentDict.Add("A_1", "1");
        ParentDict.Add("A_2", "2");
        ParentDict.Add("B_1", "3");
        ParentDict.Add("B_2", "4"); 
        ParentDict.Add("C_1", "5");
Run Code Online (Sandbox Code Playgroud)

我需要将其转换为新的 Dictionary<String, Dictionary<String,String>>

结果将包含

Key                    Value

              Key                   Value             
_________________________________________________

"A"             "A_1"                    "1"
                "A_2"                    "2"

"B"             "B_1"                    "1"
                "B_2"                    "2"

"C"             "C_1"                    "1"
Run Code Online (Sandbox Code Playgroud)

现在我正在使用nested for loop这个.

我怎么能用LNQLAMBDA Expression

c# linq lambda dictionary

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

替换列表元素中的空格

我有一个标签列表:

>>> tags_list
['tag1', 'second tag', 'third longer tag']
Run Code Online (Sandbox Code Playgroud)

如何用"+"替换列表中每个元素中的空格?我试图用正则表达式做这个,但每个字符串保持不变:

for tag in tags_list:
    re.sub("\s+" , " ", tag)
Run Code Online (Sandbox Code Playgroud)

我的做法有什么问题?

编辑:

是的,我忘了提到,在每个标签中的单词之间我们可以有多个空格以及标签可以以空格开头或结尾,因为它们是用逗号分隔的字符串解析的,带有split(","):("First标签,第二个标签,第三个标签").抱歉没有足够精确.

python regex string whitespace replace

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

"流式"套接字和"数据报"套接字类型之间有什么区别?

"流式"套接字和"数据报"套接字类型之间有什么区别?

sockets

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

GUI程序的记录策略

我认为在我的应用程序(绘画类型程序)中撒一些调试日志记录并将此信息写入文件可能是有益的.我当前的调试策略是挂钩自定义异常监听器(sys.excepthook)并允许用户通过电子邮件发送导致崩溃的堆栈跟踪的副本.

这对于查看用户导致程序崩溃的行为非常方便,但我觉得日志文件肯定有帮助.我想知道最好的办法是什么.我正在考虑通过命令行开关启用日志记录,并为程序的每次"运行"创建日志,并在发生崩溃时通过电子邮件发送自己的日志副本.但是,如果应用程序未处于调试模式,则日志将无法帮助!

我有点担心日志填满太快 - 如果我将记录放在一些鼠标运动事件处理程序中,那么它将创建许多条目.此外,日志文件可能会变得非常大,并且在检查错误报告时只会向我填充无关信息.

你们怎么处理这个?我对记录的频率感兴趣 - 因为我的应用程序响应了许多事件(例如鼠标移动;取决于用户输入),我不想创建过多的日志记录.

python user-interface logging

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

自制小memcache

我正在将"云"之外的Google App Engine Web应用程序移动到标准Web框架(webpy),我想知道如何实现Gae上提供的memcache功能.

在我的应用程序中,我只使用此缓存来存储每隔X小时从远程api检索到的一堆数据; 换句话说,我并没有过多地强调这个缓存.

我天真地实现了这样的事情:

class TinyCache():
    class _Container():
        def __init__(self, value, seconds):
            self.value = value
            self.cache_age = datetime.now()
            self.cache_time = timedelta(seconds = seconds)
        def is_stale(self):
            return self.cache_age + self.cache_time < datetime.now() 

    def __init__(self):
        self.dict_cache={}

    def add(self, key, value, seconds = 7200):
        self.dict_cache[key] = self._Container(value, seconds)

    def get(self, key):
        if key in self.dict_cache:
            if self.dict_cache[key].is_stale():
                del self.dict_cache[key]
                return None
            else:
                return self.dict_cache[key].value
        else:
            return None
Run Code Online (Sandbox Code Playgroud)

典型用法是:

data = tinycache.get("remote_api_data")
if data is not None: …
Run Code Online (Sandbox Code Playgroud)

python memcached

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

在PL/SQL存储过程中拆分逗号分隔的字符串

我有CSV字符串100.01,200.02,300.03,我需要传递给Oracle中的PL/SQL存储过程.在proc中,我需要在表格的Number列中插入这些值.

为此,我从这里得到了一个工作方法:

如何在oracle 9i中最好地分割csv字符串

[2]按级别使用SQL连接.

现在,我有另一个要求.我需要传递2个CSV字符串[长度相等]作为PL/SQL存储过程的输入.我需要打破这个字符串并将两个CSV字符串中的每个值插入表格中的两个不同列.请你让我知道怎么去吗?

CSV输入示例:mystring varchar2(2000):='0.75,0.64,0.56,0.45';

myAmount varchar2(2000):='0.25,0.5,0.65,0.8';

myString值将进入A列,myAmount值进入表中的B列.

你能告诉我如何实现这个目标吗?

谢谢.

oracle plsql tokenize

22
推荐指数
3
解决办法
10万
查看次数

Android drawCircle具有不同的颜色边框

是否可以使用一种drawCircle方法在Android的画布上绘制一个具有不同颜色边框的圆圈?

我注意到了FILL_AND_STROKE的PaintStyle,但是填充和边框似乎都没有不同的颜色.

我真的不想要调用两个drawCircle方法.

android android-canvas

11
推荐指数
2
解决办法
2万
查看次数

在java中设置TextView宽度

如何使用Java代码设置TextView属性,如width,height?

java android textview

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