في نسخة مطبوعة على الآلة الكاتبة كيف تعلن مجموعة من الوظائف التي تقبل سلسلة والعودة سلسلة ؟

StackOverflow https://stackoverflow.com//questions/12706161

  •  13-12-2019
  •  | 
  •  

سؤال

التحديث - سياق هذا السؤال كان قبل نسخة مطبوعة على الآلة الكاتبة 1.4.منذ هذا الإصدار ، تخميني الأول تمت بدعم من اللغة.ترى التحديث إلى الإجابة.


أستطيع أن أعلن f أن تكون وظيفة يقبل سلسلة بإرجاع سلسلة:

var f : (string) => string

وأنا يمكن أن تعلن g أن يكون صفيف السلسلة:

var g : string[]

كيف يمكنني أن تعلن h أن مجموعة من "وظيفة يقبل سلسلة بإرجاع سلسلة"?

تخميني الأول:

var h : ((string) => string)[]

التي يبدو أن هناك خطأ في بناء الجملة.إذا كنت تأخذ بعيدا إضافية قوسين ثم إنها وظيفة من سلسلة مجموعة من السلسلة.

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

المحلول

لقد اكتشفت ذلك.المشكلة هي أن => وظيفة النوع الحرفي هو في حد ذاته مجرد النحوية السكر و لا يريد أن يؤلف مع [].

كما spec يقول:

وظيفة النوع الحرفي من شكل

( ParamList ) => ReturnType

هو بالضبط ما يعادل نوع الكائن الحرفي

{ ( ParamList ) :ReturnType }

لذا ما أريده هو:

var h : { (s: string): string; }[]

كاملة سبيل المثال:

var f : (string) => string

f = x => '(' + x + ')';

var h : { (s: string): string; }[]

h = [];

h.push(f);

التحديث:

انطلاقا من هذه التغيرات المعينة على بين قوسين لن يسمح في نوع الإعلانات في 1.4 ، وبالتالي فإن "أول تخمين" في السؤال سوف أيضا تكون صحيحة:

var h: ((string) => string)[]

آخر تحديث هو في 1.4!

نصائح أخرى

بناء على بحثك، كتبت كوكبة فئة صغيرة / Sayhello: `

giveacodicetagpre.

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