尝试转换时出错
y
(
Int64
)到
薄纱
类型
您可以将其更改为
(y,)
:
a[x][(y,)] = rationalize(convert(Float64,eval(parse(readline(STDIN)))))
更改此行后,执行将给出以下输出:
Insert numbers for 1:
(2,): 2.3
(3,): 4//5
Insert numbers for 2:
(1,): 9/7
(3,): 3.141592653
Insert numbers for 3:
(1,): 3.33333
(2,): 2
并添加
dump(a)
在代码末尾,输出:
Dict{Any,Any} len 3
2: Dict{Tuple{Int64},Rational{Int64}} len 3
(3,): Rational{Int64}
num: Int64 199345706
den: Int64 63453709
(2,): Rational{Int64}
num: Int64 1
den: Int64 1
(1,): Rational{Int64}
num: Int64 9
den: Int64 7
3: Dict{Tuple{Int64},Rational{Int64}} len 3
(3,): Rational{Int64}
num: Int64 1
den: Int64 1
(2,): Rational{Int64}
num: Int64 2
den: Int64 1
(1,): Rational{Int64}
num: Int64 333333
den: Int64 100000
1: Dict{Tuple{Int64},Rational{Int64}} len 3
(3,): Rational{Int64}
num: Int64 4
den: Int64 5
(2,): Rational{Int64}
num: Int64 23
den: Int64 10
(1,): Rational{Int64}
num: Int64 1
den: Int64 1
还有一件事是第一件事
println
。也许应该是:
println("Insert numbers for $(x): ")
用Julia版本0.4.3测试