স্ক্রিপ্ট সম্পাদক .scpt ফাইলগুলি সরল পাঠ্য ফাইল হিসাবে সংরক্ষণ করা হয় না কেন?


16

স্ক্রিপ্ট সম্পাদক (পূর্বে অ্যাপলস্ক্রিপ্ট সম্পাদক প্রাক যোসেমাইট 10.10) .scptফাইলগুলি বাইনারি ফাইল হিসাবে সংরক্ষণ করে, সরল পাঠ্য ফাইল নয়।

এটি সোর্স কোড নিয়ন্ত্রণ সিস্টেমে তাদের সাথে কাজ করা কিছুটা জটিল করে তোলে।

এই ঘটনাটি কেন কেউ জানেন? এমন কিছু দীর্ঘস্থায়ী ইতিহাস রয়েছে যা এই ফাইল ফর্ম্যাটটির জন্য সরল পাঠ্য ফাইলগুলি বাদ দিয়ে অন্য কিছু হতে পারে?


আমি এর কারণ জানি না তবে এখানে মন্তব্য হিসাবে , আপনি পরিবর্তে পাঠ্য হিসাবে সংরক্ষণ করতে একটি হটকি / স্ক্রিপ্ট ম্যাক্রো লিখতে পারেন। এটি একটি বেদনাযুক্ত কিন্তু করণীয় ...
ভিক

2
সেভ প্যানেলে আপনি সরল পাঠ্য সহ বিভিন্ন ফর্ম্যাটে স্ক্রিপ্টগুলি সংরক্ষণ করতে পারেন।
ক্রিস পেজ

"স্ক্রিপ্ট ফাইলগুলি থেকে পাঠ্য হিসাবে স্ক্রিপ্টটি পান?": List.apple.com/archives/applescript-users/2007/Mar/…
pkamb

উত্তর:


20

উইলিয়াম আর কুকের কাগজে 1989 সালে অ্যাপলস্ক্রিপ্টের সাথে জড়িতদের কাছ থেকে একটি দুর্দান্ত ইতিহাস এবং অন্তর্দৃষ্টি রয়েছে

নিম্নলিখিতটি মজাদার এবং অনুমানমূলক।

স্থান এবং প্রক্রিয়াজাতকরণ সংরক্ষণ

অ্যাপলস্ক্রিপ্ট এমন সময়ে লেখা হয়েছিল যখন প্রতিটি বাইট এবং বিট মূল্যবান ছিল। প্রারম্ভিক তালিকার ফর্ম্যাট হিসাবে ওএস এক্সের অলস এনকোডিং early প্রাথমিক বিকাশকারীদের দৃষ্টিতে অপচয় হবে।

বাইনারি ফর্ম্যাটটি একটি প্রাক-পার্সড ফর্ম সরবরাহ করে যা ডিস্ক থেকে প্রতিটি লোডের সাথে জটিল, ত্রুটিযুক্ত প্রবণতা এবং সময় গ্রহণের পার্সিং প্রক্রিয়াটিকে অনুলিপি করে এড়ানো যায়। সরাসরি স্মৃতিতে লোড করা ভাল।

অভিযোজিত

বাইনারি বিন্যাসে সংরক্ষণের ফলে অ্যাপলস্ক্রিপ্টগুলিকে অন্তর্নিহিত অ্যাপলএভেন্ট কোডগুলির সাথে বাঁধার অনুমতি দেওয়া হয়েছিল বরং তাদের দীর্ঘ রূপের পরিভাষার অভিধান।

এটি কোনও অ্যাপ্লিকেশনটির কোনও সংস্করণের বিপরীতে লিখিত এবং সংরক্ষণিত অ্যাপলস্ক্রিপ্টকে লক্ষ্যযুক্ত অ্যাপ্লিকেশনগুলির সংস্করণগুলির মধ্যে পরিভাষা পরিবর্তনের জন্য স্বয়ংক্রিয়ভাবে আপডেট করার অনুমতি দেবে।

স্ক্রিপ্টে কোনও পূর্ণসংখ্যার অবজেক্টকে 'পূর্ণসংখ্যা' বলা যেতে পারে int তবে বাইনারি উপস্থাপনায় চারটি অক্ষর কোড হিসাবে সংরক্ষণ করা হয়েছে । অপারেটিং সিস্টেম দ্বারা সরবরাহিত অ্যাপলস্ক্রিপ্ট অভিধান থেকে চারটি অক্ষর কোড আসছে।

যদি ভবিষ্যতের অ্যাপলস্ক্রিপ্ট পরিভাষাটি পূর্ণসংখ্যার জন্য ব্যবহারকারীর মুখের শব্দের পরিবর্তন করার সিদ্ধান্ত নেয় তবে বাইনারি উপস্থাপনটি নতুন নামে মানচিত্র তৈরি করতে পারে।

