اجعل رورو44 صفحتك الرئيسية | احفظ رورو44 في مفضلتك | ارسل رورو44 إلى صديقك | أعلن على رورو44 | English Interface

 

 

 

شات خدمات مسجات جوال بطاقات رسائل حب دليل مواقع شات خليجي  دردشة منتديات حسناء الفارس عالم الرومانسية

مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية

 
    دروس في الذكاء الاصطناعي  الليسب Lisp
 

 

دوال التعامل مع سلاسل الرموز Strings في LISP



في هذا الدرس والدرس القادم سأتحدث بالتفصيل عن سلاسل الرموز Strings في LISP ماهيتها وكيفية التعامل معها في LISP وكذلك الدوال المعرفة مسبقا في اللغة للتعامل معها أو إجراء عمليات عليها.

مكونات هذا الدرس:

أولا: تعريف السلاسل الرمزية STRINGS ؟

ثانيا: سلسلة الدوال المختصة بالتعامل مع سلاسل الرموز وهي 12 دالة سيتم شرحها في هذا الدرس.

وسندخل في درسنا مباشرة على بركة الله:)

 

أولا: ما هي سلسلة الرموز String؟

تستطيع معرفة هذا المصطلح عن طريق زيارة الوصلة التالية على قاموس الموسوعة العربية:

http://www.c4arab.com/qamoos/mean.php?word=Character%20String

هذا المفهوم لسلاسل الرموز لا يختلف بين جميع لغات البرمجة.

 

ثانيا: دوال التعامل مع سلاســــــل الرموز

 Strings Functions..

وإليكم تعدادا ثم تفصيلا للدوال التي سيتم شرحها في هذا الدرس:

1- الدالة MAKE-STRING
2- الدالة STRING
3- الدالة STRINGP
4- الدالة STRING-UPCASE
5- الدالة STRING-DOWNCASE
6- الدالة STRING-CAPITALIZE
7- الدالة NSTRING-UPCASE
8- الدالة NSTRING-DOWNCASE
9- الدالة NSTRING-CAPITALIZE
10- الدالة STRING-TRIM
11- الدالة STRING-LEFT-TRIM
12- الدالة STRING-RIGHT-TRIM


 

1- الدالة MAKE-STRING

الوظيفة:

تعود هذه الدالة بسلسلة من الرموز بالطول الذي تم تحديده، وإذا تم تحديد العنصر الابتدائي فانه يتم ملئ السلسلة بهذا العنصر .

ملاحظة: هذا الدالة شبيهة جدا بدالة هامة تستخدم لصناعة القوائم lists واسمها MAKE-LIST وسيتم شرحها في الجزء الخاص بالقوائم لكونها عماد لغتنا الرائعة LISP في القسم المتقدم من هذه الدروس بإذن الله.

الشكل:

(make-string size [:initial-element element-type])

أمثلة:

نلاحظ أنه نتيجة عدم تحديد العنصر الابتدائي الذي يكون من المفترض ملء السلسلة به، فإن LISP سيضع رموزا من خياله لملئ السلسلة بالطول الذي تم تحديده..

رأينا أنه تم إنشاء سلسلة مكونة من 10 رموز، وسيتم ملؤها مبدئيا بالحرف a. تابع المثال التالي أيضا:

 

2- الدالة STRING

الوظيفة:

هذه الدالة تعود برمز أو سلسلة من الرموز حسب حالة x الذي تم إرساله لها.

  • إذا كان x عبارة عن سلسلة من الرموز String فان الدالة تعود بها.

  • إذا كان x عبارة عن رمز Symbol فان هذه الدالة تعود باسمه.

  • إذا كان x عبارة عن حرف Character فان هذه الدالة تعود بـString تحتوي على هذا الرمز فقط.

الشكل:

(string x)

أمثلة:

 

3- الدالة STRINGP

الوظيفة:

  • تعود هذه الدالة بالقيمة True T إذا كان الكائن المرسل لها عبارة عن سلسلة من الرموز String.

  • وتعود بالقيمة False Nil خلاف ذلك.

الشكل:

(stringp object)

أمثلة:

لاحظ في المثال السابق أنه من الممكن أن تحتوي السلسلة على رمز أو حرف وحيد، ولكن العكس صحيح!
فلا يمكن أن يكون الـCharacter محتويا على أكثر من رمز أو حرف.


وهاهي الدالة STRINGP تكشف عن الرمز Character الذي قمنا بإرساله لها لأن علامة الرمز # موجودة قبله.

 

