擅长:python、mysql、java
<p>这是一个Python语言问题,而不是Jython或jsr223问题。Python区分表达式(有值)和语句(没有值)。您传递的脚本是一个语句。如果你传递了一个表达式,它就会有一个值。在</p>
<p>您看到Ruby和JavaScript不同的原因是,复合语句的值是最后一个语句的值。例如,比较Ruby:</p>
<pre><code>>> (2 ; 3) + 5
=> 8
>> (x = 5) + 7
=> 12
</code></pre>
<p>使用Python:</p>
^{pr2}$
<p>JavaScript似乎介于两者之间。与Ruby一样,赋值计算的是赋值。但是,块中最后计算的语句将返回,但不能用作表达式的一部分:</p>
<pre><code>> { 2 ; 3 }
3
> { 2 ; 3 } + 5
5
> (x = 5) + 7
12
</code></pre>