मैं इस पर पढ़ने की कोशिश कर रहा हूं, लेकिन मुझे इसका कोई उल्लेख नहीं मिल रहा है।फर्थ में एस "..." का जीवनकाल क्या है?
मानक के अनुसार, एक स्ट्रिंग S"
के साथ बनाई गई संशोधित नहीं किया जा सकता है, और Gforth में एक सरल प्रयोग से यह स्पष्ट है कि स्ट्रिंग के लिए अंतरिक्ष शब्दकोश या पैड क्षेत्रों से नहीं आती है:
hex
here . 7F48AB3B8758 ok
pad . 7F48AB3B8808 ok
s" test" .s <2> 77FDD0 4 ok
मैं उस पते को कब तक वैध मान सकता हूं?
दूसरे शब्दों में, यदि मैं एक चर में यह पता (और गिनती) संग्रहीत करता हूं, तो क्या मैं इसे बाद में प्रोग्राम में देख सकता हूं, या मुझे इसे शब्दकोश या ढेर में एक अलग स्थान पर ले जाने की आवश्यकता है? और अगर मैं पता संग्रह नहीं करता, तो क्या मैं स्मृति को रिसाव कर दूंगा?
बहुत बहुत धन्यवाद! मैंने स्पष्ट रूप से उन अनुच्छेदों को याद किया है। कम से कम यह स्पष्ट करता है। – harald
आप सही हैं, हालांकि gForth में "कम से कम एक व्याख्या-समय स्ट्रिंग" वास्तव में जितना चाहें उतना मतलब है। GForth में, 'एस' 'व्याख्या समय पर स्मृति आवंटित करता है, वहां स्ट्रिंग की प्रतिलिपि बनाता है, और इसे कभी भी मुक्त नहीं करता है (व्याख्या करने के लिए ठीक है)। मैंने इसे' देखें 'टाइप करके और फिर' save-mem 'देखें। –