Julia矩阵初始化报错:数组表达式中出现意外分号
问题解决
错误原因
- 语法错误:你的数组字面量最后一行末尾多了分号。Julia中用分号分隔矩阵行时,仅需在相邻行之间使用分号,最后一行后不需要加分号,多余的分号会触发
syntax: unexpected semicolon错误。 - 类型不匹配:直接用
[]创建的矩阵默认是Int64类型,无法直接赋值给声明为Matrix{Int8}的变量,需要显式转换类型。
修正后的代码
方式一:在数组字面量前指定类型
m::Matrix{Int8} = Int8[ 3,9,1,2,8,6,5,7,4; 4,8,7,3,5,9,1,2,6; 6,5,2,7,1,4,8,3,9; 8,7,5,4,3,1,6,9,2; 2,1,3,9,6,7,4,8,5; 9,6,4,5,2,8,7,1,3; 1,4,9,6,7,3,2,5,8; 5,3,8,6,7,3,2,5,8; 7,2,6,8,9,5,3,4,1 ]
方式二:显式转换数组类型
m = Matrix{Int8}([ 3,9,1,2,8,6,5,7,4; 4,8,7,3,5,9,1,2,6; 6,5,2,7,1,4,8,3,9; 8,7,5,4,3,1,6,9,2; 2,1,3,9,6,7,4,8,5; 9,6,4,5,2,8,7,1,3; 1,4,9,6,7,3,2,5,8; 5,3,8,6,7,3,2,5,8; 7,2,6,8,9,5,3,4,1 ])
内容的提问来源于stack exchange,提问作者user2138149
相关产品推荐
相关产品推荐