4- الدالة STRING-UPCASE

الوظيفة:

تعود هذه الدالة بنفس السلسلة String المرسلة لها مع استبدال جميع حروفها إلى صيغة الحروف العلوية Upper-case Letters أي الحروف الكبيرة Capital Letters.
وللتوضيح فإن هذه الدالة تؤدي عمليها عن طريق تطبيق الدالة char-upcase التي تعرفنا عليها في درس " دوال التعامل مع الرموز Characters " على كل حرف من حروف السلسلة.

الشكل:

(string-upcase string [:start index] [:end index])

أمثلة:

 

5- الدالة STRING-DOWNCASE

الوظيفة:

تقوم هذه الدالة بالوظيفة العكسية للدالة السابقة، حيث تعود بنفس السلسلة String المرسلة لها مع استبدال جميع حروفها إلى صيغة الحروف السفلية Down-case Letters أي الحروف الصغيرة Small Letters.
وهذه الدالة تؤدي عمليها عن طريق تطبيق الدالة char-downcase التي تعرفنا عليها في درس " دوال التعامل مع الرموز Characters " على كل حرف من حروف السلسلة.

الشكل:

(string-downcase string [:start index] [:end index])

أمثلة:

 

6- الدالة STRING-CAPITALIZE

الوظيفة:

تعود هذه الدالة بنسخة من السلسلة String المرسلة لها مع استبدال حالة الحرف الموجود في بداية كل كلمة إلى حرف علوي Upper-Case Letter.

الشكل:

(string-capitalize string [:start index] [:end index])

أمثلة:

 

الدوال STRING-UPCASE, STRING-DOWNCASE, STRING-CAPITALIZE السابقة تقوم بإعادة السلسلة دون تحديث المتغير الذي يحويها.. أي أنه على سبيل المثال، لو وضعنا السلسلة “C4arab” كقيمة لمتغير ما وليكن x كالتالي:

ثم قمنا بتطبيق الدوال السالفة الذكر على هذا المتغير كالآتي:

فكما نلاحظ أن المتغير x لا يزال يحتفظ بنفس شكل السلسلة "C4arab" داخله بالرغم من تطبيق الدوال السابقة عليه.. ماذا لو أردنا الاحتفاظ بالشكل الجديد للسلسلة؟!!


هناك طريقتين لذلك:

الطريقة الأولى:

استخدام setq لنجعل الشكل الجديد للسلسلة والناتج عن تطبيق إحدى الدوال السابقة يتخزن داخل المتغير x .. فمثلا لو أردنا تطبيق الدالة string-upcase على السلسلة المخزنة في x ومن ثم الاحتفاظ بالعائد من الدالة داخل هذا المتغير نكتب:


الطريقة الثانية:

استخدام الدوال NSTRING-UPCASE, NSTRING-DOWNCASE, NSTRING-CAPITALIZE والتي تقوم بنفس وظيفة الدوال السابقة ولكن مع تخزين السلسلة العائدة في المتغير المرسل لها..

 

7- الدالة NSTRING-UPCASE

الوظيفة:

تقوم هذه الدالة بنفس وظيفة الدالة STRING-UPCASE مع تخزين السلسلة الجديدة في المتغير المرسل لها.

الشكل:

(nstring-upcase string [:start index] [:end index])

أمثلة:

بفرض أننا قمنا بتخزين السلسلة C4arab.Com في المتغير str على النحو الآتي:

وبتطبيق الدالة nstring-upcase:

سنجد أن المتغير str احتفظ بالسلسلة الجديدة العائدة من الدالة السابقة:

 

8- الدالة NSTRING-DOWNCASE

الوظيفة:

تقوم هذه الدالة بنفس وظيفة الدالة STRING-DOWNCASE مع تخزين السلسلة الجديدة في المتغير المرسل لها.

الشكل:

(nstring-downcase string [:start index] [:end index])

أمثلة:

 

9- الدالة NSTRING-CAPITALIZE

الوظيفة:

تقوم هذه الدالة بنفس وظيفة الدالة STRING-CAPITALIZE مع تخزين السلسلة الجديدة في المتغير المرسل لها.

الشكل:

(nstring-capitalize string [:start index] [:end index])

أمثلة:

 

المزيد من الدوال:

10- الدالة STRING-TRIM

الوظيفة:

