ما معنى القولون، تحت إبطاء ونجم في خريطة الموقع (الإدخالات: _ *)؟

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

  •  13-09-2019
  •  | 
  •  

سؤال

أنا أتعلم سكالا و مصعد في الوقت نفسه، تعثرت على فهم بناء الجملة المستخدمة إلى inintialize خريطة الموقع في boot.scala:

 val entries = Menu(Loc("Home", "/", "Home")) :: 
       Menu(Loc("Foo", "/badger", "Foo")) ::
       Menu(Loc("Directory Foo", "/something/foo", "Directory Foo")) :: Nil 
 LiftRules.setSiteMap(SiteMap(entries:_*))

ما هو بالضبط معنى معلمة Sitemap؟ أرى أن القيمة مداخل هي قائمة القائمة. ما هو القولون، السفلات، نجمةب في البداية اعتقدت أنها طريقة في القائمة، لكنني غير قادر على العثور على هذا التعريف ...

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

المحلول

حسنا، بعد ذكر زميلي، واجه هذا التعويذة السرية في البرمجة في scala. كتاب، لقد بحثت في نسختي ووجدت أنه موضح في القسم 8.8 المعلمات المتكررة. وبعد (على الرغم من أنك بحاجة إلى البحث مع المسافة بين القولون و Ulderscore: - /) هناك جملة واحدة لشرحها على النحو التالي:

... إلحاق وسيطة الصفيف مع القولون و _* رمز، مثل هذا: scala> echo(arr: _*)

يخبر هذا الترجمة بالمترجم لتمرير كل عنصر arr كما حجتها الخاصة ل echo, ، بدلا من كل ذلك كوسيطة واحدة.

أجد. الوصف المقدمة هنا أكثر فائدة.

وبالتالي x: _* يكون مثل إعلان النوع الذي يروي المحول البرمجي لعلاج x كما المعلمة المتكررة (AKA قائمة حجة طول المتغير - فارارج.).

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