نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

بيئة Bash

يمكن إعداد بيئة Bash على مستوى النظام ككل أو لكل مستخدم على حدة، وتُستخدم ملفات الإعدادات المختلفة من أجل ضبط سلوك الصدفة، إذ تحتوي تلك الملفات على خيارات الصدفة وإعدادات المتغيرات وتعريفات الدوال ووحدات أخرى من وحدات بناء صدفة Bash التي تيسر علينا إنشاء بيئة عمل مريحة ومنجِزة. يمكن اختيار أسماء للمتغيرات كما تشاء -نوعًا ما- باستثناء الأسماء المحجوزة لصدفة بورن وصدفة Bash والمعامِلات الخاصة (special parameters). وتستخدم Bash نظام اقتباس (quoting) لاستبعاد المعاني الخاصة من محرف أو أكثر في ...

وحدات البناء الأساسية في Bash

وحدات بناء الصدفة البنية اللغوية للصدفة (Shell Syntax) إن كان المُدخَل ليس تعليقًا (comment) فإن الصدفة تقرؤه وتقسمه إلى كلمات ومعامِلات مطبِّقة قواعد الاقتباس (quoting rules) لتحدد معنى كل مِحرَف (character)، ثم تُترجَم تلك الكلمات والمعامِلات إلى أوامر وعناصر أخرى ينتج عنها حالة الخروج المناسبة للعملية. ولا تُطبَّق آلية fork-exec التي ذكرناها في تنفيذ الأوامر في Bash إلا بعد أن تحلل الصدفة المُدخلات وفقًا للخطوات الآتية: تقرأ الصدفة المُدخلات من ملف، سواء من نص (string) أو من طرفية المستخدم. يُقسَّم ...

الخاصية quotes

الخاصية quotes في CSS تُشير إلى الطريقة التي يجب أن يعرض فيها المتصفح علامات الاقتباس. بطاقة الخاصية القيمة الابتدائية تختلف حسب المتصفح. تُطبَّق على جميع العناصر. قابلة للوراثة نعم قابلة للحركة لا القيمة المحسوبة كما حُدِّدَت. /* كلمة محجوزة */ quotes: none; /* <string> سلاسل نصية */ quotes: "«" "»"; /* ضبط علامة الاقتباس الابتدائية والنهائية */ quotes: "«" "»" "‹" "›"; /* ضبط مستويين من الاقتباس */ /* القيم العامة */ quotes: inherit; quotes: ...

اقتباس المحارف في Bash

فائدة اقتباس المحارف تحمل كثيرًا من المحارف والكلمات معاني ووظائف خاصة بشكل أو بآخر، ويُستخدم الاقتباس لإلغاء ذلك المعنى أو الوظيفة الخاصة، إذ تعطِّل علامات التنصيص في Bash تلك المعاملة التي يلقاها المحرف الخاص، وتمنع معاملة الكلمات الخاصة وفقًا للمعاني التي تحملها، وكذلك تعطِّل توسع المعامِلات. محارف الهروب تُستخدم محارف الهروب لإلغاء المعنى الخاص لمحرف واحد، وتُستخدم الشرطة المائلة الخلفية \ كمحرف للهروب في Bash، إذ تحتفظ بالمعنى المباشر للمحرف الذي يليها باستثناء محرف السطر الجديد، فإن أتى محرف سطر ...

المزيد من خيارات Bash

ناقشنا بعض خيارات صدفة Bash التي قد تفيدك في تنقيح برامج Bash، وسننظر الآن في مزيد من تلك الخيارات بتفصيل أكثر. عرض الخيارات استخدم خيار o- لأمر set لعرض كل خيارات الصدفة: hsoub:~> set -o allexport off braceexpand on emacs ...

الدالة ()quote في Sass

تضيف الدالة quote()‎ علامات الاقتباس إلى سلسلة نصيَّة غير مٌقتبسة. إن كانت السلسلة مُقتبسة فستُعيدها الدالة دون تغيير. البنية العامة quote($string) المعاملات ‎$string سلسلة نصيَّة غير مقتبسة. القيم المعادة تُعاد السلسلة النصيَّة ‎$string بعد إضافة علامات الاقتباس إليها إن لم تكن موجودةً. الأخطاء والاستثناءات سيُرمى الخطأ ArgumentError إن لم يكن المعامل ‎$string سلسةً نصّيةً. أمثلة مثال نموذجي عن عمل الدالة quote()‎: quote("foo") // "foo" quote(foo) // "foo" انظر أيضًا الدالة unquote()‎: تزيل علامات الاقتباس من سلسلة نصية مُقتبسة. الدالة str_index()‎: تعيد موقع ...

إعادة التوجيه والحلقات في Bash

إعادة توجيه المُدخلات يمكن تحديد ملف به تعليمات تُستخدم للتحكم في حلقة تكرارية بدلًا من التحكم فيها عن طريق تفقد نتيجة أمر ما أو عن طريق تدخل المستخدم يدويًا، وعادة ما يُستخدم أمر read في هذه الحالة كأمر متحكِّم، ويستمر تنفيذ الحلقة طالما تُغذَّى الحلقة التكرارية بأسطر مدخلات من ذلك الملف، وبمجرد قراءة جميع الأسطر فإن الحلقة تتوقف وتخرج. وبما أن بنية الحلقة التكرارية تُعد بنية لأمر واحد (مثل while TEST-COMMAND; do CONSEQUENT-COMMANDS; done) فإن إعادة التوجيه يجب أن تحدث ...

مقدمة إلى if في Bash

قد تحتاج إلى تحديد سلاسل إجراءات مختلفة داخل برامج الصدفة (shell scripts) بناءً على نجاح تنفيذ أمر أو فشله، وتأتي أداة if الشرطية من أجل مثل تلك الحالات، وأصغر بنية لغوية لأمر if هي التالية: if TEST-COMMANDS; then CONSEQUENT-COMMANDS; fi تُنفَّذ قائمة أوامر الاختبار TEST-COMMANDS، ثم تُنفَّذ قائمة الأوامر التابعة CONSEQUENT-COMMANDS إن كانت حالة الإعادة لها هي صفر. وتكون حالة الإعادة هي حالة خروج آخر أمر تم تنفيذه، أو تكون صفرًا إن لم تتحقق أي حالة من أوامر الاختبار. يتضمن أمر ...

صدفة Bash وبرامج Bash

تعريف بصدفة Bash Bash هي صدفة نظام جنو التي تتوافق مع صدفة بورن وتزيد عليها بعدة مزايا وخصائص مفيدة من باقي الصدفات، وحين تبدأ الصدفة فإنها تقرأ ملفات إعداداتها التي من أهمها ما يلي: etc/profile/ bash_profile./~ bashrc./~ كذلك تتصرف bash بشكل مختلف حين تكون في وضع تفاعلي، وهي متوافقة مع معايير POSIX وبها وضع محظور. ويمكن تقسيم أوامرها إلى ثلاث مجموعات: دوال الصدفة والأوامر المُضمَّنة والأوامر الموجودة داخل مجلد في نظامك. أيضًا، تدعم bash أوامر مضمَّنة أخرى ليست موجودة داخل ...

مطابقة الأنماط باستخدام ميزات Bash

مدى المحارف Character Ranges خلافًا لأمر grep والتعابير النمطية (regular expressions) فإن لدينا حالات كثيرة لمطابقة الأنماط التي يمكنك إجراؤها في الصدفة مباشرة دون الحاجة إلى استخدام برنامج خارجي، فلعلك تعلم أن محرفي * و ? يطابقان أي نص أو محرف وحيد -على الترتيب-، ومن أجل مطابقة هذين المحرفيْن تحديدًا، ضع حول كل منهما علامات اقتباس مزدوجة: hsoub ~> touch "*" hsoub ~> ls "*" * يمكنك استخدام الأقواس المربعة لمطابقة أي محرف أو مجموعة محارف بداخل تلك الأقواس إن فُصلت أزواج المحارف ...

الإشارات في Bash

صفحة man للإشارات يحتوي نظامك على صفحة man بها كل الإشارات المتاحة، لكن قد يُفتح بطريقة مختلفة اعتمادًا على نظام تشغيلك، والطريقة التي ستجدها في أغلب أنظمة لينكس هي man 7 signal، لكن إن كنت في ريب من الأمر فحدد صفحة man والقسم الذي تريده بالضبط باستخدام أوامر مثل: man -k signal | grep list أو apropos signal | grep list ستجد أسماء الإشارات باستخدام kill -l. الإشارات إلى صدفة Bash الخاصة بك تتجاهل صدفة bash التفاعلية إشارتي SIGTERM و SIGQUIT في ...

حلقة for في Bash

كيفية عمل حلقة for التكرارية حلقة for هي أول وحدة تكرارية في الصدفة من بين ثلاث وحدات، وتسمح تلك الحلقة بتخصيص قائمة من القِيَم، وتُنفَّذ قائمة من الأوامر لكل قيمة من تلك القيم. والبنية اللغوية لهذه الحلقة التكرارية هي كالآتي: for NAME [in LIST ]; do COMMANDS; done إن لم تكن [ in LIST] موجودة فيتم استبدال @$ in بها، وتنفذ for الأوامر (COMMANDS) مرة واحدة لكل معامل موضعي مضبوط على قيمة، انظر المتغيرات في Bash وفحص وسائط سطر الأوامر. وتكون ...

الدوال في Bash

توفر الدوال طريقة سهلة لتجميع أوامر تحتاج إلى تنفيذها بشكل متكرر، وحين تعمل الدالة فإن المعامِلات الموضعية (positional parameter) تتغير إلى معامِلات الدالة، ثم يعاد ضبط تلك المعاملات بعد توقف الدالة إلى معاملات البرنامج المُستدعِي. وكذلك فإن الدوال تشبه برامج مصغرة (mini-scripts)، ومن ثَمَّ فإنها تولِّد رموز حالة خروج (exit codes) أو رموز حالة إعادة (return codes). مقدمة إلى الدوال في Bash نظرة عامة على الدوال في Bash والبُنى اللغوية لها ومعامِلاتها الموضعية وعرضها في الصدفة. أمثلة عن الدوال في ...

