小编Ank*_*wal的帖子

对注释进行类型转换 - 如何/为什么这样做?

你能帮我理解 (1) 的类型转换是如何/为什么工作的吗?我找不到任何表明 Java 注释类型可以类型转换为接口类型的内容。

org.junit.Test //this is an annotation
junit.framework.Test //this is an interface
Run Code Online (Sandbox Code Playgroud)

只是我没有看到 org.junit.Test 和 junit.framework.Test 之间的关系

import org.junit.Test;
import junit.framework.AssertionFailedError;
import junit.framework.TestResult;
public class TestJunit3 extends TestResult {
   // add the error
   public synchronized void addError(Test test, Throwable t) {
      super.addError((junit.framework.Test) test, t); //how does this typecast work (1)
   }
   // add the failure
   public synchronized void addFailure(Test test, AssertionFailedError t) {
      super.addFailure((junit.framework.Test) test, t);
   }
   @Test
   public void testAdd() {
      // add any test
   } …
Run Code Online (Sandbox Code Playgroud)

java junit

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

C 不能打印/表示非规范化浮点数吗?

 $ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/c++/4.2.1
Apple clang version 12.0.5 (clang-1205.0.22.9)
Target: x86_64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
$ uname -a
Darwin MacBook-Air.local 20.3.0 Darwin Kernel Version 20.3.0: Thu Jan 21 00:07:06 PST 2021; root:xnu-7195.81.3~1/RELEASE_X86_64 x86_64
Run Code Online (Sandbox Code Playgroud)

代码:

#include <stdio.h>

int main(void) {


    int i = 2;
    printf("int \"2\" as %%.128f:                  %.128f\n", i);

    printf("int \"2\" as %%.128lf:                 %.128lf\n", i);

    printf("int \"2\" as %%.128LF:                 %.128Lf\n", i);

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

编译:

$ gcc floatingpointtypes.c
Run Code Online (Sandbox Code Playgroud)

执行:

$ ./a.out
int "2" as %.128f:                  0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 …
Run Code Online (Sandbox Code Playgroud)

c floating-point

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

需要解释ps的pri标准格式说明符 - 文档中可能存在的错误

关于pri的注释来自ps手册页:

"pri PRI优先处理流程.数字越大意味着优先级越低"

在这里考虑PID 26073

$ renice +15 26073 


26073: old priority 5, new priority 15 # I am making this process more nice 

$ ps -t 1 -o pid,ppid,%cpu,stat,cmd,bsdstart,time,pri

  PID  PPID %CPU  STAT CMD      START     TIME PRI
 9115 18136  0.0   Ss   bash     17:10 00:00:01  19
26073  9115 12.0   RN+  p4 sync  19:06 00:02:56   4
Run Code Online (Sandbox Code Playgroud)

STAT = RN +表示:正在运行,低prio(对其他人好),前景.PRI = 4(1)

$ sudo renice -10 26073 

26073: old priority 15, new priority -10 # I am making this process less …
Run Code Online (Sandbox Code Playgroud)

linux bash shell ps

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

解释echo $ _的o/p

当我做

$ du
$ echo $_
Run Code Online (Sandbox Code Playgroud)

我得到了o/p作为du.这是为什么 ?

关于 - man bash说:"在shell启动时,设置为用于调用在环境或参数列表中传递的正在执行的shell或shell脚本的绝对路径名.随后,在扩展后扩展到上一个命令的最后一个参数. 还设置为用于调用已执行并放置在导出到该命令的环境中的每个命令的完整路径名.检查邮件时,此参数保存当前正在检查的邮件文件的名称.

所以$ _应该是空的,上面的例子中没有du的参数.

bash shell

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

Perl正则表达式问题

如何在Perl中的$ 1,$ 2和$ 3变量中匹配并存储此字符串中的各行?

$string = "This is a line 1.\nThis is line 2.\nThis is line 3.\n";
Run Code Online (Sandbox Code Playgroud)

我知道我必须使用/ m修饰符,但到目前为止我的尝试都没有成功.

我试过了

$string =~ m/^(.*?)$.^(.*?)$.^(.*?)$/sm;
Run Code Online (Sandbox Code Playgroud)

和其他组合无济于事.我想保持简单,所以任何指出错误的答案都会有所帮助.我想只尝试使用/ s和/ m修饰符.

regex perl

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

获取grep输出的空文件

我在脚本中运行此命令

while [ 1 ]
do

    if [ -e $LOG ]
    then

            grep -A 5 -B 5 -f $PATTERNS $LOG  >> $FOREMAIL
            break
    fi

done
Run Code Online (Sandbox Code Playgroud)

$ LOG文件是从另一台机器scp的.因此,只要它出现在当前目录中,while循环就会检测到它并执行grep.问题是,$ FOREMAIL文件变为空.但是如果我在脚本之外运行这个grep作为具有相同文件和参数的独立命令,我可以看到它生成一个输出.

我很困惑为什么这个命令在脚本中没有产生o ​​/ p?

linux bash grep scp

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

获取"main"java.lang.UnsupportedOperationException

在执行这段代码时,我在第81行得到了一个java.lang.UnsupportedOperationException.我知道发布整个代码是违反赌注的做法,但我认为除非我发布整个代码,否则很难传达我正在做的事情.

基本上我想从List中删除所有出现的元素,所以我正在做List.removeAll(Collection).我无法理解我在81号线上做错了什么.感谢您的帮助!

import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
import java.util.Map.Entry;;


public class MinCutClass {

    /**
     * @param args
     */
    private HashMap verticeMap ;
    private List edgeList ;


    public MinCutClass()
    {
          verticeMap = new HashMap();
          edgeList = new ArrayList();
    }

    public static void main(String[] args) 

    {
        // TODO Auto-generated method stub
        MinCutClass minCutObj = new MinCutClass();

        minCutObj.populateVertices();
        minCutObj.printVerticeMap();
        minCutObj.printVerticeMap1();

        minCutObj.populateEdges();

        //minCutObj.printEdgeList();

        minCutObj.findMinCut();

//      minCutObj.printEdgeList();
    //  minCutObj.printVerticeMap();


    }

    private void printEdgeList()
    {
        Iterator i = edgeList.iterator();

        while(i.hasNext())
        { …
Run Code Online (Sandbox Code Playgroud)

java

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

Guido在Python中实现Super有什么问题?

合作方式和超级

这是superGuido 内置的纯python实现,用于说明目的.我需要对Super下面的课程实施做一些澄清

在下面的代码中调用someobj.__mro__将不起作用.看到我对这条线的评论.内置super只是一个错误被抛出.

TypeError: super(type, obj): obj must be an instance or subtype of type

题:

我的问题是,首先要有这条线的意图是什么?

因此,如果传入的对象不是传入类的实例,那么开始使用对象的mro ...为什么?

class Super(object):
        def __init__(self, type, obj=None):
            self.__type__ = type
            self.__obj__ = obj
        def __get__(self, obj, type=None):
            if self.__obj__ is None and obj is not None:
                return Super(self.__type__, obj)
            else:
                return self
        def __getattr__(self, attr):
            if isinstance(self.__obj__, self.__type__):
                starttype = self.__obj__.__class__
            else:
                starttype = self.__obj__   ## This line does not work
            mro = …
Run Code Online (Sandbox Code Playgroud)

python oop super

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

是否可以在传递给子进程的shell字符串中进行变量替换?

假设我有这个:

>>> grepstring="mystring"
>>> p = subprocess.Popen("ls -l | grep grepstring", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

我怎么能代替grepstring,以mystringsubprocess.Popen电话吗?

python

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

如何为python代码指定依赖项

我在团队中工作并编写了一些python代码,这些代码使用需要单独安装的库(因为它们不是标准python发行版的一部分).我该如何指定?什么是正确/正确/ pythonic方式这样做?

python

0
推荐指数
2
解决办法
101
查看次数

转换unicode字符串以查看unicode代码点

我有这个:

>>> su = u'"/\"'
Run Code Online (Sandbox Code Playgroud)

在python中,如何将其转换为显示unicode代码点的表示形式?上面的字符串就是这样

u'\u0022\u002F\u005C\u0022'
Run Code Online (Sandbox Code Playgroud)

python unicode python-2.7

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

多线程文件读取python

import threading


def read_file():
  f = open('text.txt')
  for line in f:
      print line.strip() ,' : ',  threading.current_thread().getName()

if __name__ == '__main__':
  threads = []
  for i in range(15):
    t = threading.Thread(target=read_file)
    threads.append(t)
    t.start()
Run Code Online (Sandbox Code Playgroud)

问题:每个线程是否只从上面的文件中读取每一行,或者某个给定的线程有可能最终读取一行两次?

我的理解是,稍后启动的线程将覆盖先前启动的线程的文件句柄,导致较早的线程最终读取几行两次或三次或更多次.

当我运行此代码时,结果与我预期的结果不同.

欢迎任何解释.

python multithreading python-multithreading

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

为什么这会产生编译时错误而不是运行时错误?

考虑这个简单的类:

public class MyClass3
{
  private int a;

  public MyClass3(int first)
  {
    this.a = first;
  }
}

public class MyClassTester
{
  public static void main(String[] args)
  {
    MyClass3 c1 = new MyClass3(30);
    System.out.println(c1.a);
  }
}
Run Code Online (Sandbox Code Playgroud)

java

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