Nim 0.20 ಬಿಡುಗಡೆಯನ್ನು ಮೊದಲ ಸ್ಥಿರ 1.0 ಬಿಡುಗಡೆಗೆ ಅಭ್ಯರ್ಥಿಯಾಗಿ ಪರಿಗಣಿಸಬಹುದು, ಭಾಷೆಯ ಸ್ಥಿತಿಯನ್ನು ಒಪ್ಪಿಸುವ ಮೊದಲ ಸ್ಥಿರ ಶಾಖೆಯನ್ನು ರೂಪಿಸಲು ಅಗತ್ಯವಿರುವ ಹಲವಾರು ಇಂಟರ್ಆಪರೇಬಿಲಿಟಿ-ಬ್ರೇಕಿಂಗ್ ಬದಲಾವಣೆಗಳನ್ನು ಸಂಯೋಜಿಸುತ್ತದೆ. ಆವೃತ್ತಿ 1.0 ಅನ್ನು ಸ್ಥಿರ, ದೀರ್ಘಾವಧಿಯ ಬೆಂಬಲ ಬಿಡುಗಡೆ ಎಂದು ಹೆಸರಿಸಲಾಗಿದೆ, ಅದು ಭಾಷೆಯ ಸ್ಥಿರಗೊಳಿಸಿದ ಭಾಗದಲ್ಲಿ ಹಿಂದುಳಿದ ಹೊಂದಾಣಿಕೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳಲು ಖಾತರಿಪಡಿಸುತ್ತದೆ. ಪ್ರತ್ಯೇಕವಾಗಿ, ಕಂಪೈಲರ್ ಪ್ರಾಯೋಗಿಕ ಮೋಡ್ ಅನ್ನು ಸಹ ಹೊಂದಿರುತ್ತದೆ, ಇದರಲ್ಲಿ ಹಿಂದುಳಿದ ಹೊಂದಾಣಿಕೆಯನ್ನು ಉಲ್ಲಂಘಿಸಬಹುದಾದ ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗುತ್ತದೆ.
ನಿಮ್ 0.20 ರಲ್ಲಿ ಪ್ರಸ್ತಾಪಿಸಲಾದ ಬದಲಾವಣೆಗಳ ಪೈಕಿ:
- "ಅಲ್ಲ" ಈಗ ಯಾವಾಗಲೂ ಅನಿಯಮಿತ ಆಪರೇಟರ್ ಆಗಿದೆ, ಅಂದರೆ. "ದೃಢೀಕರಿಸು (ಅಲ್ಲ)" ನಂತಹ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಈಗ ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ ಮತ್ತು "ಒಂದು ಅಲ್ಲ ಪ್ರತಿಪಾದಿಸಿ" ಮಾತ್ರ ಅನುಮತಿಸಲಾಗಿದೆ;
- ಸಂಕಲನ ಹಂತದಲ್ಲಿ ಪೂರ್ಣಾಂಕಗಳು ಮತ್ತು ನೈಜ ಸಂಖ್ಯೆಗಳ ಪರಿವರ್ತನೆಗಾಗಿ ಕಟ್ಟುನಿಟ್ಟಾದ ಪರಿಶೀಲನೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ, ಅಂದರೆ. "const b = uint16(-1)" ಎಂಬ ಅಭಿವ್ಯಕ್ತಿಯು ಈಗ ದೋಷವನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ, ಏಕೆಂದರೆ -1 ಅನ್ನು ಸಹಿ ಮಾಡದ ಪೂರ್ಣಾಂಕ ಪ್ರಕಾರಕ್ಕೆ ಪರಿವರ್ತಿಸಲಾಗುವುದಿಲ್ಲ;
- ಸ್ಥಿರಾಂಕಗಳು ಮತ್ತು ಲೂಪ್ ವೇರಿಯೇಬಲ್ಗಳಿಗಾಗಿ ಟ್ಯೂಪಲ್ಗಳ ಅನ್ಪ್ಯಾಕ್ ಅನ್ನು ಒದಗಿಸಲಾಗಿದೆ.
ಉದಾಹರಣೆಗೆ, ಈಗ ನೀವು 'const (d, e) = (7, "ಎಂಟು")' ಮತ್ತು "f ನಲ್ಲಿ (x, y)" ನಂತಹ ಕಾರ್ಯಯೋಜನೆಗಳನ್ನು ಬಳಸಬಹುದು; - ಹ್ಯಾಶ್ಗಳು ಮತ್ತು ಟೇಬಲ್ಗಳ ಡೀಫಾಲ್ಟ್ ಪ್ರಾರಂಭವನ್ನು ಒದಗಿಸಲಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, "var s: HashSet[int]" ಎಂದು ಘೋಷಿಸಿದ ನಂತರ ನೀವು ತಕ್ಷಣವೇ "s.incl(5)" ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಇದು ಹಿಂದೆ ದೋಷಕ್ಕೆ ಕಾರಣವಾಯಿತು;
- "ಕೇಸ್" ಆಪರೇಟರ್ ಮತ್ತು ಅರೇ ಇಂಡೆಕ್ಸ್ಗೆ ಸಂಬಂಧಿಸಿದ ಸಮಸ್ಯೆಗಳಿಗೆ ಸುಧಾರಿತ ದೋಷ ಮಾಹಿತಿ;
- ಪುನರಾವರ್ತನೆಯ ಸಮಯದಲ್ಲಿ ಟೇಬಲ್ ಉದ್ದವನ್ನು ಬದಲಾಯಿಸುವುದನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ.
ಮೂಲ: opennet.ru