我试图将这个PHP函数转换为Objective-C。我几乎不能阅读PHP来弄清楚代码的作用。遇到这条线并停了下来:
$nr = (strlen($nr)-3>0)?substr($nr, 0, strlen($nr)-3):"";
?
和:
在这做什么?我阅读了文档以了解strlen
和substr
做了什么,但是我们无法弄清楚这是如何结合在一起的,以及$nr
的新值是什么。
答案 0 :(得分:2)
?:
是ternary operator。表达式x ? y : z
表示if x then y else z
。在这种情况下,它会转换为类似
if strlen($nr) - 3 > 0:
$nr = substr($nr, 0, strlen($nr) - 3)
else:
$nr = ''
答案 1 :(得分:2)
这不是Python,但是如果要将其分解为伪造的Python语法,那么它将是
if strlen($nr) - 3 > 0:
$nr = substr($nr, 0, strlen($nr)-3)
else:
$nr = ""
在各种语言中,?
运算符是三元运算符。 Python中不存在此语法。上面是你如何编写这样一个语句,尽管你必须纠正每个if块中的语法,以及if条件。
答案 2 :(得分:1)
它会转换为
if (strlen($nr)-3>0) then value of $nr is substr($nr, 0, strlen($nr)-3)
else it is ""
我不认为代码在python中看起来像php或perl。