Skip to content

Commit 871e451

Browse files
committed
Added enum post code
1 parent 4eaeff4 commit 871e451

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

0-working-with-enums/script.clj

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
;; Accessing enum values
2+
3+
(import 'System.IO.FileMode) ;=> System.IO.FileMode
4+
FileMode/CreateNew ;=> CreateNew
5+
6+
(class FileMode/CreateNew) ;=> System.IO.FileMode
7+
8+
(int FileMode/CreateNew) ;=> 1
9+
10+
11+
;; Creating enum values
12+
13+
(Enum/ToObject FileMode 4) ;=> OpenOrCreate
14+
15+
(enum-val FileMode "CreateNew") ;=> CreateNew
16+
(enum-val FileMode :CreateNew) ;=> CreateNew
17+
18+
19+
;; bit-field operations
20+
21+
(import 'System.IO.FileShare)
22+
(enum-or FileShare/Read FileShare/Write) ;=> ReadWrite
23+
24+
(def r (enum-or FileShare/ReadWrite FileShare/Inheritable))
25+
(= (enum-and r FileShare/Write) FileShare/Write) ;=> true
26+
(= (enum-and r FileShare/Write) FileShare/None) ;=> false
27+
(= (enum-and r FileShare/Delete) FileShare/None) ;=> true
28+
29+
(.HasFlag r FileShare/Write) ;=> true
30+
(.HasFlag r FileShare/Delete) ;=> false

0 commit comments

Comments
 (0)