खोज…


वाक्य - विन्यास

  • . चलो आप आवृत्ति विधियों तक पहुँचते हैं
  • .- चलो आप उदाहरण क्षेत्रों का उपयोग करते हैं
  • .. मैक्रो का विस्तार कई नेस्टेड इनवॉइस के लिए किया जाता है .

टिप्पणियों

एक होस्ट की गई भाषा के रूप में, क्लीजुर जावा के साथ उत्कृष्ट अंतर-समर्थन सहायता प्रदान करता है। क्लोजर कोड को सीधे जावा से भी कहा जा सकता है।

जावा ऑब्जेक्ट पर एक इंस्टेंस विधि को कॉल करना

आप एक इंस्टेंस विधि का उपयोग करके कॉल कर सकते हैं . विशेष रूप:

(.trim " hello ")
;;=> "hello"

आप इस तरह के तर्कों के साथ उदाहरण के तरीके कह सकते हैं:

(.substring "hello" 0 2)
;;=> "he"

एक जावा ऑब्जेक्ट पर एक इंस्टेंस फ़ील्ड को संदर्भित करना

आप .- सिंटैक्स का उपयोग करके एक इंस्टेंस फ़ील्ड को कॉल कर सकते हैं:

(def p (java.awt.Point. 0 1))
(.-x p)
;;=> 0
(.-y p)
;;=> 1

एक नया जावा ऑब्जेक्ट बनाना

आप दो तरीकों में से एक में वस्तुओं का उदाहरण बना सकते हैं:

(java.awt.Point. 0 1)
;;=> => #object[java.awt.Point 0x3776d535 "java.awt.Point[x=0,y=1]"]

या

(new java.awt.Point 0 1)
;;=> => #object[java.awt.Point 0x3776d535 "java.awt.Point[x=0,y=1]"]

एक स्थिर विधि का आह्वान

आप इस तरह से स्थिर तरीकों को कॉल कर सकते हैं:

(System/currentTimeMillis)
;;=> 1469493415265

या इस तरह से बहस में पास:

(System/setProperty "foo" "42")
;;=> nil
(System/getProperty "foo")
;;=> "42"

जावा से क्लोजर फ़ंक्शन को कॉल करना

आप फ़ंक्शन को देखकर और इसे लागू करके जावा कोड से क्लोजर फ़ंक्शन को कॉल कर सकते हैं:

IFn times = Clojure.var("clojure.core", "*");
times.invoke(2, 2);

यह clojure.core नामस्थान से * फ़ंक्शन को clojure.core है और इसे तर्क 2 और 2 के साथ आमंत्रित करता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow