朱莉娅字符串格式"如果"

2Cu*_*bed 2 python string format if-statement julia

在Python中,if可能会在以下情况下使用可选的字符串格式.

bar = 3
"{n} bar{s}".format(n=bar, s='s' if bar != 1 else '')
# "3 bars"

bar = 1
"{n} bar{s}".format(n=bar, s='s' if bar != 1 else '')
# "1 bar"
Run Code Online (Sandbox Code Playgroud)

Julia使用美元符号进行字符串格式化.

foo = 3
"foo $foo"  # "foo 3"
Run Code Online (Sandbox Code Playgroud)

是否可以使用Julia简单地镜像Python代码的功能?

Dan*_*etz 5

是.该$插值方法适用于在括号中的表达式.在这种情况下,$bar bar$(bar != 1 ? 's' : "")相当于Python的结果.

正如@Oxinabox所提到的,Python的内联if对应于Julia的三元运算符.在Julia中,三元运算符a ? b : c是一个方便的捷径if a b ; else c ; end.注意这意味着1==2 ? foo() : bar()不评估foo().