এর একটি ফ্লিপ দিকটি আজ দেখা সম্ভব। একটি অ্যাপ্লিকেশন এর অভিধানের বিরুদ্ধে একটি অ্যাপলস্ক্রিপ্ট লিখুন। তারপরে আপনার ম্যাক থেকে পুরোপুরি অ্যাপ্লিকেশনটি সরিয়ে ফেলুন। স্ক্রিপ্ট খোলার পরে আপনি স্ক্রিপ্ট সম্পাদকটিতে কী দেখতে পাচ্ছেন?

কমপক্ষে সাম্প্রতিক সংস্করণগুলিতে, অ্যাপলস্ক্রিপ্ট সম্পাদক চারটি অক্ষর কোডের চারপাশে শেভ্রন দেখিয়েছিলেন । কোডটি মনে রাখা এবং হাইলাইট করা হয়েছে। পরিভাষা ব্যবহারকারীর মুখোমুখি নয়।

এটি সম্ভবত প্রাথমিক সুবিধা নয় তবে সম্ভাব্য বেনিফিট।

আধুনিক বায়াস

পাঠ্য নথির জন্য আমাদের আধুনিক পক্ষপাতিত্ব স্বীকৃত মূল্য worth অভিজ্ঞতা আমাদের মধ্যে অনেকে শিখিয়েছে যে বাইনারি ফর্ম্যাটে মূল্যবান সামগ্রী সংরক্ষণ করা ঝুঁকি বহন করে। বাইনারি ফর্ম্যাটগুলি প্রায়শই দুর্বল নথিভুক্ত, শেষ ব্যবহারকারীর কাছে অস্বচ্ছ এবং যখন নিজের সফ্টওয়্যারটি রক্ষণাবেক্ষণ না করা হয় তখন খুলতে অসুবিধা হয়

যখন অ্যাপলস্ক্রিপ্ট এবং এটির বাইনারি ফর্ম্যাটটি তৈরি করা হয়েছিল, তখন এই পক্ষপাতিত্বটি এখনও তৈরি হয়নি। স্টোরেজ এবং গণনার সীমা খুব আসল ছিল এবং প্রতি কিলোবাইট বা হাজার হাজার চক্র সংরক্ষণযোগ্য ছিল।

ইতিহাস এবং উত্স

অ্যাপলস্ক্রিপ্টের উত্সের গল্পগুলি আজকাল দুর্দান্ত তবে তা খুঁজে পাওয়া শক্ত। অ্যাপলস্ক্রিপ্ট একটি বন্ধুত্বপূর্ণ, ইংরেজি ভাষা, ভাষার মতো ভাষা হওয়ার চেষ্টা করেছিল এবং এর দৃষ্টিতে শ্বাস নেয়; সত্যিকারের বাস্তবায়নটি সঠিকভাবে পাওয়া শক্ত ছিল!


16

সংক্ষেপে, .scptপশ্চাদপটে সামঞ্জস্যের অনুমতি দেয়। প্লাস, আপেলসক্রিপ্ট / জাভাস্ক্রিপ্ট (ইত্যাদি) একই প্রসারণের সাহায্যে সংরক্ষণ করতে পারে, যা Script Editorএখন জাভাস্ক্রিপ্ট সমর্থন করে।

.scptশেলের মধ্যে পচন রচনা করতে :

https://github.com/rupa/applescript/blob/master/decompile.sh

সর্বাধিক প্রাসঙ্গিক অংশ:

osadecompile

টেক্সটমেট তৃতীয় পক্ষের সম্পাদক যা পড়তে পারে .scpt:

https://github.com/textmate/textmate/blob/master/Applications/decompile_as/src/decompile_as.mm

সর্বাধিক প্রাসঙ্গিক অংশ:

[[OSAScript alloc] initWithCompiledData:];

এই ফাংশনটি OSAScript.hওএস এক্স এসডিকে বাদে আসে । ইন OSAScript.h, এই দীর্ঘ মন্তব্য আছে:

এমন একটি ইউআরএল দেওয়া হয়েছে যা একটি সংকলিত স্ক্রিপ্ট, স্ক্রিপ্ট অ্যাপ্লিকেশন, বা স্ক্রিপ্ট উত্সটি সনাক্ত করে, এর বিষয়বস্তু সহ একটি স্বতঃস্ফূর্ত স্ক্রিপ্ট ডেটা ডেস্ক্রিপ্টর তৈরি এবং ফিরিয়ে আনবে। আপনি স্ক্রিপ্ট তৈরি করতে বর্ণনাকারী ব্যবহার করতে পারেন - [ওএসএসক্রিপ্ট ইনিউইথসক্রিপ্টডেটাডেস্ক্রিটার: ...]। এটি আপনাকে একটি নির্দিষ্ট ওএসএল্যাঙ্গুয়েজইনস্ট্যান্স সহ একটি স্ক্রিপ্ট তৈরি করতে সক্ষম করে। স্ক্রিপ্ট ডেটার জন্য ভাষাটি পেতে আপনি + [ওএসএল্যাঙ্গুয়েজ ভাষাফরস্ক্রিপ্ট ডেটাডেস্পেক্টর:] ব্যবহার করতে পারেন, যা পরে কোনও ওএসএএসক্রিপ্টের জন্য উপযুক্ত ভাষা উদাহরণ তৈরি বা নির্বাচন করতে ব্যবহৃত হতে পারে। স্ক্রিপ্ট উত্স ডেটা দ্বারা সংকলিত হতে পারে - [ওএসএএসক্রিপ্ট ইনিউইসক্রিপ্টডেটা ডেডিসিপ্টার: ...], বা আপনি বর্ণনাকারীকে একটি স্ট্রিংয়ে জোর করতে পারেন (এনএসএপ্লেভেন্টডেস্কিটার পদ্ধতি ব্যবহার করে) এবং স্পষ্টতই উত্সটি দিয়ে একটি ওএসএসক্রিপ্ট তৈরি করতে পারেন। + (এনএসপ্লেইভেন্টসেস্পেক্টর *) স্ক্রিপ্ট ডেটাডেস্ক্রিপ্টর উইথ কনটেন্টস অফ ইউআরএল:

মূলত, সংরক্ষণ করা হয় .scpt, একটি OSALanguageInstanceবিবরণকারী ফাইল সংরক্ষণ করা হয়।

যদি কোনও ফাইলকে .applescript/ পাঠ্য হিসাবে সংরক্ষণ করা হয় , সিস্টেম এটিকে অ্যাপ্লস্ক্রিপ্ট ভাষার সর্বশেষতম সংস্করণ দিয়ে সংকলন করবে। উদাহরণস্বরূপ, ওএস এক্স এর পুরানো সংস্করণের জন্য লিখিত একটি স্ক্রিপ্ট কোনও নতুন সংস্করণে কাজ করতে পারে না কারণ কিছু ফাংশন অপ্রচলিত হয়ে গেছে। এর সাহায্যে .scpt, সিস্টেম / অ্যাপ্লিকেশন অ্যাপলসিসিপ্টটি কী সংস্করণের জন্য বোঝায় তা বেছে নিয়েছে।

১০.১০ থেকে জাভাস্ক্রিপ্টটি সংরক্ষণ করা যায় .scptএবং সঠিকভাবে কার্যকর করা যায়।


পেয়েছি r errOSASourceNotAv উপলভ্য (-1756) `এর অর্থ কী?
টিসিবি 13

1
ডিকম্পাইল লিঙ্কের জন্য +1। @ টিসিবি 13 এটি ঘটে যখন আপনার .scpt ফাইলটি বাইনারি না হয় এবং এটি হওয়া উচিত যাতে সম্পাদকের চারপাশে কাজ করতে সমস্যা হয় উইন্ডোটি বন্ধ করা যা আপনাকে একটি অনুলিপি তৈরি করতে বলবে। অনুলিপিটি এরপরে এগিয়ে যাওয়া সংকলিত ফর্ম্যাটে তথ্য সংরক্ষণ করবে। যাইহোক, এই উত্তরটি আমি পোস্ট করতে যাচ্ছি যা ডিসকপাইল কমান্ডযুক্ত এই দূরবর্তী উত্তর থেকে শিখেছি।
মাইকেল ডিম্মিট

কেবল এটি যুক্ত করতে, asprint< hasseg.org/asprint > থেকেও পাওয়া যায় যা আপনাকে 'সুন্দর মুদ্রণ' দেয় sc একমাত্র ত্রুটি এটি জাভাস্ক্রিপ্ট। স্ক্রিপ্ট ফাইলগুলিতে কাজ করে না, কেবল অ্যাপলস্ক্রিপ্টগুলি।
টিজে Luoma

1

ফার্থেওয়েতে ভাগ করা ডিকম্পাইল কমান্ডটি দেখার পরে আমি সমাধানটি আবিষ্কার করেছিলাম। আপনি যদি অ্যাপ্লস্ক্রিপ্ট (.scpt) ফাইলটি বাইনারি না হন।

@ ফারথেরাওয়ে তার উত্তরের নীচে এটি উল্লেখ করেছে।

কেবল অ্যাপ্লিকেশন স্ক্রিপ্ট এক্সটেনশন দিয়ে সমস্ত বিকাশ করুন।

স্ক্রিপ্ট সম্পাদক কোডটি চালাতে সক্ষম হবেন এবং এটি এটি একটি সংকলিত বিন্যাসে সংরক্ষণ করবে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.