ما هو فليكس (ActionScript3) بناء جملة دالة دالة قيم هذا النوع ؟

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

  •  09-06-2019
  •  | 
  •  

سؤال

ما هي الجملة إلى إعلان نوع بلدي مقارنة-وظيفة مولد رمز مثل ما يلي ؟

var colName:String = ""; // actually assigned in a loop
gc.sortCompareFunction = function() : ??WHAT_GOES_HERE??
{
   var tmp:String = colName;
   return function(a:Object,b:Object):int { return compareGeneral(a,b,tmp); };
}();
هل كانت مفيدة؟

المحلول

ليست "وظيفة" نوع البيانات?

نصائح أخرى

من أجل فهم ما نوع البيانات ، يجب علينا أن نعرف ما المقصود نتائج العودة.أريد أن أرى كتلة التعليمات البرمجية عن compareGeneral و ما زلت لا أعتقد أن هذا سوف يساعد.لديك اثنين من عوائد في غضون نفس الوظيفة "gc.sortCompareFunction" ، وأعتقد أن هذا غير صحيح كما المقابل يحصل على قيمة ثم بمثابة استراحة الأمر معنى بقية من أي شيء في غضون نفس الوظيفة كتلة تجاهلها.المشكلة هي أنني لا أعرف أي العودة هو المقصود العودة وأنا لا أعرف أن فلاش يعرف أيضا.يمكنك استخدام * حسب نوع البيانات ، ولكن هذا يجب حقا أن تستخدم في حالات محددة.في هذه الحالة أعتقد أنك تحتاج فقط قيمة الإرجاع أن مجرد العودة مهما كانت قيمة compareGeneral.

الآن إذا كان هذا هو compareGenerator حقا إما العودة منطقية صحيحة أو خاطئة ، أو الباحث 0 أو 1 ، يتيح استخدام السابق.أيضا أعتقد أننا يمكن استخدام واحد أقل وظيفة.وبما أنني لم أر في جميع من التعليمات البرمجية الخاصة بك وأنا لست متأكدا بالضبط ما تحاول إنجاز التالية هي افتراضية.

function compareGeneral(a:object,b:object):Boolean
{
   //Check some property associated to each object for likeness.
   if(a.someAssignedPropery == b.someAssignedPropery)
   {
      return true;
   }
   return false;
}
var objA:Object = new Object();
objA.someAssignedProperty = "AS3";
objB.someAssignedProperty = "AS3";

compareGeneral(objA,objB);

في هذه الحالة compareGeneral(objA,objB);إرجاع true, على الرغم من أننا لم نفعل أي شيء مفيد مع ذلك حتى الآن.هنا هو وسيلة يمكنك استخدامها.تذكر أنه إما بإرجاع قيمة true أو false حتى نتمكن من التعامل معها مثل متغير.

if(compareGeneral(objA,objB)) //same as if(compareGeneral(objA,objB)) == true)
{
   trace("You have found a match!");
   //Here you can call some other function or set a variable or whatever you require functionality wise based on a match being found.
}
else
{
  trace("No match could be found!");
}

آمل أن يكون هذا هو قادرة على مساعدتك على فهم أنواع البيانات و العودة القيم.أنا لا أعرف ماذا كنت تفعل مع tmp, ولكن عموما الوظائف التي ترجع قيمة الصفقة مع ذلك شيء واحد فقط هذا الشيء, لذلك فمن الأفضل أن تقارن مقارنة الدالة شيء واحد ضد الآخر وأن يكون مدى المكالمة.مهما كانت الوظيفة تتطلب مع tmp يمكن أن تذهب داخل وظيفتها الخاصة أو الطريقة ، يتم استدعاؤها عند الحاجة.

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