Clojure/შედარება
C-ს მსგავს ენებში, ფუნქციის გამოძახება, როგორც წესი, ასე გამოიყურება:
do_something_with(value1, value2)
Clojure-ში იგივე ფუნქციის გამოძახება ასე გამოიყურება:
(do-something-with value1 value2)
აი რაშია Clojure განსხვავებული:
- ფრჩხილი იხსნება ფუნქციის სახელის მარცხნივ.
- არა გვაქვს პარამეტრებს შორის არანაირი გამყოფი (მაგალითად, მძიმე).
- მიღებულია, რომ სიტყვები ფუნქციის სახელში გაიყოს მოკლე ტირეებით.
არც ისე ბევრი განსხვავებაა.
აი როგორ გამოიყურება ორი რიცხვის შეკრება C-ს მსგავს ენაში:
value1 + value2
აქ კი მოყვანილია, თუ როგორ გამოიყურება ეს Clojure-ში:
(+ value1 value2)
ამ შემთხვევაში კიდევ ერთი განსხვავებაა, პლიუსის ნიშანი მოდის პარამეტრების წინ. C-ს მსგავს ენაში პლიუსის ნიშანო ოპერატორია. Clojure-ში კი ის მხოლოდ ფუნქციაა, სახელად ‘+’. Clojure არ ჰყოფს "ოპერატორის" და "ფუნქციის" ცნებებს, როგორც ამას აკეთებენ C-ს მსგავსი ენები. ყველაფერი, რაც არის ოპერატორი C-ს მსგავს ენაში, Clojure-ში უნდა წარმოდგენილი იყოს ფუნქციის სახით. თუ თქვენი საყვარელ C-ს მსგავს ენას გამოვაცლით ყველა ოპერატორს, მაშინ ორი მნიშვნელობის დამატება ასე შეიძლება რომ გამოიყურებოდეს:
add(value1, value2)
რადგანაც ახლა თქვენი C-ს მსგავსი ენა არ შეიცავს ოპერატორებს, ის სიმბოლოები, რომლებიც ადრე ოპერატორისთვის გჭირდებოდათ, შეიძლება გამოიყენოთ ფუნქციის სახელად. მაგალითად, ასე:
+(value1, value2)
ახლა ეს დიდად არ განსხვავდება Clojure-ს შესაბამისი გამოსახულებისგან:
(+ value1 value2)