小编Ger*_*ens的帖子

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

textNode addEventListener

为什么我不能将事件监听器添加到文本节点本身而不是p元素?

<p>childNode</p>
...
p.childNodes[0].addEventListener('click',function(){alert('ok')},false)
Run Code Online (Sandbox Code Playgroud)

当我点击childNode时,chrome中没有任何反应

javascript google-chrome

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

使用Array.prototype.sort.call对HTMLCollection进行排序

var down=function(a,b){alert(a)}
Array.prototype.sort.call(table.tBodies[0].childNodes,down)
Array.prototype.sort.call([0,1,2,3],down)
Run Code Online (Sandbox Code Playgroud)

为什么我没有收到第一次打电话的提醒?

javascript google-chrome

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

将int转换为Go中的单个字节

https://github.com/tarm/serial/blob/master/serial.go#L103

type StopBits byte
type Parity byte

type Config struct {
    Name        string
    Baud        int
    ReadTimeout time.Duration
    Size byte
    Parity Parity
    StopBits StopBits
}
Run Code Online (Sandbox Code Playgroud)

我试图标记命令行并填写配置结构但我无法弄清楚如何从int或字符串转到单个字节?

示例大小7

试着

mysize := "7"
mysize[0]
Run Code Online (Sandbox Code Playgroud)

但是后来tarm/serial告诉我serial.Config中输入错误无效

i, err := strconv.Atoi("7")
Run Code Online (Sandbox Code Playgroud)

编译器抱怨我做不到 i.(byte)

我能使其工作的唯一方法是size: 7在config结构中进行硬编码.

go

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

如何处理 bytes.Buffer 流中的 io.EOF?

https://play.golang.org/p/JKXKa7Pvjd

我想弄清楚如何使用 bytes.Buffer 测试我的后台函数,其中流中可以有随机 io.EOF?

例子:

package main

import (
    "fmt"
    "io"
    "bytes"
    "time"
)

func main() {
    buffer := new(bytes.Buffer)
    go background(buffer)
    i := 0
    for i < 5 {
        i++
        fmt.Fprintf(buffer, "%d)teststring\n", i)
        time.Sleep(1 * time.Second) // generates a io.EOF

    }
    time.Sleep(1 * time.Second)
}

func background(r io.Reader) {
    buf := make([]byte, 64)
    for {   
        n, err := r.Read(buf)
        if err != nil {
            fmt.Print(err.Error())
            return // removing `return` will result in race condition
        }
        fmt.Print(string(buf[:n]))
    }
} …
Run Code Online (Sandbox Code Playgroud)

go

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

去测试coverprofile找不到包

当我尝试以下

go test -coverprofile=coverage.out
Run Code Online (Sandbox Code Playgroud)

我得到这个coverage.out:

mode: set
_/Users/gert/Desktop/httx/auth.go:10.66,11.54 1 0
_/Users/gert/Desktop/httx/auth.go:11.54,13.89 2 0
_/Users/gert/Desktop/httx/auth.go:17.3,17.11 1 0
_/Users/gert/Desktop/httx/auth.go:13.89,16.4 2 0
_/Users/gert/Desktop/httx/auth.go:22.42,25.2 2 0
...
Run Code Online (Sandbox Code Playgroud)

但是当我这么做的时候

go tool cover -func=coverage.out
Run Code Online (Sandbox Code Playgroud)

coverage.out似乎没有正确格式化?

cover: can't find "auth.go": cannot find package "_/Users/gert/Desktop/httx/" in any of:                                     
        /usr/local/Cellar/go/1.7.1/libexec/src/_/Users/gert/Desktop/httx (from $GOROOT)                                      
        /Users/gert/go/src/_/Users/gert/Desktop/httx (from $GOPATH)
Run Code Online (Sandbox Code Playgroud)

编辑:注意go test -cover工作.

PASS                                                                                                                         
coverage: 29.7% of statements                                                                                                
ok      _/Users/gert/Desktop/httx       0.015s
Run Code Online (Sandbox Code Playgroud)

go

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

如何在多进程和多线程环境中生成随机唯一标识符?

我提出的每个解决方案都不是线程保存.

def uuid(cls,db):
    u = hexlify(os.urandom(8)).decode('ascii')
    db.execute('SELECT sid FROM sessions WHERE sid=?',(u,))
    if db.fetch(): u=cls.uuid(db)
    else: db.execute('INSERT INTO sessions (sid) VALUES (?)',(u,))
    return u
Run Code Online (Sandbox Code Playgroud)

python sql mod-wsgi

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

haskell [char]到bytestring

main :: IO ()
main = do 
    let a = ("teeeeeeeeeeeeest","teeeeeeeeeeeest")
    b <- app a
    print b
Run Code Online (Sandbox Code Playgroud)

app期望(bytestring,bytestring)不是([char],[char])我该如何转换它?

haskell

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

选择默认频道竞争条件

https://play.golang.org/p/FMKxtVlTL5

为什么default:select语句中的无限循环程序?

package main

import (
    "fmt"
    "strconv"
    "time"
)

var quit chan bool
var counter chan int

func main() {
    counter = make(chan int)
    quit = make(chan bool)
    go func() {
        i := 0
        for {
            i++
            select {
            case <-quit:
                fmt.Println("Bye!")
                return
            case counter <- i:
                fmt.Println("Send! " + strconv.Itoa(i))
            default:
                fmt.Println("Default! " + strconv.Itoa(i))
            }
        }
    }()
    fmt.Println("Receive! " + strconv.Itoa(<-counter))
    fmt.Println("Receive! " + strconv.Itoa(<-counter))
    fmt.Println("Receive! " + strconv.Itoa(<-counter))
    fmt.Println("Receive! " + strconv.Itoa(<-counter))
    fmt.Println("Receive! " …
Run Code Online (Sandbox Code Playgroud)

go

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

Safari 10.1 ES6模块示例

我在其中制作了一个index.html页面

<script type="module" src="scripts/index.js"></script>

index.js包含

import 'menu';

版本26(Safari 10.2,WebKit 12604.1.12)抱怨

TypeError: Module specifier does not start with "/","./","../"

我究竟做错了什么?

请注意,当我将index.ts编译为index.js时,打字稿不会抱怨

对我来说最糟糕的情况是TypeScript和Safari 10.1想要不同的导入语法,这对我来说将是$%^ ^(&)( !!!

javascript safari typescript ecmascript-6

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