小编Mat*_*iak的帖子

用Java编程2D网格

在Java中编写二维网格块时使用的最佳数据结构是什么?网格上的平铺应该可以通过它们的位置轻松引用,以便可以有效地计算邻居和路径.它应该是2D阵列吗?一个ArrayList?别的什么?

java data-structures

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

为什么ocamldoc在未绑定的模块上失败?

这是一个示例界面test.mli,注释了ocamldoc样式的注释:

(** ocamldoc module comment *)
open MissingModule;;
(** ocamldoc function comment *)
val test : unit;;
Run Code Online (Sandbox Code Playgroud)

如果我运行该命令ocamldoc test.mli,我会收到以下错误:

File "test.mli", line 2, characters 0-9:
Error: Unbound module MissingModule
1 error(s) encountered
Run Code Online (Sandbox Code Playgroud)

文档生成器为什么要关心未绑定的模块?

ocaml documentation-generation ocamldoc

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

为什么在Go中复数是原始数字类型?

Go为复数定义了两种数字类型,complex64complex128。这是罕见的。大多数编程语言将复数定义为实部和复杂部分的组合,而不是为此目的包括特定的原语。(即使在群论中,复数也被正式构造为成对的实数。)为什么Go的设计者决定Go需要复数的原始类型?

go

5
推荐指数
2
解决办法
1689
查看次数

将Java组件呈现到图像文件

可能重复:
Java Swing:获取ImageJFrame

如何保存Java GUI组件显示到图像文件的内容?

例如,将JPanel渲染为PNG.

java user-interface swing image awt

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

哪个Haskell编译器有信息(初学者友好)错误消息?

我开始学习Haskell,我听说很多Haskell编译器都有特别神秘的错误信息.

哪个编译器对初学者学习语言最好?

haskell compiler-errors

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

用于eql的Common Lisp Wildcard

Common Lisp中是否有一个通配符,它​​是任何原子的eql?

也就是说,是否有任何通配符

(eql wildcard any-atom)
Run Code Online (Sandbox Code Playgroud)

返回true?

lisp wildcard common-lisp

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

单个Java变量可以接受基元或对象的数组吗?

例如,对于读取数组元素的单个方法,程序员如何允许将对象数组或基元数组作为参数传递?Object[] arrayName只接受一个Object数组,而泛型变量不接受原语.有没有办法接受任何类型的数组而不重载方法?

java arrays

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

编辑当前的emacs主模式

是否有emacs命令打开描述当前主要模式的文件?在运行中编辑语法高亮和缩进会很有用.

emacs

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

用CSS中的图像模糊div

有没有办法伪造前景图像与CSS中的背景图像相似?它不会存在于div中的其他元素后面,而是会掩盖元素中的所有内容.

css background-image

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

在休眠时节省时间,但不要在忙碌等待时间

在Go中,我可以time.After用来超时睡眠功能,但我不能对忙碌等待(或工作)的功能做同样的事情.以下代码timed out在一秒钟后返回,然后挂起.

package main

import (
        "fmt"
        "time"
)

func main() {
        sleepChan := make(chan int)
        go sleep(sleepChan)
        select {
        case sleepResult := <-sleepChan:
                fmt.Println(sleepResult)
        case <-time.After(time.Second):
                fmt.Println("timed out")
        }

        busyChan := make(chan int)
        go busyWait(busyChan)
        select {
        case busyResult := <-busyChan:
                fmt.Println(busyResult)
        case <-time.After(time.Second):
                fmt.Println("timed out")
        }
}

func sleep(c chan<- int) {
        time.Sleep(10 * time.Second)
        c <- 0
}

func busyWait(c chan<- int) {
        for {
        }
        c <- 0
}
Run Code Online (Sandbox Code Playgroud)

为什么在第二种情况下超时没有触发,我需要用什么替代方法来中断工作goroutines?

concurrency timeout go thread-sleep busy-waiting

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

如果传递谓词则返回值,否则为默认值

如果谓词失败,如何替换值?

为了显示:

assert_eq!((3-5).but_if(|v| v < 0).then(0), 0)
Run Code Online (Sandbox Code Playgroud)

我以为会有一些东西OptionResult允许这个,但我找不到它.

predicate optional rust

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