تعود هذه الدالة بجزء من السلسلة المرسلة لها يحتوي على جميع الحروف الموجودة في السلسلة الأصلية باستثناء المحتوي على مع إزالة الأجزاء المحتوية على الـ character-bag من بداية أو نهاية السلسلة.
الـ character-bag هو الجزء الذي نرغب بمسحة وإزالته من السلسلة ونقوم بإرساله إلى هذه الدالة مع السلسلة كما سنرى في الأمثلة..

الشكل:

(string-trim character-bag string)

أمثلة:

 

11- الدالة STRING-LEFT-TRIM

الوظيفة:

تقوم هذه الدالة بنفس وظيفة الدالة STRING-TRIM ولكنها تقوم بعملية الإزالة للـ character-bag من بداية الـString فقط..

الشكل:

(string-left-trim character-bag string)

أمثلة:

 

12- الدالة STRING-RIGHT-TRIM

الوظيفة:

تقوم هذه الدالة بنفس وظيفة الدالة STRING-TRIM ولكنها تقوم بعملية الإزالة للـ character-bag من نهاية الـString فقط..

الشكل:

(string-left-trim character-bag string)

أمثلة:



المزيد من المواضيع

مقدمة في العمليات على القوائم [(List Processing)]
بيئة LispWorks والأدوات المتوفرة في هذا البرنامج!
دوال التعامل مع الأرقام في LISP مع الأمثلة (3)
طباعة المخرجات !
الشروط والإجراءات التابعة لها في LISP
الدوال المنطقية في LISP
دوال التعامل مع الرموز Characters في LISP
دوال المقارنة بين السلاسل الرمزية Strings في LISP
دوال المقارنة بين الرموز Characters في LISP
دوال التعامل مع الأرقام في LISP مع الأمثلة (4)
دوال التعامل مع الأرقام في LISP مع الأمثلة (2)
دوال التعامل مع الأرقام في LISP مع الأمثلة (1)
دوال إجراء العمليات الحسابية في لغة LISP
التعابير الرمزية، والقواعد اللغوية في لغة Common Lisp
دوال المقارنة في لغة LISP !
تعرف على أداة الـ Listener في برنامج LispWorks!
تعرف على أداة الـText Editor في برنامج LispWorks!
تنصيب LispWorks على جهاز يعمل بنظام التشغيل ويندوز
تحميل LispWorks لأي نظام تشغيل تعمل عليه (ويندوز / لينكس / يونكس)
مقدمة للغة Common Lisp

1

 

الاقسام الرئيسية

دروس للمبتدئين

--

دروس في أنظمة التشغيل

--

دروس في الانترنت

--

دروس في لغات البرمجة

--

دروس في برمجة المواقع

--

دروس في الأوفيس

--

دروس في الرسوم و التصميم

--

دروس في قواعد البيانات

--

دروس في الألعاب والبرامج

--

دروس في المكونات الصلبة

--

دروس في الشبكات

--

دروس في أمن المعلومات

--

دروس في الذكاء الاصطناعي

--

القائمة البريدية

  فضائح | ماسنجر | تداول | الحياة الزوجية | عجائب وغرائب| دروس تعليمية | عالم حواء | فضائح الفن | ستار اكاديمي | نكت | برامج | صور | | شات سعودي | شات عربي | ماسينجر | مسجات | دليل مواقع | دليلك | مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية | دردشة خليجية | دردشة سعودية | دردشة عربية | شات صوتي | دردشة صوتية | دردشة كويتية | دردشة اماراتية | دردشة عمانية | دردشة قطرية | دردشة بحرينية | دردشة عراقية | دردشة يمنية | سكس | طريق الاسلام, انا مسلم , طريق الهدايه , مسلمون , منوعات اسلاميه | اسلاميات , برامج اسلامية , منوعات اسلامية | جنس | الاسرة المسلمة , الاسرة العربية , اسرتي , عائلتي | برامج الاسره , نصائح معلومات , اسرة عربية سعودية خليجية | دروس تعليمية , مكتبة الدروس التعليمية | شروح برامج , شرح برامج , دورات تعليميه | طب وصحه - المركز الطبي | طبيبك على الانترنت , معلومات طبية , معلومات صحيه

Roro44.com xml :                            

شات سعودي | شات عربي | شات خليجي | العاب | دردشات | العاب بنات

 |  اشهر موقعك | احصائيات الموقع | اسعار الاعلانات |  لمراسلة الإدارة  |

:: ©2007-2003 www.roro44.com All rights reserved ::