小编Raf*_*iva的帖子

Kotlin对象表达式:比较器示例

此代码基本上按降序对数组进行排序:

val arrayList = arrayListOf(1, 5, 2)

Collections.sort(arrayList, object : Comparator<Int> {
   override fun compare(x : Int, y: Int) = y - x
})
Run Code Online (Sandbox Code Playgroud)

世界上如何将比较方法与y - x作品重叠?科特林怎么知道是什么y - x意思把y之前x如果y < x

java anonymous-class comparator kotlin

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

popen2()在c中如何工作?

我尝试使用管道、叉子和 dup 在我的程序中执行 md5sume 命令。我发现总和代码运行成功,但我无法理解某些代码行。这是我的代码:

int infp, outfp;

char buf[128];

if (popen2("md5sum", &infp, &outfp) <= 0)

  {

    printf("Unable to exec sort\n");

    exit(1);

  }

write(infp, "hello\n", 2);

close(infp);

*buf = '\0';

read(outfp, buf, 128);

printf("buf = '%s'\n", buf);

return 0;

}
Run Code Online (Sandbox Code Playgroud)
int p_stdin[2], p_stdout[2];

pid_t pid;

if (pipe(p_stdin) != 0 || pipe(p_stdout) != 0)

  return -1;

pid = fork();

if (pid < 0)

  return pid;

if (pid == 0)

  {

    close(p_stdin[WRITE]);

    dup2(p_stdin[READ], READ);

    close(p_stdout[READ]);

    dup2(p_stdout[WRITE], WRITE);

    execl("/bin/sh", "sh", "-c", command, NULL); …
Run Code Online (Sandbox Code Playgroud)

c fork pipe dup2

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

了解kotlin执行者

我理解执行者的概念,但我在理解kotlin中的执行者时遇到了一些麻烦.也许它的语法无济于事.

我们来看下面的例子:

     private class AlwaysCallback(private val executor: (() -> Unit) -> Unit,
                                  private val cb: Progress.() -> Unit) : Callback {
         override fun execute(progress: Progress) {
             executor {
                 progress.cb()
             }
         }
     }
Run Code Online (Sandbox Code Playgroud)

如果我理解正确,遗嘱执行人( () -> Unit ) -> Unit是关闭的船只.要执行的代码块.我不确定这是否属实,或者它只是一个匿名函数的容器.

另一件事是,有人可以解释语法:( () -> Unit ) -> Unit

我已经阅读了kotlin文档,阅读kotlin源代码并试图谷歌它但我真的很难理解这一点.谢谢

java executor kotlin

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

标签 统计

java ×2

kotlin ×2

anonymous-class ×1

c ×1

comparator ×1

dup2 ×1

executor ×1

fork ×1

pipe ×1