سؤال

لقد حصلت على ابليسكريبت العمل الذي لديه كرر تبدو مثل هذا:

repeat with i from 1 to count windows of proc
    ....
end repeat

الآن أريد تغيير هذا إلى دقيقة (2 ، عدد نوافذ بروك)

كيف يمكنني كتابة هذا باستخدام ابليسكريبت بحتة?(الحل التي تنطوي على باش الخ.غير مقبولة ، والسؤال هو حقا حول كيفية القيام بذلك من ابليسكريبت)

هل كانت مفيدة؟

المحلول

ليس هناك طريقة مدمجة للقيام بذلك.سيكون عليك كتابة الوظيفة بنفسك:

on min(x, y)
    if x ≤ y then
        return x
    else
        return y
    end if
end min

...

repeat with i from 1 to min(2, count windows of proc)
    ...
end repeat

لاحظ أنه إذا كنت تريد استخدام min داخل أ tell ... أو using terms from ... بلوك ، عليك أن تسميها my min(2, count windows of proc) بحيث يعرف ابليسكريبت للبحث عن min في البرنامج النصي ، وليس في الشروط من التطبيق أو ما لديك لك.

أيضا ، ملاحظة سريعة:وتسمى اللغة التي تعمل مع ابليسكريبت ، وليس أوساسكريبت.تسمى أداة سطر الأوامر للعمل معها osascript لأنه يعمل مع أكثر عمومية فتح بنية البرمجة النصية.لغات أخرى (مثل جافا سكريبت) يمكن أن تكون مكونات أوسا ، ولكن واقعيا ، الى حد كبير الجميع يستخدم ابليسكريبت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top