たつをの ChangeLog : 2022-09-11

セイウチ演算子 (Walrus operator)。
代入のときに ":=" を使うと、その変数がその後スコープ内で使える。
Python 3.8 から使えるそうな。

こんな感じ:
### Python
import random
if a := int(random.random() * 2):
    print(f'true [{a}]')
else:
    print(f'false [{a}]')

Perl だと:
### Perl
use strict;
use warnings;
if (my $a = int(rand(2))) {
    print "true [$a]\n";
} else {
    print "false [$a]\n";
}
# 右辺によっては「代入と比較を間違ってませんか」的な warning が出る
if (my $a = 1) {
    print "true [$a]\n";
} else {
    print "false [$a]\n";
}

たつをの ChangeLog
Powered by chalow