欢迎关注Julia语言微信公众账号 julia_language
原文链接:http://suo.im/4wAxk6
微信公众号:Julia语言
每周一三五更新,其他时间随机加餐;
问题或建议,请公众号留言;
代数系数
Julia 允许在变量前紧跟着数值文本,来表示乘法。这有助于写多项式表达式:
julia> x = 3
3
julia> 2x^2 - 3x + 1
10
julia> 1.5x^2 - .5x + 1
13.0
指数也可以直接表示:
julia> 2^2x
64
数值文本系数同单目运算符一样。因此 2^3x 被解析为 2^(3x) , 2x^3 被解析为 2*(x^3) 。
数值文本也可以作为括号表达式的因子:
julia> 2(x-1)^2 - 3(x-1) + 1
3
注意
用于隐式乘法的数字文字系数的优先级高于其他二元运算符,如乘法(*)和除法(/,\,和//)。 这意味着,例如,1 / 2im等于-0.5im和6 // 2(2 + 1)等于1 // 1。
括号表达式可作为变量的因子:
julia> (x-1)x
6
不要接着写两个变量括号表达式,也不要把变量放在括号表达式之前。它们不能被用来指代乘法运算:
julia> (x-1)(x+1)
ERROR: MethodError: objects of type Int64 are not callable
julia> x(x+1)
ERROR: MethodError: objects of type Int64 are not callable
这两个表达式都被解析为函数调用:任何非数值文本的表达式,如果后面跟着括号,代表调用函数来处理括号内的数值(详见函数)。因此,由于左面的值不是函数,这两个例子都出错了。
需要注意,代数因子和变量或括号表达式之间不能有空格。
语法冲突
文本因子与两个数值表达式语法冲突: 十六进制整数文本和浮点数文本的科学计数法:
- 十六进制整数文本表达式 0xff 可以被解析为数值文本 0 乘以变量 xff
- 浮点数文本表达式 1e10 可以被解析为数值文本 1 乘以变量 e10 。 E 格式也同样。
- 32位浮点数文本表达式 1.5f22可以被解析为数值文本1.5乘以变量 f22 。
这三种情况下,我们都把表达式解析为数值文本
- 以 0x 开头的表达式,都被解析为十六进制文本
- 以数字文本开头,后面跟着 e 或 E ,都被解析为浮点数文本
- 以数字文本开头,后面跟着 f ,都被解析为32位浮点数文本
![](https://img.haomeiwen.com/i2016416/efc5993d9a07e6dc.jpg)
网友评论