별빛의 낙하지 :: 'Programming Language' 카테고리의 글 목록

Search

'Programming Language'에 해당되는 글 1건

  1. 2012.08.07 Clojure Programming

Clojure Programming

Programming Language/Clojure 2012. 8. 7. 02:36 Posted by byulbit

자바 버전

public static double average (double[] numbers){
    double sum = 0;
    for( int i = 0; i < numbers.length; i++){
    sum+=numbers[i];
    }
    return sum / numbers.lenth;
}

루비 버전

def average (numbers)
	numbers.inject(:+) / numbers.length
end


파이썬 버전

def average (numbers)
	return sum(numbers) / len(numbers)


클로저

(defn average
	[numbers]
	(/ (apply + numbers) (count numbers)))

여기서 apply는 컬렉션들의 아규먼트를 꺼내는 역할을 한다. (apply + numbers ) => numbers[0] + numbers[1] + numbers[2] ...) ex) (apply + [a b c]) = (+ a b c)