数の配列(リスト)の合計を計算するには (sum) 2016/12/20
各プログラミング言語での、数字の配列(リスト)の合計を計算する方法。
Scala | lst.sum |
Groovy | lst.sum() |
PHP | array_sum($arr) |
Python | sum(lst) |
Ruby | arr.inject(:+) |
Ruby 2.4- | arr.sum |
Perl | sum(@arr) |
Java 2013/11/08
簡単に計算できるメソッドはないので、for
文などでループして計算するしかない。
Scala 2016/05/25
Signature:
要素(A
)が Int
や Double
など数値の場合に限る。
Groovy 2016/05/25
Signature:
このメソッドはJavaでは定義されておらず、Groovy独自のメソッド。
例
def lst = [1, 2, 3];
print lst.sum(); // => 6
PHP 2015/01/24
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
Python 2013/09/30
例
lst = [1, 2, 3]
print sum(lst)
Ruby / JRuby 2016/12/20
arr = [1, 2, 3]
p arr.inject(:+)
# => 6
# Ruby2.4.0からは
p arr.sum
# => 6
Ruby 2.4以降は sum
というメソッドが使える。
Perl 2015/05/25
例
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
sh (シェルスクリプト) 2014/07/07
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/$.}'