مرحبًا بعودتك.
دعنا نضيف طبقة أخرى إلى تطبيقنا ، وهي فرز قائمة الروابط من أعلى إلى أسفل ، ويمكننا القيام بذلك بسهولة
إلى حد ما.
دعونا نسمع.
بدلاً من إعادة أخبار Hacker التي لدينا هنا ، سننشئ وظيفة جديدة تسمى فرز القصص.
صوّت وسنمنحها أخبار القرصنة.
قائمة وسننشئ هذه الوظيفة هنا.
سنقول تحديد الفرز.
القصص.
شراء الأصوات.
وستتلقى هذه المعلمة قائمة أخبار القراصنة.
وسنقوم بعمل خوارزمية فرز بسيطة هنا.
لذلك سنستخدم دالة الفرز التي لدينا.
سنقوم بإعطائها قائمة أخبار القراصنة.
ودعونا نرى ما سيحدث.
سأقوم بتشغيل هذا.
أوه ، ويجب أن أقوم بفرزها هنا.
هذه هي الطريقة.
دعونا نجري هذا مرة أخرى.
حصلنا على خطأ هنا ، وإذا قرأنا الخطأ يقول خطأ اكتب ، غير مدعوم بين حالات
dt و dict.
همم.
ماذا يعني ذلك؟
حسنًا ، نحن نحاول فرز العناصر في قائمة ، لكنها كلها قواميس.
لذلك تقول بايثون ، مهلا ، أنا لا أفهم.
كيف تريد مني فرزها؟
هل تريدني أن أفرزها حسب العنوان ، الرابط ، بالأصوات؟
عليك أن تخبرني.
وهذا نمط شائع مع الفرز الذي عليك فقط أن تعتاد عليه.
سنستخدم دالة لامدا.
ستكون المعلمة الثانية ببساطة هي المفتاح الذي نريد الفرز وفقًا له.
وهذا المفتاح الذي نريد الفرز وفقًا له هو الأصوات الجيدة ، أليس كذلك؟
لذا كل ما سنفعله هو قول لامدا.
ويقول المفتاح.
وهذا المفتاح الذي سنقوم بالفرز به سيكون الأصوات.
لذلك إذا قمت بحفظ هذا وتشغيله مرة أخرى.
انظر الى.
لدي كل شيء مرتبة حسب الأصوات.
كما ترون.
الآن ، إذا كان هذا يربكك باستخدام لامدا ، يمكنك الذهاب لزيارة قسم الدورة حيث نتحدث
عن لامدا هنا.
لكن هذا مجرد نمط شائع يمكنك تذكره بالفرز.
عندما تقوم بفرز القواميس ، فإننا نستخدم المفاتيح ويمكنك إعطائها بناء الجملة باستخدام لامدا وتمريرها
المفتاح.
التي تريد الفرز بها.
في حالتنا ، إنها الأصوات.
آخر شيء نريد القيام به هو أننا نريد بالفعل ترتيب عكسي.
لذلك يجب أن يكون العنصر الأعلى في القائمة أو يجب أن يحصل العنصر الأول في القائمة على أكبر عدد من الأصوات.
يمكننا فعل ذلك ببساطة باستخدام المعامل الثالث بالقول إن عكس يساوي صحيحًا.
مثل هذا تماما.
الآن إذا قمت بحفظ وتشغيل التعليمات البرمجية الخاصة بنا.
نرى أن لدينا قائمة بجميع الروابط العلوية ذات أعلى الأصوات ، وهي واحدة من 309 صوتًا هنا.
رائع جدا.
الجزء المثير الآن هو أنك لم تعد مضطرًا لزيارة موقع Hacker News على الويب بعد الآن.
يمكنك أن تكون مبرمجًا كاملاً وتقوم بأشياء رائعة مثل قراءة العناوين هنا فقط ويمكننا أن نقرأ عن عقوبة
Facebook البالغة 5 مليارات دولار.
لأسباب تتعلق بالخصوصية.
بمجرد تحديد هذا الرابط ودعنا نقول أنك تستخدم Terminal ، يمكنك فقط أن تقول فتح التحديد كعنوان
URL وإلقاء نظرة على ذلك.
يمكننا قراءة القصة مباشرة من هذا القبيل.
رائع جدا.
الآن لديك نسخة نظيفة وأكثر كفاءة من Hacker News يمكنك قراءتها كل يوم.
وكل ما عليك فعله هو تشغيل هذا النص في الصباح وإتمام القراءة.
الآن ، هناك العديد من الطرق التي يمكنك من خلالها توسيع هذا المشروع.
ربما يمكنك عرض هذا على ملف HTML المفهرس الخاص بك بحيث يمكنك بالفعل النقر فوق هذه الروابط.
يمكنك القيام بذلك مع مواقع أخرى.
لكن التحدي والتمرين الذي أواجهه هو هذا كيف يمكننا توسيع هذه القائمة بحيث تشمل أكثر من مجرد الصفحة الأولى
من Hacker News؟
بمعنى ، إذا عدنا إلى Hacker News ، فقد ألغينا حتى الآن هذه الروابط الثلاثين فقط.
ولكن ماذا لو قمت بالنقر فوق المزيد هنا وأريد الانتقال إلى هذه الصفحة الثانية وأريد كشط أول صفحتين
من Hacker News.
كيف يمكنني القيام بذلك في الفيديو التالي؟
سأقدم لك الحل ، لكني أتحداك أن تكتشف ذلك بنفسك وترى كيف يمكنك
القيام به.
إذا واجهتك مشكلة.
حسنًا ، سأراك في الفيديو التالي.
مع السلامة.