使用Julia 1.7.3版本,我的理解是,下面将matrix
初始化为一个9 × 9的矩阵,其每个元素都是未定义的…
matrix = Array{Char}( undef, 9, 9 )
println( matrix )
display( matrix )
println( )
println( typeof(matrix) )
println( size(matrix) )
另外,我理解表达式[ c for c = '1' : '9' ]
计算为9个字符的列向量(类型Vector{Char}
)。
如何将上述组合以创建一个9 × 9矩阵,其中每个矩阵的81个元素是列向量[ '1'; '2'; '3'; '4'; '5'; '6'; '7'; '8'; '9' ]
?(我的期望是在我计划编写的程序中修改每个列向量元素。)到目前为止,我最好的猜测是……
matrix = Array{Vector{Char}}( [ c for c = '1' : '9' ], 9, 9 )
尝试这样做会导致…
ERROR: LoadError: MethodError: no method matching (Array{Vector{Char}})(::Vector{Char}, ::Int64, ::Int64)
julia> [[ c for c = '1':'9' ] for _ in 1:9, _ in 1:9]
9×9 Matrix{Vector{Char}}:
['1', '2', '3', '4', '5', '6', '7', '8', '9'] … ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] … ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
注意Array
s可以是多维的(超过2),所以三维数组也是一个选项。只需要一个小的改变:[ c for c = '1' : '9', _ in 1:9, _ in 1:9]
这是你想要的吗?
julia> repeat('1':'9', inner=(1, 9))
9×9 Matrix{Char}:
'1' '1' '1' '1' '1' '1' '1' '1' '1'
'2' '2' '2' '2' '2' '2' '2' '2' '2'
'3' '3' '3' '3' '3' '3' '3' '3' '3'
'4' '4' '4' '4' '4' '4' '4' '4' '4'
'5' '5' '5' '5' '5' '5' '5' '5' '5'
'6' '6' '6' '6' '6' '6' '6' '6' '6'
'7' '7' '7' '7' '7' '7' '7' '7' '7'
'8' '8' '8' '8' '8' '8' '8' '8' '8'
'9' '9' '9' '9' '9' '9' '9' '9' '9'
或
julia> [c for c in '1':'9', _ in 1:9]
9×9 Matrix{Char}:
'1' '1' '1' '1' '1' '1' '1' '1' '1'
'2' '2' '2' '2' '2' '2' '2' '2' '2'
'3' '3' '3' '3' '3' '3' '3' '3' '3'
'4' '4' '4' '4' '4' '4' '4' '4' '4'
'5' '5' '5' '5' '5' '5' '5' '5' '5'
'6' '6' '6' '6' '6' '6' '6' '6' '6'
'7' '7' '7' '7' '7' '7' '7' '7' '7'
'8' '8' '8' '8' '8' '8' '8' '8' '8'
'9' '9' '9' '9' '9' '9' '9' '9' '9'