在Python中,$ ./callself.sh xx
called by bash
called by python, args: ['xx']
$ ./callself.sh
called by bash
called by python, args: []
可能会在以下情况下用于可选的字符串格式化。
if
Julia使用美元符号进行字符串格式化。
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"
是否可以使用Julia简单地镜像Python代码的功能?
答案 0 :(得分: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()
。
答案 1 :(得分:2)
除了@DanGetz所说的所有内容之外,您可能还想查看Formatting package - 它明确旨在为Julia提供更多类似Python的格式化设施。