各プログラミング言語での、数字の配列(リスト)の合計を計算する方法。
Scala | lst.sum |
Groovy | lst.sum() |
PHP | array_sum($arr) |
Python | sum(lst) |
Ruby | arr.inject(:+) |
Ruby 2.4- | arr.sum |
Perl | sum(@arr) |
簡単に計算できるメソッドはないので、for
文などでループして計算するしかない。
Signature:
要素(A
)がInt
やDouble
など数値の場合に限る。
Signature:
このメソッドはJavaでは定義されておらず、Groovy独自のメソッド。
例
def lst = [1, 2, 3];print lst.sum(); // => 6
array_sum
関数を使うと簡単にできる。
$arr = array(1, 2, 3);echo array_sum($arr);// => 6
array_sum
関数 | PHP Manual
http://php.net/manual/ja/function.array-sum.php
例
lst = [1, 2, 3]print sum(lst)
arr = [1, 2, 3]p arr.inject(:+)# => 6# Ruby2.4.0からはp arr.sum# => 6
Ruby 2.4以降はsum
というメソッドが使える。
例
my @arr = (1, 2, 3);my $sum = 0;$sum += $_ for @arr;print $sum; # => 6
またはList::Util
というモジュールを使う例
use List::Util qw/sum/;my @arr = (1, 2, 3);my $sum = sum(@arr);print $sum; # => 6
1行に1つの数字が書かれたファイルからその合計を計算する例
# awkでのワンライナーcat hoge.txt | awk '{sum+=$1}END{print sum}'# perlでのワンライナーcat hoge.txt | perl -nle '$s+=$_;END{print $s}'
平均の例
# awkでのワンライナーcat hoge.txt | awk '{sum+=$1}END{print sum/NR}'# perlでのワンライナーcat hoge.txt | perl -nle '$s+=$_;END{print $s/$.}'
-
+
, concatx
/*