الأفخاخ في Bash

عام قد تجد حالات لا تريد فيها من يستخدم شيفراتك النصية أن يخرج قبل الوقت المحدد عن طريق اختصارات لوحة المفاتيح حين تحتاج إلى مدخلات مثلًا أو عند القيام بعملية تنظيف، ويمكن استخدام أمر trap ليلتقط إشارات لوحة المفاتيح تلك، ويمكن برمجته مسبقًا لينفِّذ قائمة أوامر عند التقاط تلك الإشارات. قواعد أمر trap واضحة ومباشرة: trap [الإشارات] [الأوامر] هذا يجعل أمر trap يلتقط الإشارات المُعطاة له، والتي قد تكون أسماء إشارات مع سابقة SIG أو بدونها، أو تكون أرقام إشارات. وإن ...

التوسعات في Bash

بعد تقسيم الأمر في Bash إلى وحدات (Tokens) -انظر وحدات البناء الأساسية في Bash، البنية اللغوية للصدفة- فإن تلك الوحدات توسَّع (expanded) أو تُستبيَن (resolved)، وسنفصّل الآن تلك التوسعات وفقًا لترتيب كل منها، ثم بعد إتمام جميع التوسعات تُنفّذ عملية حذف الاقتباسات. توسُّع القوس المعقوف {} توسع القوس المعقوف هو آلية يمكن من خلالها إنشاء نصوص عشوائية (arbitrary strings)، إذ تأخذ الأنماط (patterns) التي سيُنفَّذ عليها توسع القوس المعقوف باستهلال اختياري (optional preamble) متبوع بسلسلة من النصوص تفصل بين كل ...

Bash/Topics

صدفة Bash وبرامج Bash البرامج الشائعة للصَّدَفة وظائف الصدفة وما تفعله إضافة إلى أنواعها المختلفة (sh، bash، csh، ... ) مزايا صدفة Bash استعراض لأهم مزايا صدفة Bash، مثل الصور المختلفة لاستدعاءات الصدفة، والتعابير الحسابية والشرطية والصدفة المحظورة، وكذلك الأوامر البديلة والمصفوفات، ... . تنفيذ الأوامر في Bash توضيح لما يحدث عند تنفيذ الأوامر في صدفة Bash، واستعراض لأهم الأوامر المُضمَّنة فيها. وحدات البناء الأساسية شرح للوحدات الأساسية التي تشكل صدفة Bash، مثل الأوامر والدوال والمعامِلات والتوسعات والبنية اللغوية، إضافة ...

المتغيرات في Bash

