小编sel*_*den的帖子

为什么R说中断/下一个没有循环,跳到顶级

为什么R抛出错误"错误值[3L]:没有循环中断/下一步,跳到顶层"而不是进入循环的下一次迭代?我在R版本2.13.1(2011-07-08)

for (i in seq(10)) { 
   tryCatch(stop(), finally=print('whoops'), error=function(e) next) 
}
Run Code Online (Sandbox Code Playgroud)

出现这个问题是因为我想在绘图失败时创建一个不同的图像或根本没有图像.使用joran方法的代码看起来像这样:

for (i in c(1,2,Inf)) { 
   fname = paste(sep='', 'f', i, '.png')
   png(fname, width=1024, height=768) 
   rs <- tryCatch(plot(i), error=function(e) NULL)
   if (is.null(rs)){
    print("I'll create a different picture because of the error.")
   }
   else{
    print(paste('image', fname, 'created'))
    dev.off()
    next
   } 
}
Run Code Online (Sandbox Code Playgroud)

r

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

linux上的unix域套接字?

来自http://www.thomasstover.com/uds.html的以下unix域套接字客户端和服务器示例在我的slackware linux框中无法正常工作.我得到这个输出:

$ ./server1 
$

$ ./client1 
MESSAGE FROM SERVER: hello from a client
Run Code Online (Sandbox Code Playgroud)

我希望服务器从客户端和客户端打印消息hello以从服务器打印hello.

我的操作系统和编译器如下:

$ uname -a                                                                                                    
Linux temeraire 2.6.37.6-smp #2 SMP Sat Apr 9 23:39:07 CDT 2011 i686 Intel(R) Xeon(R) CPU           E3110  @ 3.00GHz Ge
nuineIntel GNU/Linux
$ gcc -v
Reading specs from /usr/lib/gcc/i486-slackware-linux/4.5.2/specs
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/i486-slackware-linux/4.5.2/lto-wrapper
Target: i486-slackware-linux
Configured with: ../gcc-4.5.2/configure --prefix=/usr --libdir=/usr/lib --mandir=/usr/man --infodir=/usr/info --enable-
shared --enable-bootstrap --enable-languages=ada,c,c++,fortran,java,objc,lto --enable-threads=posix --enable-checking=r
elease --with-system-zlib --with-python-dir=/lib/python2.6/site-packages --disable-libunwind-exceptions --enable-__cxa_
atexit --enable-libssp --enable-lto --with-gnu-ld --verbose --with-arch=i486 --target=i486-slackware-linux --build=i486
-slackware-linux …
Run Code Online (Sandbox Code Playgroud)

c sockets network-programming

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

golang udp连接拒绝其他所有写入

我在ubuntu linux 16.04上运行了这个UDP客户端程序:

package main

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

func CheckError(err error) {
    if err  != nil {
        fmt.Println("Error: " , err)
    }
}

func main() {
    ServerAddr,err := net.ResolveUDPAddr("udp","127.0.0.1:10001")
    CheckError(err)

    LocalAddr, err := net.ResolveUDPAddr("udp", "127.0.0.1:0")
    CheckError(err)

    Conn, err := net.DialUDP("udp", LocalAddr, ServerAddr)
    CheckError(err)

    defer Conn.Close()
    i := 0
    for {
        msg := strconv.Itoa(i)
        i++
        buf := []byte(msg)
        _,err := Conn.Write(buf)
        if err != nil {
            fmt.Println(msg, err)
        }
        time.Sleep(time.Second * 1)
    }
}
Run Code Online (Sandbox Code Playgroud)

它产生这个输出:

$ go …
Run Code Online (Sandbox Code Playgroud)

linux udp go

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

标签 统计

c ×1

go ×1

linux ×1

network-programming ×1

r ×1

sockets ×1

udp ×1