小编bai*_*ain的帖子

如何在Ruby的IRB中启用自动完成

当我使用Merb的内置控制台时,我得到类似于标准bash提示的选项卡自动完成.我觉得这很有用,并希望在非merb IRB会话中启用它.如何在IRB中自动完成?

ruby irb tab-completion

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

返回频道Golang

我正在尝试使用Go频道并与go blog下面的功能示例混淆:

func gen(nums []int) <-chan int {
    out := make(chan int)
    go func() {
        for _, n := range nums {
            out <- n
        }
        close(out)
    }()
    fmt.Println("return statement is called ")
    return out
}
Run Code Online (Sandbox Code Playgroud)

主要:

func main() {
    c := make(chan int)
    c = gen([]int{2, 3, 4, 5})

    // Consume the output.
    // Print 2,3,4,5
    fmt.Println(<-c)
    fmt.Println(<-c)
    fmt.Println(<-c)
    fmt.Println(<-c)
}
Run Code Online (Sandbox Code Playgroud)

完整代码:http://play.golang.org/p/Qh30wzo4m0

我怀疑:

  1. 我的理解是,一旦return被调用,函数将被终止,并且该函数内的通道不再有生命.

  2. return声明只被调用一次.但是out频道的内容被多次阅读.在这种情况下,实际的执行流程是什么?

(我是并发编程的新手.)

go

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

标签 统计

go ×1

irb ×1

ruby ×1

tab-completion ×1