syntax - Why can't I retrieve "contents" of a note item in Yojimbo, but I can retrieve the "content"? -
Yojimbo के एपल्सस्क्रिप्ट शब्दकोश में एक नोट वस्तु परिभाषित है:
नोट आइटम n [inh । डेटाबेस आइटम]: एक नोट आइटम एप्लिकेशन द्वारा निहित तत्व एन्क्रिप्टेड गुण (बूलियन, आर / ओ): क्या नोट एन्क्रिप्ट किया गया है? सामग्री (पाठ): नोट की सामग्री। सिंक सामग्री यदि यह नोट एन्क्रिप्ट किया गया है, तो सामग्री की संपत्ति केवल पढ़ने योग्य है अगर वर्तमान सुरक्षा नीतियों द्वारा अनुमत है संलग्न करने का जवाब देते हैं, प्रीपेड करें
मेरे डेटा को निर्यात करने की कोशिश में, मैं एप्पल स्क्रिप्ट के साथ आसपास पोकिंग कर रहा हूं, भाषा सीख रहा हूं, आदि, और वर्तमान में यह है:
बताएं "Yojimbo" दोहराना (पुस्तकालय में नोट आइटम) प्रदर्शन संवाद (प्रत्येक नोट की सामग्री) के रूप में दोहराएँ स्ट्रिंग अंत दोहराने के अंत के रूप में बताओ
मुझे भ्रामक बात यह है कि, हालांकि वर्ग संपत्ति को परिभाषित करता है "सामग्री", मुझे सामग्री को पुनः प्राप्त करने के लिए "सामग्री" का उपयोग करना होगा। इस त्रुटि में "सामग्री" परिणाम का उपयोग करना:
टाइप स्ट्रिंग में "Yojimbo" के "वर्ग YNot» id "A0C9E19E-3106-44F9-97A6-A1A74AD77948" नहीं कर सकता।
मैं समझता हूं कि "सिंक सामग्री" का मतलब है कि यह एक समानार्थक है, इस प्रकार मुझे "सामग्री" और "सामग्री" का प्रयोग करने में सक्षम होना चाहिए। लेकिन जाहिरा तौर पर समानार्थक काम करता है, लेकिन मूल नहीं ...?
इसके अलावा, अधिक आसानी से, सामग्री को स्ट्रिंग में क्यों जबरन करना पड़ता है? यदि मैं ऑब्जेक्ट पर गुण (के माध्यम से: (प्रत्येक नोट की गुणमानों के रूप में स्ट्रिंग
) देखता हूं, तो "सामग्री" एक डबल-उद्धृत स्ट्रिंग है, हालांकि मुझे पता है कि यह जरूरी नहीं कि "सबूत" है यह एक स्ट्रिंग है।
मैं अभी भी AppleScript के साथ शुरू कर रहा हूँ, इसलिए अगर मैं एक n00bish गलती कर रहा हूँ, थप्पड़ करने के लिए स्वतंत्र महसूस हो रहा है।
ऐसे अन्य लोगों के लिए, जिनके समान भ्रम की स्थिति है, मुझे यहां मदद मिली:
इसलिए सभी प्रकार की बढ़त अद्भुत होने के लिए जिम जाते हैं!
मूल बातें:
- किसी वस्तु का
सामग्री
वस्तु से युक्त एक वेरिएबल केसामग्री
से भिन्न है। - < किसी वस्तु के कोड> सामग्री ऑब्जेक्ट को ऑब्जेक्ट देता है, ऑब्जेक्ट की सामग्री नहीं, हर दूसरी प्रॉपर्टी के विपरीत अन्य प्रॉपर्टी, वरीय में ऑब्जेक्ट की प्रॉपर्टी लौटाते हैं, जैसा कि अपेक्षित है।
- इसका मतलब है, किसी ऑब्जेक्ट की एक वैरिएबल के अंदर पाने के लिए, आपको
वैरिएबल की सामग्री की सामग्री का उपयोग करना होगा ।
- जैसा कि हां दिखाया गया है, यह बहुत अजीब है जबकि
var == var
औरvar == var
की सामग्री,var! = (Var की सामग्री) की सामग्री
, इसलिए ऐप्लेस्क्रिप्ट वास्तव में इस विशिष्ट मामले में "सामग्री" के लिए पहचान सिद्धांत का उल्लंघन करता है। यह इस प्रभाव को चैन नहीं करता है, हालांकि, आपकोसामग्री
तीन परतें गहरे (यह दो के समान ही काम करनी होगी) का उपयोग करने की आवश्यकता नहीं हैसामग्री
- कई शब्दकोषों का उपयोग
सामग्री
कासामग्री के रूप में
>, जो इस पूरी समस्या से बचा जाता है अगर वांछित,var की
का उपयोग करें, और यह अन्य गुणों की तरह काम करेगा, ऑब्जेक्ट की बजाय ऑब्जेक्ट कीcontent
लौटाएगा। - जैसा कि हां दिखाया गया है, यह बहुत अजीब है जबकि
Comments
Post a Comment