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 | ยกเลิกนามแฝง
ส่งคืนแผนที่ที่มีเฉพาะรายการเหล่านั้นในแผนที่ซึ่งมีคีย์อยู่ในคีย์ |