Julia代码中的分号;
和matlab中有什么区别?为什么如下代码,不能在循环中输出所有的c[i]
?最后一个c[4]
也没输出。加不加;
的区别在哪呢?
c = zeros(4,1)
for i in 1:4
c[i] = i
end
Julia代码中的分号;
和matlab中有什么区别?为什么如下代码,不能在循环中输出所有的c[i]
?最后一个c[4]
也没输出。加不加;
的区别在哪呢?
c = zeros(4,1)
for i in 1:4
c[i] = i
end
可以通过@show c[i]=i实现你的需求
谢谢,那分号有什么妙用吗?
我也不知道,只是发现在运行脚本时如果没有分号会输出最后一行代码的结果,我记得有分号是就不会
是这样的。那么,非最后一行的代码,加不加分号是不是就没区别了?
如果是这样的话,分号只管最后一行的代码是否显示结果,那么分号的功能好弱啊!
那么,按照Julia官方的设计理念和规范,通常写代码的时候,句末应该加分号还是应该不加?
等待大佬解答
欢迎在社区发帖交流,也请遵循社区交流规范。
交流前建议先思考:为什么提这个问题,是为了做什么,解决什么,以及避免钻牛角尖。
国外stack等论坛,通常还要求写上:自己做了哪些尝试,搜索,而不是单纯的伸手党。毕竟回答者只是语言爱好者,解答不是义务
还有,非常推荐这两篇短文:
谢谢!受教了!推荐的两篇短文也非常好,有时间好好学习
在 REPL 或者代码块最后一行,分号作用是抑制输出。
不加分号的情况:
## block
a = 1 # 非最后一行,不影响
b = a + 1
输出结果
for 循环返回值是 nothing
,后边自然不会有输出。
分号另一个作用是替代换行符,比如
a = 1; b = a + 1
struct Point2D;x;y end # 第一个分号增加可读性
这些用着用着就懂了,一开始不清楚也不影响使用,可以学习别人代码怎么用,自己琢磨。
最近看 Indigo 写的一行很有意思的代码,分号能用来打开 UnitRange
,虽然不清楚原理
多谢了!!非常清楚和详细,谢谢!