Set
在Julia中使用复合类型时,该push!
函数似乎将重复项添加到集合中.阅读Julia标准文档,我假设该isequal
函数将用于测试重复项.我想我误解了,所以也许有人可以帮助我.
作为示例,请参阅下面的代码.特别是,我想知道为什么t2
添加到集合中,尽管与之相同t1
.
很感谢任何形式的帮助.注:在我的情况类型的两个变量t
被认为是如果字段相同x1
和x2
相等; 其余字段的值无关紧要.
type t
x1::Float64
x2::Float64
b1::Bool
b2::Bool
end
isequal( tx::t, ty::t) = (tx.x1 == ty.x1) && (tx.x2 == ty.x2)
==(tx::t, ty::t) = (tx.x1 == ty.x1) && (tx.x2 == ty.x2)
t1 = t( 1, 2, true, true)
t2 = t( 1, 2, true, true)
tc = t1
tdc = deepcopy( t1)
[ t1 == t2 isequal( t1, t2)] # ---> [ true true …
Run Code Online (Sandbox Code Playgroud) 我需要将行附加到.csv文件.每行包含一个整数向量.要添加的向量是动态生成的,我无法预先知道将添加多少行.
我尝试执行以下操作,但它似乎不创建.csv文件,也不包含单独行上的每个元素.
s = open( "testfile.txt", "a")
for i in 1:5
x = rand(Int8, 10)
writecsv( s, x)
end
close(s)
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏!
我正在考虑购买GPU卡来试验朱莉娅的GPU计算.我现在看到它基本上有两种选择:NVIDIA或AMD芯片组.
我的问题是:是否有与Julia一起使用的推荐选项?由于我是GPU计算的新手,我更关注的是易用性而不是性能,所以我可以想象当前用作GPU接口的Julia软件包基本上决定了答案.
我使用基于Windows 7的系统.任何帮助表示赞赏.