أنواع المتغيرات تُكتب متغيرات الصدفة بحروف إنجليزية كبيرة، وتحتفظ Bash بقائمة من نوعين من المتغيرات: المتغيرات العامة Global Variables ستجد المتغيرات العامة أو متغيرات البيئة (environment variables) في جميع الصدفات، ويمكن استخدام أوامر env أو printenv لعرض متغيرات البيئة، وتأتي تلك البرامج في حزمة sh-utils. إليك مثالًا لخرج أمر printenv: wiki ~> printenv CC=gcc CDPATH=.:~:/usr/local:/usr:/ CFLAGS=-O2 -fomit-frame-pointer COLORTERM=gnome-terminal CXXFLAGS=-O2 -fomit-frame-pointer DISPLAY=:0 DOMAIN=hq.garrels.be e= TOR=vi FCEDIT=vi FIGNORE=.o:~ G_BROKEN_FILENAMES=1 GDK_USE_XFT=1 GDMSESSION=Default GNOME_DESKTOP_SESSION_ID=Default GTK_RC_FILES=/etc/gtk/gtkrc:/nethome/wiki/.gtkrc-1.2-gnome2 GWMCOLOR=darkgreen GWMTERM=xterm HISTFILESIZE=5000 history_control=ignoredups HISTSIZE=2000 HOME=/nethome/wiki HOSTNAME=hsoub.hq.garrels.be INPUTRC=/etc/inputrc IRCNAME=wiki JAVA_HOME=/usr/java/j2sdk1.4.0 LANG=en_US LDFLAGS=-s LD_LIBRARY_PATH=/usr/lib/mozilla:/usr/lib/mozilla/plugins LESSCHARSET=latin1 LESS=-edfMQ LESSOPEN=|/usr/bin/lesspipe.sh %s LEX=flex LOCAL_MACHINE=hsoub LOGNAME=wiki LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35: MACHINES=hsoub MAILCHECK=60 MAIL=/var/mail/wiki MANPATH=/usr/man:/usr/share/man/:/usr/local/man:/usr/X11R6/man MEAN_MACHINES=hsoub MOZ_DIST_BIN=/usr/lib/mozilla MOZILLA_FIVE_HOME=/usr/lib/mozilla MOZ_PROGRAM=/usr/lib/mozilla/mozilla-bin MTOOLS_FAT_COMPATIBILITY=1 MYMALLOC=0 NNTPPORT=119 NNTPSERVER=news NPX_PLUGIN_PATH=/plugin/ns4plugin/:/usr/lib/netscape/plugins OLDPWD=/nethome/wiki OS=Linux PAGER=less PATH=/nethome/wiki/bin.Linux:/nethome/wiki/bin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin:/usr/bin:/usr/sbin:/bin:/sbin:. PS1=\[\033[1;44m\]wiki is in \w\[\033[0m\] PS2=More input> PWD=/nethome/wiki SESSION_MANAGER=local/hsoub.hq.garrels.be:/tmp/.ICE-unix/22106 SHELL=/bin/bash SHELL_LOGIN=--login SHLVL=2 SSH_AGENT_PID=22161 SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass SSH_AUTH_SOCK=/tmp/ssh-XXmhQ4fC/agent.22106 START_WM=twm TERM=xterm TYPE=type USERNAME=wiki USER=wiki _=/usr/bin/printenv VISUAL=vi WINDOWID=20971661 XAPPLRESDIR=/nethome/wiki/app-defaults XAUTHORITY=/nethome/wiki/.Xauthority XENVIRONMENT=/nethome/wiki/.Xdefaults XFILESEARCHPATH=/usr/X11R6/lib/X11/%L/%T/%N%C%S:/usr/X11R6/lib/X11/%l/%T/%N%C%S:/usr/X11R6/lib/X11/%T/%N%C%S:/usr/X11R6/lib/X11/%L/%T/%N%S:/usr/X11R6/lib/X11/%l/%T/%N%S:/usr/X11R6/lib/X11/%T/%N%S XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB XMODIFIERS=@im=none XTERMID= XWINHOME=/usr/X11R6 X=X11R6 YACC=bison -y المتغيرات المحلية Local Variables لن تجد المتغيرات المحلية إلا في الصدفة الحالية، ويمكن استخدام أمر set -بدون خيارات- لعرض ...

المصفوفات في Bash

إنشاء المصفوفات المصفوفة هي متغير يحتوي قيمًا متعددة، وأي متغير قد يُستخدم كمصفوفة، كذلك لا يوجد حد أقصى لحجم المصفوفة ولا يُشترط أن تُفهرس المتغيرات داخل المصفوفة أو تُعيَّن في وقت واحد، وقد تكون المصفوفات صفرية القاعدة أي يُفهرس أول عنصر برقم صفر. ينفَّذ التصريح غير المباشر عن المتغير (indirect declaration) باستخدام البنية اللغوية التالية: ARRAY[INDEXNR]=value يعامَل المفهرِس INDEXER على أنه تعبير حسابي يجب أن يٌقدَّر بعدد موجب، ويتم التصريح الواضح (explicit declaration) للمصفوفة باستخدام أمر declare: declare -a ARRAYNAME يُقبَل التصريح ...

ميزات صدفة Bash

صدفة bash هي الصدفة الافتراضية لنظام جنو يوفّر مشروع GNU -إذ يشير الاسم إلى GNU's Not UNIX- أدواتٍ لإدارة النظم الشبيهة بنظام يونكس، وهي نظم التشغيل الحرة والمتوافقة مع معايير يونكس. وإحدى تلك الأدوات هي bash، صَدَفة متوافقة مع صدفة sh الأولى التي كتبها ستيفن بورن، وبها خصائص مفيدة من صدفتي Korn و C -اختصاراتهما ksh و csh على الترتيب-. وقد صُممت لتتوافق مع معيار IEEE POSIX P1003.2/ISO 9 945.2 للصدفات والبرامج.  كما أن بها مزايا محسّنة عن sh سواء ...

تنفيذ الأوامر في Bash

عام تحدد bash نوع البرنامج الذي يتم تنفيذه، وتكون البرامج هنا عادة أوامر للنظام في صورة مُجمّعة (compiled) على جهازك. وحين يتم تنفيذ أحد تلك البرامج، فإن bash تنشئ نسخة من نفسها، وتولد عملية جديدة بناء على ذلك، ويدعى ذلك الإجراء بالاشتقاق (forking). وتلك العملية الفرعية لديها نفس بيئة العملية الأصلية، ولا تختلفان إلا في رقم معرّف العملية (Process ID Number) لكل منهما. وتحِل بيانات العملية الجديدة محِل مساحة العنوان (address space) بعد الاشتقاق ، ويتم ذلك الإجراء من خلال ...

حلقة until في Bash

كيفية عمل حلقة until تشبه هذه الحلقةُ التكرارية حلقةَ while باستثناء أن الحلقة هنا تُنفَّذ إلى أن يُنفَّذ أمر اختباري TEST-COMMAND بنجاح، فتظل الحلقة عاملة طالما كان تنفيذ الأمر الاختباري يفشل. والبنية اللغوية لها تشبه البنية اللغوية لحلقة while : until TEST-COMMAND; do CONSEQUENT-COMMANDS; done وحالة الإعادة لهذه الحلقة هي نفسها حالة الخروج لآخر أمر يُنفَّذ من الأوامر التابعة CONSEQUENT-COMMANDS أو تكون صفرًا إن لم يُنفَّذ أي أمر. وقد يكون الأمر الاختباري TEST-COMMAND أي أمر يمكن أن يخرج بحالة نجاح أو فشل، ...

أنواع المتغيرات في Bash

التعيين العام للقيَم لم نركز كثيرًا في الشرح السابق لصدفة Bash على أنواع المتغيرات التي كنا نعيِّنها لأن Bash تستطيع التعامل مع أنواع متعددة من المتغيرات والمعامِلات، ونتيجة لذلك فإن متغيراتنا يمكنها احتواء أي نوع نختاره من البيانات، انظر المثال التالي للتوضيح: [hsoub in ~] VARIABLE=12 [hsoub in ~] echo $VARIABLE 12 [hsoub in ~] VARIABLE=string [hsoub in ~] echo $VARIABLE string وستكون حالات تريد فيها تجنب هذا السلوك من المثال السابق حين تتعامل مع أرقام الهواتف وغيرها مثلًا، وقد تحتاج أن تحدد متغيرًا ثابتًا (Constant ...

البُنى الشرطية في Bash

سنتعلم في هذا الباب كيف نبني سلاسل شرطية في برامجنا بحيث نستطيع اتخاذ إجراءات مختلفة بناء على نجاح الأوامر أو فشلها، وستُحدد تلك الإجراءات باستخدام عبارة if، وسيسمح هذا بتنفيذ مقارنات حسابية ونصية، واختبار رموز الخروج والمدخلات والملفات التي يحتاجها البرنامج. عادة ما يسبق الأوامر في برامج الصدفة اختبارُ if/then/fi لمنع إنشاء الخرج كي يعمل البرنامج في الخلفية أو من خلال أداة cron، أما الشروط الأكثر تعقيدًا فتوضع في عبارة case. ويخبر البرنامج الصدفة الأم عند نجاح اختبار الشرط باستخدام ...

المهام التكرارية في Bash

ستتعلم في هذا القسم كيف يمكن للأوامر المتكررة أن تندمج في حلقات تكرارية، وكيف تُبنى الحلقات التكرارية باستخدام عبارات for أو while أو until إحداها أو جميعها معًا، فحلقة for تنفذ مهمة ما عددًا محددًا من المرات، وإن كنت لا تعرف كم عدد مرات تنفيذ الأمر فاستخدم عبارة until أو while لتحديد متى يجب أن تتوقف الحلقة. ويمكن مقاطعة الحلقات أو إعادة تكرارها باستخدام عبارتي break و continue، كما يمكن استخدام ملف كمُدخَل لحلقة عبر معامل إعادة توجيه المدخلات، كذلك ...

التعابير النمطية في Bash

يلقي هذا الباب الضوء على المزايا المُضمَّنة في Bash لمطابقة الأنماط (patterns) والتعرف على فئات المحارف ومداها. إضافة إلى تفصيل للتعابير النمطية (Regular Expressions)، إذ هي أدوات قوية لاختيار أسطر بعينها من ملفات أو من مُخرج ما، وتستخدمها أوامر كثيرة في يونكس مثل vim و perl وقاعدة بيانات PotgreSQL وغيرها، كما يمكن إضافتها في أي لغة أو تطبيق باستخدام مكتبات خارجية، بل قد تجدها في أنظمة غير أنظمة يونكس، إذ يستخدمها برنامج Excel للجداول الذي يأتي في حزمة مكتب ويندوز. ...

التقاط الإشارات في Bash

قد تُرسل الإشارات إلى برامجك باستخدام أمر kill أو اختصارات على لوحة المفاتيح، ويمكن التقاط تلك الإشارات وتنفيذ أوامر بناءً على ذلك باستخدام أمر trap، ورغم أن بعض البرامج تتجاهل الإشارات إلا أن إشارة kill لا يمكن تجاهلها من أي برنامج. الإشارات في Bash نظرة عامة على الإشارات وإرسالها واستخدامها مع أمر kill. الأفخاخ في Bash نظرة عامة على الأفخاخ في Bash وكيف تفسرها الصدفة وأمثلة عليها.

حلقة while في Bash

كيفية عمل حلقة while تسمح حلقة while التكرارية بالتنفيذ المتكرر لقائمة أوامر طالما أن الأمر المتحكم في حلقة while يُنفَّذ بنجاح (حالة خروجه صفر). والبنية اللغوية لهذه الحلقة هي: while CONTROL-COMMAND; do CONSEQUENT-COMMANDS; done حيث يرمز CONTROL-COMMAND -وهو الأمر الذي سيتحكم في الحلقة- إلى أي أمر يخرج بحالة فشل أو نجاح، بينما قد تكون CONSEQUENT-COMMANDS -وهي الأوامر التي ستُكرَّر- أي برنامج أو برنامج للصدفة أو أحد بُنى الصدفة المختلفة. وتخرج الحلقة فور فشل الأمر المتحكِّم فيها، وإن كانت الحلقة في برنامج ...

تنقيح برامج Bash

التنقيح على مستوى البرنامج ككل حين تحدث مشكلة في البرنامج الذي كتبته فإنك في حاجة إلى وضع يدك على مكان المشكلة بالتحديد داخل الشيفرة، وتوفر Bash مزايا تنقيح شاملة لعل أشهرها هو بدء صدفة فرعية بخيار x- الذي سيبدأ الصدفة بالكامل في طور التنقيح، وستُطبَع آثار كل أمر إضافة إلى وسائطه (arguments) إلى خَرج قياسي (standard output) بعد توسيع الأوامر لكن قبل تنفيذها. الشيفرة التالية هي لبرنامج commented-script1.sh من مثال أساسيات كتابة برامج Bash، وقد استدعينا الصدفة في طور التنقيح ...

مقدمة إلى الدوال في Bash

ما هي الدوال؟ دوال الصدفة طريقة لتجميع أوامر من أجل تنفيذها لاحقًا باستخدام اسم واحد للمجموعة ككل أو روتين، ويجب أن يكون اسم الروتين فريدًا لا يتكرر في الصدفة أو الشيفرة النصية، وتُنفَّذ كل الأوامر التي تكوِّن الدالة مثل الأوامر العادية تمامًا. تُنفَّذ قائمة الأوامر المرتبطة باسم دالة حين تُستدعى تلك الدالة كأمر بسيط، وتُنفَّذ الدالة داخل الصدفة التي صُرِّح عنها فيها، فلا تُفتح عملية جديدة لتفسير الأوامر. وستظهر الأوامر الخاصة المُضمَّنة قبل دوال الصدفة أثناء البحث عن الأوامر، والأوامر ...

الأوامر البديلة في Bash

فائدة الأوامر البديلة يسمح الأمر البديل (Alias) بوضع كلمة واحدة مكان مقطع نصي (string)، وذلك إن استُخدم كأول كلمة من أمر بسيط، وتحتفظ الصدفة بقائمة من الأوامر البديلة التي يمكن ضبطها وإلغاء ضبطها بأمريْ alias و unalias. اكتب alias في سطر الأوامر لترى قائمة من الأوامر البديلة المعرَّفة للصدفة الحالية: hsoub: ~> alias alias ..='cd ..' alias ...='cd ../..' alias ....='cd ../../..' alias PAGER='less -r' alias Txterm='export TERM=xterm' alias XARGS='xargs -r' alias cdrecord='cdrecord -dev 0,0,0 -speed=8' alias e='vi' alias egrep='grep -E' alias ewformat='fdformat -n /dev/fd0u1743; ewfsck' alias fgrep='grep -F' alias ftp='ncftp -d15' alias ...

أمثلة عن الدوال في Bash

إعادة التدوير ستجد برامج كثيرة على نظامك تستخدم الدوال كطريقة منظمة لمعالجة سلسلة ما من الأوامر، ففي بعض أنظمة لينكس مثلًا ستجد الملف التعريفي etc/rc.d/init/functions/ يشار إليه كمصدر في كل شيفرات init النصية. وبهذا الأسلوب لا تحتاج إلى كتابة المهام المتكررة سوى مرة واحدة وبشكل عام أيضًا، مهام مثل تفقد ما إن كانت تعمل إحدى المهام، تشغيل أو إيقاف أحد العفاريت (daemons)، وهلم جرا. ثم إذا دعت الحاجة إلى كتابة تلك المهام مرة أخرى فإنك لا تحتاج سوى إعادة تدوير ...

العمليات على المتغيرات في Bash

العمليات الحسابية على المتغيرات ناقشنا العمليات الحسابية من قبل في التوسعات في Bash، انظر التوسع الحسابي. طول المتغير استخدم صيغة {VAR#}$ لحساب عدد المحارف في متغير ما، وإن كان VAR هو أحد المحرفيْن * أو @ فإن القيمة يحل محلها عدد المعامِلات الموضعية أو عدد العناصر داخل المصفوفة بشكل عام، انظر المثال التالي: [hsoub in ~] echo $SHELL /bin/bash [hsoub in ~] echo ${#SHELL} 9 [hsoub in ~] ARRAY=(one two three) [hsoub in ~] echo ${#ARRAY} 3 عمليات التحول في المتغيرات الإحلال Substitution {VAR:-WORD}$ إن لم ...

الحصول على مُدخلات المستخدم في Bash

استخدام أمر read أمر read هو الأمر المتمم لأمريْ echo و printf، وبنيته اللغوية كالتالي: read [options] NAME1 NAME2 ... NAMEN يُقرأ سطر واحد من المُدخل القياسي (standard input) أو من واصف ملف (file descriptor) أُدخِل كوسيط لخيار u-، وتُعيَّن أول كلمة من السطر لأول اسم NAME1، والثانية للاسم الثاني NAME2 وهكذا، ثم تُعيَّن الكلمات المتبقية وفاصلاتها المتداخلة (intervening seperators) إلى الاسم الأخير NAMEN، أما إن كانت الكلمات المقروءة من مجرى الدخل أقل من الأسماء فتعيَّن قيم فارغة لتلك الأسماء. تُستخدم ...

التعابير النمطية وأمثلة عن استخدام grep

التعابير النمطية Regular Expressions التعبير النمطي (Regular Expression) هو أسلوب يصف مجموعة من النصوص (strings)، وتُبنى تلك التعابير النمطية بشكل تناظري للتعابير الحسابية (arithmetic expressions) باستخدام عدة معامِلات لدمج التعابير الأصغر. وأصغر وحدة بنائية للتعابير النمطية هي تلك التي تطابق محرفًا واحدًا، ذلك أن أغلب المحارف -بما في ذلك كل الحروف والأرقام- ما هي إلا تعابير نمطية تطابق أنفسها، ويمكن اقتباس أي محرف خاص (metacharacter) له معنىً خاص بسبْقِه بشرطة مائلة خلفية \. المحارف الخاصة للتعابير النمطية يمكن إتْباع التعبير ...

كتابة وتنقيح برامج Bash

برنامج الصدفة هو سلسلة من الأوامر يعاد استخدامها بشكل متكرر، ووُضعت في ملف نصي له إذن تنفيذ كبرنامج، ويمكن استخدام أي محرر نصي لكتابة برامج لصدفة Bash. تبدأ برامج bash بـ !# متبوعيْن بمسار الصفة التي ستنفذ الأوامر التي ستُكتب في البرنامج، وتضاف التعليقات إلى البرنامج للمرجعية فيما بعد ولتيسير فهم الشيفرة على من يقرؤها. يُفضل الإسهاب في التعليقات داخل برامج الصدفة على الإيجاز فيها. تُنقَّح الصدفة باستخدام خيارات الصدفة، ويمكن استخدام تلك الخيارات للتنقيح الجزئي أو لتحليل الشيفرة كاملة، ...

الخاصية content

الخاصية content في CSS تُستخدَم مع العنصرين الزائفين ‎::before و ‎::after لتوليد محتوى في العنصر. بطاقة الخاصية القيمة الابتدائية normal تُطبَّق على العنصرين الزائفين ‎::before و ‎::after. قابلة للوراثة لا قابلة للحركة لا القيمة المحسوبة ستكون القيمة هي normal دومًا إذا طُبِّقت هذه الخاصية على العناصر العادية. وإذا كانت القيمة normal وطُبِّقَت على العنصرين الزائفين ‎::before و ‎::after فستكون القيمة المحسوبة هي none. إذا استخدمنا روابط URL النسبية فستحوِّل إلى روابط مطلقة. إذا استخدمنا الدالة attr(x)‎ فستحوِّل القيمة إلى سلسلة نصية. ...

القيمة

نوع البيانات <string> في CSS يُمثِّل سلسلةً من المحارف، ويمكن استخدام السلاسل النصية في الكثير من خاصيات CSS، مثل content و font-family و quotes. دعم المتصفحات الميزة Chrome Firefox Internet Explorer Opera Safari الدعم الرئيسي 1.0 1.0 6.0 مدعومة 1.0 الشكل العام السلاسل النصية <string> تتألف من أيّ عدد من محارف يونيكود محاطةً بعلامتَي اقتباس مزدوجتين " أو مفردتين '. أغلبية المحارف تُمثَّل كما أُدخِلَت، ويمكن تمثيل المحارف أيضًا باستخدام رموز محارف يونيكود بالنظام الست عشري، وذلك بوضع شرطة خلفية ...

المزيد حول المتغيرات في Bash

يمكن للمتغير أن يحتوي أي نوع من البيانات ما لم يُصرح بخلاف ذلك بوضوح، وتُضبط المتغيرات الساكنة (Constant Variables) باستخدام أمر readonly. وتحتوي المصفوفة على مجموعة من المتغيرات، وإن صُرح بنوع معين من البيانات لتلك المصفوفة فإن جميع العناصر داخلها ستُضبط على احتواء ذلك النوع فقط من البيانات. كذلك تسمح مزايا Bash بإحلال وتحويل المتغيرات بسرعة، وتتضمن العمليات القياسية حساب طول المتغير والتوسعات الحسابية عليه وإحلال محتواه أو جزء من محتواه. أنواع المتغيرات في Bash شرح للقيم العامة للمتغيرات والمتغيرات ...

أساسيات كتابة برامج Bash

في أي صدفة سيعمل البرنامج؟ يجب أن تحدد الصدفة التي ستنفِّذ البرنامج إذا أردت تنفيذه في صدفة فرعية، فقد لا تكون الصدفة التي كتبت فيها البرنامج هي الصدفة الافتراضية لنظامك، وعليه قد تُنتِج أوامر برنامجك أخطاءً عند تنفيذها في الصدفة الخطأ. يحدد أول سطر في البرنامج نوع الصدفة، ويجب أن يكون أول محرفين في ذلك السطر !#، ثم يتلو ذلك مسار الصدفة التي ستنفِّذ البرنامج. كذلك لا تبدأ برنامجك بسطر فارغ إذ تُقرأ الأسطر الفارغة على أنها أسطر أيضًا، وستبدأ ...

ملفات تهيئة الصدفة

ملفات الإعدادات على مستوى النظام System-wide Configuration files الملف etc/profile/ تقرأ Bash التعليمات الموجودة في etc/profile/ إن استدعيْت بشكل تفاعلي عبر خيار login-- أو إن استدعيْت كـ sh ، تضبط تلك التعليمات عادة المتغيرات PATH - USER - MAIL - HOSTNAME - HISTSIZE ، وهي متغيرات تابعة للصدفة. كذلك تُضبط قيمة umask في etc/profile/ على بعض الأنظمة، أما في بعضها الآخر فإن هذا الملف يحتوي على موجّهات (pointers) لملفات الإعدادات الأخرى مثل: ملف etc/inputrc/ ، وهو ملف تهيئة على مستوى ...

البرامج الشائعة للصَّدَفة

الوظائف العامة للصدفة يفسر برنامج صَدَفة يونكس أوامر المستخدم التي يدخلها بنفسه أو التي يمكن استخراجها وقراءتها من ملف نصي يسمى شيفرة الصَّدَفة النصية (shell script) أو برنامج الصدفة (shell program). وتكون تلك الملفات النصية مفسّرة (interpreted) على خلاف الملفات المُجمّعة (compiled)، بمعنى أن الصدفة تقرأ الأوامرَ سطرًا سطرًا وتبحث عنها في النظام، على خلاف البرامج المُجمَّعة التي يحوِّل المُجمِّع (compiler) شيفرتها إلى ملف تنفيذي (executable file) مكتوب بلغة يستطيع الحاسوب فهمها -لغة الآلة-، ثم يُمكن استخدام ذلك الملف بعدها ...

تطوير برامج Bash جيدة

خصائص الشيفرات الجيدة هذا الشرح عن آخر وحدة بناء للصدفة وهي الشيفرات النصية. إليك بعض الأمور التي يجب أن تراعيها قبل أن نكمل: يجب أن تعمل الشيفرة بدون أخطاء. يجب أن تنفذ المهمة التي كُتبت لها. يجب أن يكون منطق البرنامج محددًا وظاهرًا. لا تنفذ الشيفرة مهامًا غير ضرورية. ينبغي أن تكون الشيفرة قابلة لإعادة استخدامها. الهيكل Structure يجب أن يكون هيكل شيفرة الصدفة مرنًا للغاية، فرغم أن bash بها حرية ظاهرة، إلا أنه يجب تحقيق منطق صحيح وتحكم في ...

كتابة برامج Bash تفاعلية

سنتعلم في هذا القسم كيف نُدخل تعليقات المستخدم وكيف نطلب من المستخدم إدخال بيانات، وذلك عادة باستخدام بُنية echo/read، كما سنناقش كيف يمكن استخدام الملفات كمُدخلات ومخرجات باستخدام واصفات الملفات وإعادة التوجيه، وكيف يمكن جمع ذلك مع الحصول على مُدخلات من المستخدم. ويركز هذا الباب أيضًا على أهمية توفير رسائل مفصلة لمن يستخدم برامج الصدفة التي نكتبها، فمن الأفضل أن تعطي معلومات أكثر من اللازم بدلًا من كتابة توثيق موجز. مستندات Here هي إحدى أنواع بُنى الصدفة التي تسمح بإنشاء ...

عرض رسائل المستخدم في Bash

برامج تفاعلية أم غير تفاعلية؟ تعمل بعض برامج الصدفة (shell scripts) دون أي تدخل من المستخدم ويطلق عليها برامج غير تفاعلية، ومن بعض مزايا تلك البرامج أنها تعمل بشكل متوقع في كل مرة، ويمكنها العمل في الخلفية أيضًا. لكن باقي برامج الصدفة تحتاج إدخالًا من المستخدم أو تحتاج أن تطبع رسائل للمستخدم أثناء عملها، ولذلك النوع من البرامج مزايا كذلك، إذ يمكن بناء برامج أكثر مرونة، ويمكن للمستخدم تخصيص البرنامج أثناء تشغيله أو جعله يتصرف بأشكال مختلفة، كما يمكن للبرنامج ...

إنشاء وتشغيل برنامج Bash

الكتابة والتسمية إن كان لديك سلسلة أوامر تنفذها بشكل متكرر وتريد اختصار وقت تنفيذها أو تنفيذها بشكل آلي، فيمكنك وضعها في ملف فارغ يكتب بصيغة معينة وتقرؤه الصدفة على أنه برنامج تنفذه عند استدعاءه بكتابة اسم الملف الذي يحويه، وتسمى تلك البرامج ببرامج الصدفة أو شيفرات الصدفة النصية (Shell Scripts). ويمكن استخدام تلك البرامج لأتمتة المهام باستخدام أداة cron أو في إجراءات الإقلاع وإيقاف التشغيل في أنظمة يونكس، حيث يُحدَّد أسلوب عمل العفاريت (daemons) والخدمات في شيفرات init النصية (init ...

الصنف ‎:lang()‎

الصنف الزائف ‎:lang()‎ في CSS (أي pseudo-class) يطابق العناصر اعتمادًا على لغة تلك العناصر. هذا المُحدِّد يُحدِّد أيّة عناصر <p> مكتوبة باللغة الإنكليزية: p:lang(en) { quotes: '\201C' '\201D' '\2018' '\2019'; } لاحظ أنَّ اللغة في مستندات HTML تُحدَّد عبر الخاصية lang، والعنصر <meta>، وقد تؤخذ معلومات من البروتوكول (مثل ترويسات HTTP). الشكل العام لهذا المحدد: :lang( <language-code> ) حيث <language-code> هي سلسلة نصية <string> تُمثِّل اللغة التي تريد تحديد العناصر المكتوبة فيها، والقيم المسموحة مُعرَّفة في مواصفة BCP 47. أمثلة استخدمنا الصنف ...

استخدام الأمر المُضمَّن Shift في Bash

وظيفة أمر shift هو أحد أوامر صدفة بورن التي تأتي مع صدفة Bash أيضًا، ويأخذ هذا الأمر وسيطًا (argument) واحدًا ويكون ذلك الوسيط رقمًا، وتُنقل المعامِلات الموضعية إلى اليسار بمقدار هذا الرقم "N"، أما المعامِلات التي تلي ذلك، من 1+N وما بعده إلى #$ فإن أسماءها تُغيَّر إلى أسماء متغيرات من 1$ إلى #$ +1 - N. فمثلًا لنقل أن لديك أمرًا يأخذ عشرة وسائط، وN تساوي 4، إذًا 4$ تصبح 1$، و 5$ تصبح 2$ وهكذا إلى أن تصل ...

الدالة cgi.escape()‎‎ في بايثون

تحوّل الدالة الحروف '&' و '>' و '<' في السلسلة النصية المعطاة إلى تسلسل حروف آمن في HTML. تُستخدم هذه الدالة لعرض النصوص التي قد تحتوي على مثل هذه المحارف. ملاحظة: هذه الدالة مهملة منذ الإصدار 3.2 من بايثون. هذه الدالة غير آمنة لأنّ المعامل quote يحمل قيمة خاطئة افتراضيًا. استخدم الدالة html.escape()‎ عوضًا عنها. البنية العامة cgi.escape(s, quote=False) المعاملات s السلسلة النصية التي ستحول الدالة حروفها إلى تسلسل حروف آمن في HTML. ‎quote معامل اختياري، إن أخذ قيمة صحيحة ...

إنشاء قوائم باستخدام الأمر المُضمَّن select في Bash

عام استخدام أمر select البُنية اللغوية لأمر select تشبه بُنية حلقة for: select WORD [in LIST]; do RESPECTIVE-COMMANDS; done ويُستخدم أمر select من أجل إنشاء قوائم بسهولة عبر اتباع ما يلي: تُوسّع القائمة LIST مولِّدة قائمة من العناصر ويطبع التوسع في خطأ قياسي (standard error)، كما يُسبق كل عنصر من القائمة برقم. وإن لم تكن in LIST موجودة فتُطبع المعامِلات الموضعية كما لو تم تحديد @$ in. أيضًا، تُطبع قائمة LIST مرة واحدة فقط. يُطبع محث PS3 عند طباعة كل العناصر، ...

استخدام البُنية case

حالات مُبسطة قد يكون من السهل اللجوء إلى استخدام عبارات if لبداهة أسلوبها، لكن تلك السهولة تنقلب إلى حيرة حين تواجه بضعة اختيارات مختلفة لإجراءات محتملة يجب اتخاذها، ولمثل تلك الحالات نستخدم عبارة case، وبنيتها اللغوية هي كما يلي: case EXPRESSION in CASE1) COMMAND-LIST;; CASE2) COMMAND-LIST;; ... CASEN) COMMAND-LIST;; esac وتطابق كل حالة في التعبير السابق نمطًا (pattern)، وتُنفَّذ الأوامر التي في قائمة COMMAND-LIST لأول تطابق، ويُستخدم محرف الأنبوب | لفصل الأنماط المتعددة، وينهي معامِل ( قائمة الأنماط، ويُطلق اسم البند ...

الصنف Regexp في روبي

تمثل كائنات الصنف Regexp التعابير النمطية التي تُستخدم لمطابقة نمط (pattern) معيّن في سلسلة نصية. تُنشَأ التعابير النمطية باستخدام الصياغتين /.../ و ‎%r{...}‎، أو باستعمال الباني new. التعابير النمطية هي أنماط تصف محتويات السلسلة النصية. يمكن استخدامها للتحقق من أنّ سلسلة نصية تحتوي على نمط معين، أو لاستخراج الأجزاء المُطابقة منها. عادةً ما يتم تحديد التعبير النمطي بخط مائل (/) كما يوضح المثال التالي: /hay/ =~ 'haystack' #=> 0 /y/.match('haystack') #=> #<MatchData "y"> ‎ إذا احتوت سلسلة نصية على النمط، فسيقال ...

الاستخدامات المتقدمة لعبارة if الشرطية في Bash

بُنى if/then/else يوضح المثال التالي البُنية التي يجب استخدامها لاتخاذ إجراء أو سلسلة إجراءات إن تحققت شروط عبارة if، وسلسلة إجراءات أخرى إن لم تتحقق: hsoub scripts> gender="male" hsoub scripts> if [[ "$gender" == "f*" ]] More input> then echo "Pleasure to meet you, Madame." More input> else echo "How come the lady hasn't got a drink yet?" More input> fi How come the lady hasn't got a drink yet? hsoub scripts> الفرق بين [] و [[]] على عكس ]، فإن ]] تمنع انقسام الكلمات في ...

الدالة urllib.parse.urlencode()‎‎ في بايثون

تحوّل الدالة كائن ربط mapping object أو تسلسلًا من صفوف ذات عنصرين، والتي قد تحتوي على كائنات str أو bytes إلى سلسلة نصية مرمّزة بالنسبة المئوية ضمن الترميز ASCII. إن كان المطلوب استخدام السلسلة النصية الناتجة كبيانات لعمليات من نوع POST في الدالة urlopen()‎ فيجب ترميز قيمة المعامل إلى بايتات، وإلّا فإنّ النتيجة ستكون الحصول على الاستثناء TypeError. البنية العامة urllib.parse.urlencode(query, doseq=False, safe='', encoding=None, errors=None, quote_via=quote_plus) ‎المعاملات query إن استخدم تسلسل من صفوف ذات عنصرين كقيمة للمعامل query، فيجب أن ...

التابع Regexp.quote‎ في روبي

يهرِّب التابع quote أي محرف قد يكون له معنى خاص في التعبير النمطي ثم يُعيد سلسلة نصية جديدة مهرَّبة، أو يعيد الكائن الذي استُدعي معه (self) إذا لم يتم تهريب أي محرف. لكل سلسلة نصية str، ستكون قيمة التعبير Regexp.new(Regexp.escape( str ))=~ str مساوية للقيمة true. البنية العامة quote(str) → string‎ المعاملات str‎ سلسلة نصية يراد تهريبها. القيمة المعادة تعاد سلسلة نصية جديدة مهرَّبة، أو يعاد الكائن المعطى نفسه إذا لم يتم تهريب أي محرف. أمثلة مثال على استخدام التابع quote‎: ...

الدالة urllib.parse.quote()‎‎ في بايثون

تستبدل الدالة الحروف الخاصة في السلسلة النصية المعطاة باستخدام علامة التهريب ‎%xx. البنية العامة urllib.parse.quote(string, safe='/', encoding=None, errors=None) ‎المعاملات safe يحدّد هذا المعامل محارف ASCII الإضافية التي يجب على الدالة أن لا تحيطها بعلامات اقتباس. يحمل هذا المعامل القيمة الافتراضية '/'. string يمكن أن يكون سلسلة نصية أو كائن bytes. ملاحظة: اعتُمد المعيار RFC 3986 عوضًا عن المعيار RFC 2396 لاقتباس سلاسل URL النصية في الإصدار 3.7 من بايثون، وقد أضيف الرمز "~" إلى مجموعة المحارف المحجوزة. encoding و errors ...

الدالة urllib.parse.quote_plus()‎‎ في بايثون

هذه الدالة مشابهة للدالة quote()‎ ولكنّها تستبدل المسافات الفارغة بعلامات +، وهذا هو المطلوب لاقتباس قيم نماذج HTML عند بناء سلاسل الاستعلام النصية التي ستُستخدم في عنوان URL. البنية العامة urllib.parse.quote_plus(string, safe='', encoding=None, errors=None) ‎المعاملات safe يحدّد هذا المعامل محارف ASCII الإضافية التي يجب على الدالة أن لا تحيطها بعلامات اقتباس. تُهرّب علامات + في السلسلة النصية الأصلية إلا إذا أدرجت كقيمة للمعامل safe. لا يأخذ المعامل safe القيمة الافتراضية '/' كما هو الحال مع الدالة quote()‎. string يمكن أن ...

الدالة urllib.parse.quote_from_bytes()‎‎ في بايثون

هذه الدالة مشابهة للدالة quote()‎ ولكنّها تستقبل كائنات bytes عوضًا عن كائنات str، ولا تؤدي عمليات الترميز من السلاسل النصية إلى البايتات. البنية العامة urllib.parse.quote_from_bytes(bytes, safe='/') ‎المعاملات bytes كائن bytes. safe يحدّد هذا المعامل محارف ASCII الإضافية التي يجب على الدالة أن لا تحيطها بعلامات اقتباس. يأخذ هذا المعامل القيمة الافتراضية '/'. أمثلة يبين المثال التالي طريقة عمل الدالة: >>> import urllib.parse >>> urllib.parse.quote_from_bytes(b'a&\xef') 'a%26%EF' انظر أيضًا الدالة urllib.parse.quote()‎: تستبدل الدالة الحروف الخاصة في السلسلة النصية المعطاة باستخدام علامة التهريب ‎%xx. الدالة ...

الدالة urllib.parse.unquote_to_bytes()‎‎ في بايثون

تستبدل الدالة الحروف المهرّبة بالصيغة ‎%xx إلى القيمة الثمانية المفردة المقابلة لها، وتعيد كائن bytes. البنية العامة urllib.parse.unquote_to_bytes(string) ‎المعاملات string يجب أن يكون سلسلة نصية أو كائن bytes. إن كانت قيمة هذا المعامل سلسلة نصية، فإنّ الحروف غير المهرّبة والتي تكون خارج نطاق الترميز ASCII سترمّز إلى بايتات في الترميز UTF-8. أمثلة يبين المثال التالي طريقة عمل الدالة: >>> import urllib.parse >>> urllib.parse.unquote_to_bytes('a%26%EF') b'a&\xef' انظر أيضًا الدالة urllib.parse.quote()‎: تستبدل الدالة الحروف الخاصة في السلسلة النصية المعطاة باستخدام علامة التهريب ‎%xx. الدالة urllib.parse.quote_plus()‎: ...

الأمران Break و Continue

أمر Break تُستخدم عبارة Break للخروج من الحلقة التكرارية الحالية قبل موعد خروجها الأصلي، ويحدث هذا في الحالات التي لا تعرف فيها عدد المرات التي يجب أن تنفذها الحلقة، كأن تعتمد على إدخال المستخدم مثلًا. يوضح المثال التالي حلقة while يمكن مقاطعتها، وهو مثال مُطوَّر من برنامج wisdom.sh من المثال المشروح في استخدام مُدخلات لوحة المفاتيح للتحكم في حلقة while : #!/bin/bash # هذا البرنامج يطبع أمثالًا ونصائح # يمكنك الخروج الآن بطريقة أفضل. FORTUNE=/usr/games/fortune while true; do echo "On which topic do you want advice?" echo ...

CSS/Topics/Generated Content

الخاصية الوصف content تُستخدَم مع العنصرين الزائفين ‎::before و‎::after لتوليد محتوى في العنصر. quotes تُشير إلى الطريقة التي يجب أن يعرض فيها المتصفح علامات الاقتباس.

العنصر

يُشير العنصر <q> إلى أنَّ النص المحتوى فيه يُمثِّل اقتباسًا قصيرًا، ويستعمل هذا العنصر للاقتباسات التي لا تحتاج إلى فقرة كاملة لها، أما للاقتباسات الطويلة فاستخدم العنصر <blockquote>. مثال عن استخدام العنصر <q>: <p> وفقًا لموقع شركة حسوب: <q cite="https://www.hsoub.com/"> نعمل لنمكّن الشباب ونفتح مزيدًا من الفرص أمامهم. نحن حسوب. </q> </p> بطاقة العنصر تصنيفات المحتوى عنصر تنظيمي أو عنصر عادي. المحتوى المسموح محتوى عادي. الوسم المختصر لا يمكن حذف أيّ من وسمَي البداية أو النهاية. العناصر ...

الدالة urllib.parse.unquote_plus()‎‎ في بايثون

هذه الدالة مشابهة للدالة unquote()‎ ولكنّها تستبدل علامات + بالمسافات البيضاء، وهذا هو المطلوب عند إلغاء الاقتباس من قيم نماذج HTML. البنية العامة urllib.parse.unquote_plus(string, encoding='utf-8', errors='replace') ‎المعاملات string السلسلة النصية المراد فكّ ترميزها. encoding و errors يحدّد هذان المعاملان الاختياريان طريقة فكّ ترميز التسلسلات المرمّزة بترميز النسبة المئوية إلى حروف يونيكود، وبنفس الطريقة المتّبعة في التابع bytes.decode()‎. يأخذ المعامل encoding القيمة الافتراضية ‎'‎utf-8'‎، أما المعامل 'errors' فيأخذ القيمة الافتراضية 'replace' والتي تعني أن التسلسلات غير الصالحة للاستخدام ستُستبدل بحروف أخرى. ...

الدالة urllib.parse.unquote()‎‎ في بايثون

تحوّل الدالة الحروف المهرّبة بالصيغة ‎%xx إلى الحروف الأصلية المكافئة لها. البنية العامة urllib.parse.unquote(string, encoding='utf-8', errors='replace') ‎المعاملات string السلسلة النصية المراد فكّ ترميزها. encoding و errors يحدّد هذان المعاملان الاختياريان طريقة فكّ ترميز التسلسلات المرمّزة بترميز النسبة المئوية إلى حروف يونيكود، وبنفس الطريقة المتّبعة في التابع bytes.decode()‎. يأخذ المعامل encoding القيمة الافتراضية ‎'‎utf-8'‎، أما المعامل 'errors' فيأخذ القيمة الافتراضية 'replace' والتي تعني أن التسلسلات غير الصالحة للاستخدام ستُستبدل بحروف أخرى. أمثلة يبين المثال التالي طريقة عمل الدالة: >>> import urllib.parse >>> ...

String.prototype.charAt()‎

الدالة String.prototype.charAt()‎ تُعيد سلسلةً نصيةً جديدةً التي تساوي قيمتها قيمة محرف يونيكود الموجود في الفهرس المُحدَّد في السلسلة النصية. البنية العامة character = str.charAt(index) index عدد صحيح بين 0 و length -1. وإذا لم توفَّر قيمة لهذا الوسيط، فالقيمة الافتراضية هي 0، لذا سيُعاد أوّل محرف في السلسلة النصية. القيمة المعادة سلسلة نصية تُمثِّل المحرف الموجود عند الفهرس المُحدَّد، وإذا كانت قيمة الوسيط index خارج المجال المتاح فستُعاد سلسلة نصية فارغة. الوصف تُرقَّم المحارف في السلاسل النصية حسب اتجاه النص ...

Python/pathlib/Path/is char device

التابع PurePath.is_char_device في بايثون يعيد هذا التابع القيمة المنطقية True إذا كان المسار يشير إلى character device (أو إلى اختصار يشير إلى character device)، بينما يعيد False في حال كان المسار يشير إلى أي نوع آخر من الملفات. البنية العامة المعاملات بدون معاملات القيمة المعادة يعيد هذا التابع القيمة المنطقية True إذا كان المسار يشير إلى character device (أو إلى اختصار يشير إلى character device)، بينما يعيد False في حال كان المسار يشير إلى أي نوع آخر من الملفات. أمثلة ...

الدالة urllib.request.pathname2url()‎‎ في بايثون

تحوّل الدالة المسار المعطى من الصيغة المستخدمة في المسارات المحلية إلى الصيغة المستخدمة في عناوين URL. لا تنتج الدالة عنوان URL كاملًا. تكون النتيجة المعادة محاطة بعلامات الاقتباس وذلك باستخدام الدالة quote()‎. البنية العامة urllib.request.pathname2url(path) المعاملات path المسار المراد تحويله. أمثلة يبين المثال التالي طريقة عمل الدالة: >>> import urllib.request >>> urllib.request.pathname2url('main/images/big_title.png') 'main/images/big_title.png' >>> urllib.request.pathname2url('main/images/big title.png') 'main/images/big%20title.png' مصادر صفحة Extensible library for opening URLs في توثيق بايثون الرسمي.

التابع Cursor.executemany()‎ في بايثون

ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في تسلسل المعاملات المعطى. البنية العامة executemany(sql, seq_of_parameters) ‎المعاملات sql سلسلة نصية تتضمن جمل SQL المراد تنفيذها. seq_of_parameters ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في التسلسل seq_of_parameters. تسمح وحدة sqlite3 كذلك باستخدام مكرِّر ينتج معاملات بدلًا عن إنتاج تسلسل. أمثلة يبين المثال التالي طريقة استخدام التابع: import sqlite3 class IterChars: def __init__(self): ...

 التابع ENV.to_a في روبي

يحول التابع to_a متغيرات البيئة إلى مصفوفة مكونة من مصفوفات فرعية تضم أسماء وقيم تلك المتغيرات. البنية العامة to_a → Array القيمة المعادة تُعاد مصفوفة مكونة من مصفوفات فرعية تضم أسماء وقيم متغيرات البيئة. أمثلة مثال عن استخدام التابع to_a: ENV.to_a # => [["TERM", "xterm-color"], ["SHELL", "/bin/bash"], ...] انظر أيضًا التابع to_h: ينشئ جدولًا من النوع Hash يحوي نسخةً من متغيرات البيئة.  التابع to_s: يعيد السلسلة النصية “ENV”. مصادر قسم التابع to_a في الصنف ENV في توثيق روبي الرسمي.

التابع Regexp.escape‎ في روبي

يهرِّب التابع escape أي محرف يمكن أن يكون له معنى خاص في التعبير النمطي ثم يعيد سلسلة نصية جديدة مهرَّبة، أو يعيد الكائن الذي استُدعي معه (self) في حال عدم تهريب أي محرف. لكل سلسلة نصية str، ستكون قيمة التعبير Regexp.new(Regexp.escape( str ))=~ str مساوية للقيمة true. البنية العامة escape(str)→ string‎ المعاملات str‎ السلسلة النصية المراد تهريبها. القيمة المعادة تعاد سلسلة نصية جديدة مهرَّبة، أو يعاد الكائن الذي استُدعي معه (self) في حال عدم تهريب أي محارف. أمثلة مثال على استخدام ...

الدالة csv.unregister_dialect()‎‎ في بايثون

تحذف الدالة اللهجة المرتبطة بالاسم المعطى من سجلّ اللهجات. البنية العامة csv.unregister_dialect(name) ‎ المعاملات name اسم اللهجة المراد حذفها من سجلّ اللهجات. القيمة المعادة تحذف الدالة اللهجة المرتبطة بالاسم المعطى من سجلّ اللهجات. تطلق الدالة استثناءً إن كان الاسم المعطى غير موجود في سجلّ اللهجات. أمثلة يبين المثال التالي آلية عمل التابع: >>> import csv >>> csv.register_dialect('unixpwd', delimiter=':', quoting=csv.QUOTE_NONE) >>> csv.get_dialect('unixpwd') >>> csv.unregister_dialect('unixpwd') >>> انظر أيضًا الدالة csv.register_dialect()‎: تربط الدالة اللهجة المعطاة بالاسم المحدّد.. الدالة csv.get_dialect()‎: تعيد الدالة اللهجة المرتبطة بالاسم المعطى. الدالة csv.list_dialects()‎: ...

الوحدة csv‎‎ في بايثون

تعد صيغة CSV (القيم المفصولة بفاصلة Comma Separated Values) أكثر صيغ الملفات شيوعًا والتي تستخدم لتصدير واستيراد البيانات من جداول البيانات spreadsheets وقواعد البيانات. وقد استخدمت هذه الصيغة لفترة طويلة قبل أي محاولة لوصف هذه الصيغة بطريقة معيارية عبر المعيار RFC 4180. إن غياب معيار محدّد ومعروف يعني وجود اختلافات طفيفة بين البيانات التي الناتجة أو المستخدمة من قبل التطبيقات المختلفة، ما يجعل من التعامل مع ملفات CSV القادمة من مصادر مختلفة أمرًا مزعجًا في بعض الأحيان. وعلى الرغم من ...

الدالة isIdentifierIgnorable()‎ في Kotlin

تتحقق الدالة isIdentifierIgnorable()‎ إن كان المحرف الذي استٌدعي معها محرفًا قابلًا للإهمال (ignorable character) في مُعرِّفات جافا (Java identifier) أو معرِّفات الترميز الموحَّد (Unicode identifier). البنية العامة inline fun Char.isIdentifierIgnorable(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى محرفًا قابلًا للإهمال (ignorable character) في مُعرِّفات جافا (Java identifier) أو معرِّفات الترميز الموحَّد (Unicode identifier)، أو تعاد القيمة false ...

الدالة isIdentifierIgnorable()‎ في Kotlin

تتحقق الدالة isIdentifierIgnorable()‎ إن كان المحرف الذي استٌدعي معها محرفًا قابلًا للإهمال (ignorable character) في مُعرِّفات جافا (Java identifier) أو معرِّفات الترميز الموحَّد (Unicode identifier). البنية العامة inline fun Char.isIdentifierIgnorable(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى محرفًا قابلًا للإهمال (ignorable character) في مُعرِّفات جافا (Java identifier) أو معرِّفات الترميز الموحَّد (Unicode identifier)، أو تعاد القيمة false ...

Document.characterSet

الخاصّية Document.characterSet القابلة للقراءة فقط تعيد ترميز المحارف (character encoding) الخاصّ بالمُستند الحالي. ترميز المحارف هو مجموعة المحارف (character set) المُستخدمة لعرض المُستند، والذي يُمكن أن يُغايِر الترميز المُعيَّن من طرف الصّفحة (يُمكن للمُستخدم أن يغيّر ترميز المحارف). الخاصّيتان document.charset و document.inputEncoding هما اسمان مُستعاران قديمان للخاصية document.characterSet لا تستعمل أيّا منهما بعد الآن. البنية العامة var string = document.characterSet مثال <button onclick="console.log(document.characterSet);"> Show character set </button> <!-- يعرِضُ طقم الأحرُف، مثل "ISO-8859-1" أو "UTF-8" --> دعم المتصفحات الميزة Chrome Edge ...

الدالة isNotBlank()‎ في Kotlin

تتحقق الدالة isNotBlank()‎ إن كانت سلسلة المحارف التي استٌدعيت معها غير فارغة وتحوي على الأقل محرفًا واحدًا غير محارف المسافة البيضاء (whitespace characters). البنية العامة inline fun CharSequence.isNotBlank(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كانت سلسلة المحارف التي استٌدعيت معها غير فارغة وتحوي على الأقل محرفًا واحدًا غير محارف المسافة البيضاء، أو تعاد القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isNotBlank()‎: ...

الدالة isBlank()‎ في Kotlin

تتحقق الدالة isBlank()‎ إن كانت سلسلة المحارف التي استٌدعيت معها فارغةً أو تحوي محارف المسافات البيضاء (whitespace characters) فقط. البنية العامة actual fun CharSequence.isBlank(): Boolean القيم المعادة تعاد القيمة true إن كانت سلسلة المحارف التي استٌدعيت معها فارغةً أو تحوي محارف المسافات البيضاء فقط، أو تعاد القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isBlank()‎: fun main(args: Array<String>) { val str1 = " hsoub " val str2 = " ...

الدالة isEmpty()‎ في Kotlin

تتحقق الدالة isEmpty()‎ إن كانت سلسلة المحارف التي استٌدعيت معها فارغةً. البنية العامة inline fun CharSequence.isEmpty(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كانت سلسلة المحارف التي استٌدعيت معها فارغةً، أو القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isEmpty()‎: fun main(args: Array<String>) { print("hsoub".isEmpty()) // false print(" ".isEmpty()) // false ...

البايتات byte في بايثون

البايتات هي تسلسلات لبايتات مفردة غير قابلة للتغيير (immutable)، وهي مشابهة إلى حدّ كبير للسلاسل النصية. توفّر هذه الكائنات توابع تكون صالحة للاستخدام مع البيانات ذات الترميز ASCII نظرًا لأنّ الكثير من البروتوكولات الثنائية الرئيسية مستندة إلى هذا الترميز. تعريف البايتات صيغة تعريف البايتات مماثلة لصيغة تعريف السلاسل النصية، باستثناء إضافة السابقة b إلى عبارة التعريف وكما يلي: b'still allows embedded "double" quotes' # علامات اقتباس مفردة b"still allows embedded 'single' quotes". ...

الدالة isNotEmpty()‎ في Kotlin

تتحقق الدالة isNotEmpty()‎ إن كانت سلسلة المحارف التي استٌدعيت معها غير فارغة. البنية العامة inline fun CharSequence.isNotEmpty(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كانت سلسلة المحارف المعطاة غير فارغة، أو القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isNotEmpty()‎: fun main(args: Array<String>) { print("hsoub".isNotEmpty()) // true print(" ".isNotEmpty()) // true ...

الدالة isNullOrBlank()‎ في Kotlin

تتحقق الدالة isNullOrBlank()‎ إن كانت سلسلة المحارف التي استٌدعيت معها تساوي null أو تحوي محارف المسافات البيضاء (whitespace characters) فقط. البنية العامة inline fun CharSequence?.isNullOrBlank(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كانت سلسلة المحارف المعطاة تساوي null أو تحوي محارف المسافات البيضاء فقط، أو تعاد القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isNullOrBlank()‎: fun main(args: Array<String>) { val ...

الدالة isNullOrEmpty()‎ في Kotlin

تتحقق الدالة isNullOrEmpty()‎ إن كانت سلسلة المحارف التي استٌدعيت معها تساوي null أو كانت فارغةً. البنية العامة inline fun CharSequence?.isNullOrEmpty(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true كانت سلسلة المحارف المعطاة تساوي null أو كانت فارغةً، أو تعاد القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isNullOrEmpty()‎: fun main(args: Array<String>) { val str = "hsoub" ...

الدالة csv.get_dialect()‎‎ في بايثون

تعيد الدالة اللهجة المرتبطة بالاسم المعطى. البنية العامة csv.get_dialect(name) ‎المعاملات name اسم اللهجة المطلوبة. القيمة المعادة تعيد الدالة اللهجة المرتبطة بالاسم المعطى. تُطلق الدالة استثناء إن كان الاسم المعطى غير موجود في سجلّ اللهجات. تعيد الدالة كائن Dialect غير قابل للتعديل. أمثلة يعرض المثال التالي طريقة الاستفادة من هذه الدالة: >>> import csv >>> csv.register_dialect('unixpwd', delimiter=':', quoting=csv.QUOTE_NONE) >>> csv.get_dialect('unixpwd') <_csv.Dialect object at 0x7f29af0a6ae8> >>> csv.get_dialect('xpwd') Traceback (most recent call last): File "<stdin>", line 1, in <module> _csv.Error: unknown dialect انظر أيضًا الدالة csv.register_dialect()‎: تربط الدالة ...

الدالة isDigit()‎ في Kotlin

تتحقق الدالة isDigit()‎ إن كان المحرف الذي استٌدعيت معه رقمًا أم لا. البنية العامة inline fun Char.isDigit(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن حال كان المحرف المعطى رقمًا، أو القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isDigit()‎: fun main(args: Array<String>) { val x = 'a' val y = '5' print(x.isDigit()) ...

الدالة csv.register_dialect()‎‎ في بايثون

تربط الدالة اللهجة المعطاة بالاسم المحدّد. البنية العامة csv.register_dialect(name[, dialect[, **fmtparams]]) المعاملات ‎name سلسلة نصية تتضمّن الاسم المراد ربطه باللهجة المعطاة. dialect يمكن تحديد اللهجة إمّا بتمرير صنف متفرّع عن الصنف Dialect، أو باستخدام المعاملات المفتاحية fmtparams أو كلاهما، مع الأخذ بنظر الاعتبار أنّ المعاملات المفتاحية ستعيد تعريف قيم المعاملات الخاصة باللهجة. راجع قسم اللهجات ومعاملات التنسيق للاطلاع على المزيد من المعلومات. أمثلة يبين المثال التالي طريقة تسجيل لهجة جديدة: import csv csv.register_dialect('unixpwd', delimiter=':', quoting=csv.QUOTE_NONE) with open('passwd', newline='') as f: ...

الدالة CharSequence.none()‎ في Kotlin

تتحقق الدالة none()‎ إن كانت سلسلة المحارف التي استٌدعيت معها فارغةً، أو كانت جميع المحارف فيها غير محققة لشرط معين. البنية العامة fun CharSequence.none(): Boolean inline fun CharSequence.none( predicate: (Char) -> Boolean ): Boolean وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). المعاملات predicate دالةُ تمثل الشرط المراد تطبيقه على كل محرف من محارف السلسلة المعطاة. يمرر إليها كل محرف على حدة، وتعيد قيمة منطقية مقابلة له. القيم المعادة تعاد القيمة true ...

الدالة isLetterOrDigit()‎ في Kotlin

تتحقق الدالة isLetterOrDigit()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا أو رقمًا. البنية العامة inline fun Char.isLetterOrDigit(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا أو رقمًا، أو تعاد القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetterOrDigit()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا أو رقمًا: fun main(args: Array<String>) { val ...

الدالة text.isISOControl()‎ في Kotlin

تتحقق الدالة isISOControl()‎ إن كان المحرف الذي استٌدعي معها هو أحد محارف تحكمISO ‎‎‏ ‎ISO control character)‎‎‎). البنية العامة inline fun Char.isISOControl(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى هو أحد محارف تحكمISO ‎‎‏، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isISOControl()‎ لمعرفة أيُّ المحرفين التاليين هو من أحد محارف تحكم ISO: fun main(args: Array<String>) { ...

الدالة isLetter()‎ في Kotlin

تتحقق الدالة isLetter()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا. البنية العامة inline fun Char.isLetter(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetter()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا: fun main(args: Array<String>) { val x = 'a' ...

الدالة isLetter()‎ في Kotlin

تتحقق الدالة isLetter()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا. البنية العامة inline fun Char.isLetter(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetter()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا: fun main(args: Array<String>) { val x = 'a' ...

الدالة isLetterOrDigit()‎ في Kotlin

تتحقق الدالة isLetterOrDigit()‎ إن كان المحرف (character) الذي استٌدعي معها حرفًا أبجديًا أو رقمًا. البنية العامة inline fun Char.isLetterOrDigit(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (character) المعطى حرفًا أبجديًا أو رقمًا، أو تعاد القيمة false خلاف ذلك. أمثلة استعمال الدالة isLetterOrDigit()‎ للتحقق من كون المحرف المراد استعماله حرفًا أبجديًا أو رقمًا: fun main(args: Array<String>) { val ...

الدالة text.isISOControl()‎ في Kotlin

تتحقق الدالة isISOControl()‎ إن كان المحرف الذي استٌدعي معها هو أحد محارف تحكمISO ‎‎‏ ‎ISO control character)‎‎‎). البنية العامة inline fun Char.isISOControl(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى هو أحد محارف تحكمISO ‎‎‏، أو القيمة false خلاف ذلك. أمثلة استعمال الدالة isISOControl()‎ لمعرفة أيُّ المحرفين التاليين هو من أحد محارف تحكم ISO: fun main(args: Array<String>) { ...

الدالة isDefined()‎ في Kotlin

تتحقق الدالة isDefined()‎ إن كان المحرف (Unicode code point) الذي استٌدعيت معها مُعرّفًا في الترميز الموحَّد (Unicode) أم لا. البنية العامة inline fun Char.isDefined(): Boolean المنصة المطلوبة: JVM. وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف (Unicode code point) المعطى مُعرّفًا في الترميز الموحَّد (Unicode)، أو القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isDefined()‎: fun main(args: Array<String>) { val x = 'a' print(x.isDefined()) // true } انظر ...

الدالة isHighSurrogate()‎ في Kotlin

تتحقق الدالة isHighSurrogate()‎ إن كان المحرف الذي استٌدعي معها بديلًا علويًا لعدد بتات الترميز الموحد (Unicode high-surrogate code unit). البنية العامة inline actual fun Char.isHighSurrogate(): Boolean وجود الكلمة المفتاحية inline يدل على أنَّ هذه الدالة مباشرة (للمزيد من التفاصيل، ارجع إلى صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد القيمة true إن كان المحرف المعطى بديلًا علويًا لعدد بتات الترميز الموحد، أو القيمة false خلاف ذلك. أمثلة مثالٌ على استعمال الدالة isHighSurrogate()‎: fun main(args: Array<String>) { val x = 'a' val y ...

الدالة orEmpty()‎ في Kotlin

تعيد الدالة orEmpty()‎ السلسلة النصية التي استٌدعيت معها إن لم تكن ذات قيمة عدمية (not-null)، أو تعيد سلسلة نصية فارغة. البنية العامة inline fun String?.orEmpty(): String وجود الكلمة المفتاحية inline يدل على أن هذه الدالة مباشرة (للمزيد من التفاصيل، راجع صفحة الدوال المباشرة (inline functions)). القيم المعادة تعاد السلسلة النصية نفسها المعطاة إن لم تكن ذات قيمة عدمية، أو تعاد سلسلة نصية فارغة. أمثلة مثالٌ على استدعاء الدالة orEmpty()‎: fun main(args: Array<String>) { println("Hsoub".orEmpty()) // Hsoub println(null.orEmpty()) ...

التابع Keyboard.print()‎ في أردوينو

يرسل التابع print()‎ ضغطة أو عدة ضغطات من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل. يجب استدعاء التابع print()‎ بعد بدء لوحة المفاتيح عبر استدعاء التابع begin()‎. البنية العامة Keyboard.print(character) Keyboard.print(characters) المعاملات character محرفٌ أو رقم يراد إرساله إلى الحاسوب على أنَّه ناتج عن ضغطة زر في لوحة المفاتيح. characters سلسلة نصية يراد إرسالها إلى الحاسوب على أنَّها ناتجة عن عدة ضغطات متسلسلة على لوحة المفاتيح. القيم المعادة يعاد عدد البايتات المرسلة. أمثلة إرسال رسالة إلى الحاسوب بالضغط على عدة مفاتيح عند ...

التابع File::Stat.chardev?‎ في روبي

يتحقق التابع chardev?‎ إن كان ملفٌ ما هو جهاز محرفي (character device). البنية العامة chardev? → true or false القيمة المعادة تعاد القيمة true إن كان الملف المعطى هو جهاز محرفي (character device)، أو تعاد القيمة false إن لم يكن الملف جهازًا كتليًّا أو لم تكن منصة التشغيل تدعم هذه الميزة. أمثلة مثال على استعمال التابع chardev?‎: File.stat("/dev/tty").chardev? #=> true انظر أيضا التابع blockdev?‎: يتحقق إن كان ملفٌ ما هو جهاز كتلي (block device). مصادر قسم التابع chardev?‎ في الصنف File::Stat في توثيق روبي ...

الدالة ()unquote في Sass

تزيل الدالة unquote()‎ علامات الاقتباس من السلسلة النصيَّة الممرَّرة إليها. إن كانت تلك السلسلة غير مُقتبسة، فستُعيدها الدالة دون تغيير. البنية العامة unquote($string) المعاملات ‎$string  سلسلة نصّيَّة مقتبسة. القيم المعادة تُعاد السلسلة النصيَّة ‎$string بعد إزالة علامات الاقتباس منها. الأخطاء والاستثناءات سيُرمى الخطأ ArgumentError إن لم يكن المعامل ‎$string سلسةً نصّيةً. مثال مثال عن استخدام الدالة unquote()‎ لضبط قيمة اللون (color): .selector { color: unquote("red") // red } سيُصرّف المثال السابق إلى شيفرة CSS الآتية: .selector { color: red; } انظر أيضًا الدالة quote()‎: ...

التابع Keyboard.println()‎ في أردوينو

يرسل التابع println()‎ ضغطة أو عدة ضغطات من لوحة المفاتيح الافتراضية إلى الحاسوب المتصل ثمَّ يُتبِعها بمحرف سطر جديد ومحرف العودة إلى بداية السطر. يجب استدعاء التابع println()‎ بعد بدء لوحة المفاتيح عبر استدعاء التابع begin()‎. البنية العامة Keyboard.println() Keyboard.println(character) Keyboard.println(characters) المعاملات character محرفٌ أو رقم يراد إرساله إلى الحاسوب على أنَّه ناتج عن ضغطة زر في لوحة المفاتيح متبوعةً بمحرف سطر جديد ومحرف العودة إلى بداية السطر. characters سلسلة نصية يراد إرسالها إلى الحاسوب على أنها ناتجة عن عدة ضغطات متسلسلة ...

الوحدة urllib.parse‎‎ في بايثون

تعرّف هذه الوحدة واجهة معيارية لتقسيم سلاسل محدّد موقع الموارد المحدّد Uniform Resource Locator (‏URL اختصارًا) إلى مكوّنات (نظام العنونة addressing scheme، موقع الشبكة network location، المسار path ... الخ)، ولدمج هذه المكونات مرّة أخرى في سلسلة URL، ولتحويل "URL نسبي" إلى URL مطلق بالاعتماد على "URL أساسي". صمّمت هذه الوحدة لتطابق معايير RFC للإنترنت الخاصّة بالمحدّدات النسبية لمواقع الموارد المحدّدة Relative Uniform Resource Locators. وتدعم الوحدة الأنواع التالية من مخطّطات URL: file, ftp, gopher, hdl, http, https, imap, mailto, ...

الوحدة urllib.parse‎‎ في بايثون

تعرّف هذه الوحدة واجهة معيارية لتقسيم سلاسل محدّد موقع الموارد المحدّد Uniform Resource Locator (‏URL اختصارًا) إلى مكوّنات (نظام العنونة addressing scheme، موقع الشبكة network location، المسار path ... الخ)، ولدمج هذه المكونات مرّة أخرى في سلسلة URL، ولتحويل "URL نسبي" إلى URL مطلق بالاعتماد على "URL أساسي". صمّمت هذه الوحدة لتطابق معايير RFC للإنترنت الخاصّة بالمحدّدات النسبية لمواقع الموارد المحدّدة Relative Uniform Resource Locators. وتدعم الوحدة الأنواع التالية من مخطّطات URL: file, ftp, gopher, hdl, http, https, imap, mailto, ...

عرض (100 السابقة | 100 التالية) (20 | 50 | 100 | 250 | 500).