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 ยกเลิกนามแฝง

ส่งคืนแผนที่ที่มีเฉพาะรายการเหล่านั้นในแผนที่ซึ่งมีคีย์อยู่ในคีย์