Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
致命错误:使用Ubuntu14.04的swift 2中的数组索引超出范围_Swift_Ubuntu 14.04 - Fatal编程技术网

致命错误:使用Ubuntu14.04的swift 2中的数组索引超出范围

致命错误:使用Ubuntu14.04的swift 2中的数组索引超出范围,swift,ubuntu-14.04,Swift,Ubuntu 14.04,我对swift有一个问题,我不知道如何解决,因为我只有2个月的时间学习swift,而且我正在逐渐学习,所以下面是代码: import Foundation var dir = "/home/guillermo/Escritorio/"; var file = "tokens"; var path = dir.stringByAppendingPathComponent(file); guard var archivoTokens = try? String(contentsOfFile: p

我对swift有一个问题,我不知道如何解决,因为我只有2个月的时间学习swift,而且我正在逐渐学习,所以下面是代码:

import Foundation

var dir = "/home/guillermo/Escritorio/";
var file = "tokens";
var path = dir.stringByAppendingPathComponent(file);

guard var archivoTokens = try? String(contentsOfFile: path, encoding: NSUTF8StringEncoding) else {
    fatalError("failed to read archivoTokens from file")
}

var lineasArchivoTokens:[String] = archivoTokens.componentsSeparatedByString("\n");

var TOKENS:[String] = [String]();
var PATRONES:[String] = [String]();
var NOMBRES:[String] = [String]();

var count = lineasArchivoTokens.count;
for index in 0..<count{
    var tmpList:[String] = (lineasArchivoTokens[index]).componentsSeparatedByString(" ");
    PATRONES.append(tmpList[1]);
    NOMBRES.append(tmpList[0]);
}
<代码>导入基础 var dir=“/home/guillermo/Escritorio/”; var file=“令牌”; var path=dir.stringByAppendingPathComponent(文件); guard var archivoTokens=尝试?字符串(内容文件:路径,编码:NSUTF8StringEncoding)else{ fatalError(“未能从文件中读取archivoTokens”) } var linearchivotokens:[String]=archivoTokens.componentsSeparatedByString(“\n”); 变量标记:[String]=[String](); 客户变量:[String]=[String](); 变量名称:[String]=[String](); var count=linearachivotokes.count; 对于0中的索引。。()+0x34)[0x7fefd1681294] /usr/lib/swift/linux/libswiftCore.so(+0x16f0b5)[0x7fefd15630b5] .build/debug/lexico7()[0x40165b] /lib/x86_64-linux-gnu/libc.so.6(libc_start_main+0xf5)[0x7fefcf971ec5] .build/debug/lexico7()[0x401049] 法律指令(“核心”一般)
您的代码假设
var tmpList=…
至少有两个元素。也许您的输入数据不是这样?必须试着调试这个问题吗?是的,在这个例子中我使用的是ubuntu,我只能在终端中工作,所以使用.build/debug/并显示上面的错误你可以随时添加print()语句来显示中间结果…我只是看到令牌文件中有一个超负荷的印象(即无限打印),因此出现了错误
fatal error: Index out of range
Current stack trace:
/usr/lib/swift/linux/libswiftCore.so(swift_reportError+0x8b) [0x7fefd171dccb]
/usr/lib/swift/linux/libswiftCore.so(_swift_stdlib_reportFatalError+0x3d) [0x7fefd172e0cd]
/usr/lib/swift/linux/libswiftCore.so(+0x28d192) [0x7fefd1681192]
/usr/lib/swift/linux/libswiftCore.so(function signature specialization <Arg[0] = Exploded, Arg[1] = Exploded, Arg[2] = Dead, Arg[3] = Dead> of Swift._fatalErrorMessage (Swift.StaticString, Swift.StaticString, Swift.StaticString, Swift.UInt, flags : Swift.UInt32) -> ()+0x34) [0x7fefd1681294]
/usr/lib/swift/linux/libswiftCore.so(+0x16f0b5) [0x7fefd15630b5]
.build/debug/lexico7() [0x40165b]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fefcf971ec5]
.build/debug/lexico7() [0x401049]
Instrucción ilegal (`core' generado)