Clojure - เนมสเปซ
Namespacesใน Clojure ใช้เพื่อแยกความแตกต่างของคลาสเป็นโลจิคัลสเปซแยกกันเช่นเดียวกับใน Java พิจารณาข้อความต่อไปนี้
(:require [clojure.set :as set])
ในข้อความข้างต้น 'clojure.set' คือเนมสเปซที่มีคลาสและวิธีการต่างๆที่จะใช้ในโปรแกรม ตัวอย่างเช่นเนมสเปซข้างต้นมีฟังก์ชันที่เรียกว่า map-invert ซึ่งใช้ในการแปลงแมปของคีย์ - ค่า เราไม่สามารถใช้ฟังก์ชันนี้ได้เว้นแต่เราจะแจ้งให้โปรแกรมของเรารวมเนมสเปซนี้ไว้อย่างชัดเจน
มาดูวิธีการต่างๆสำหรับเนมสเปซ
| ซีเนียร์ | วิธีการและคำอธิบาย |
|---|---|
| 1 | * ns *
ใช้เพื่อดูเนมสเปซปัจจุบันของคุณ |
| 2 | ns
ใช้เพื่อสร้างเนมสเปซใหม่และเชื่อมโยงกับโปรแกรมที่กำลังทำงานอยู่ |
| 3 | นามแฝง
เพิ่มนามแฝงในเนมสเปซปัจจุบันไปยังเนมสเปซอื่น อาร์กิวเมนต์เป็นสองสัญลักษณ์: นามแฝงที่จะใช้และชื่อสัญลักษณ์ของเนมสเปซเป้าหมาย |
| 4 | all-ns
ส่งคืนรายการเนมสเปซทั้งหมด |
| 5 | หา -ns
ค้นหาและส่งคืนเนมสเปซเฉพาะ |
| 6 | ns- ชื่อ
ส่งคืนชื่อของเนมสเปซเฉพาะ |
| 7 | ns- นามแฝง
ส่งคืนนามแฝงซึ่งเชื่อมโยงกับเนมสเปซใด ๆ |
| 8 | ns- แผนที่
ส่งคืนแผนที่ของการแม็พทั้งหมดสำหรับเนมสเปซ |
| 9 | ยกเลิกนามแฝง
ส่งคืนแผนที่ที่มีเฉพาะรายการเหล่านั้นในแผนที่ซึ่งมีคีย์อยู่ในคีย์ |