نتائج البحث

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

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

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

الاستعلام SELECT

يُستخدَم استعلام SELECT للحصول على سجلات البيانات من الجداول المخزنة في قاعدة البيانات، قد تكون نتيجة الاستعلام سجلًا أو أكثر، وعمودًا أو أكثر. البنية العامة SELECT [DISTINCT | TOP] select_list [FROM table_source] [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ ASC | DESC]]; ويمكن أن تُستخدَم بعض المعاملات مثل UNION و EXCEPT و INTERSECT لدمج نتائج الاستعلامات أو مقارنتها مع بعضها، وتجب مراعاة ترتيب الكلمات المفتاحية المستخدمة في الصياغة السابقة لدى وجود العديد منها ضمن استعلامٍ واحد. أمثلة فيما يلي أمثلةٌ مختلفةٌ ...

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

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

Bash/Topics

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

التابع ‎‎.select()‎‎ في jQuery

‎.select( handler )‎ القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يربط هذا التابع معالج حدث معين مع الحدث select في JavaScript، أو يستدعي ذلك الحدث لتطبيقه على عنصر. ‎.select( handler )‎ أُضيف مع الإصدار: 1.0. handler دالة من الشكل Function( Event eventObject )‎، وتُمثِّل الدالة التي ستُنفَّذ في كل مرة يُستدعى فيها الحدث. ‎.select( [eventData ], handler )‎ أُضيف مع الإصدار: 1.4.3. eventData أي شيء (وهو نوع افتراضي مُستخدَم في jQuery للإشارة إلى إمكانيَّة استخدام أي نوع)، ويُمثِّل كائنًا ...

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

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

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

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

المتغيرات في 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 وبرامج Bash

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

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

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

الإشارات في 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

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

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

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

الأفخاخ في Bash

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

التوسعات في Bash

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

الأمران 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 ...

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

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

ميزات صدفة Bash

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

حلقة 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

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

التعابير النمطية في 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

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

المزيد حول المتغيرات في 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

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

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

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

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

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

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

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

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

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

الاستخدامات المتقدمة لعبارة 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> الفرق بين [] و [[]] على عكس ]، فإن ]] تمنع انقسام الكلمات في ...

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

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

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

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

المحدد ‎‎‎:selected‎ في jQuery

المحدد ‎:selected الوصف يحدِّد جميع العناصر المُحدَّدة. ‎jQuery( ":selected" )‎ أُضيف مع الإصدار: 1.0. يُستعمَل المحدِّد ‎:selected خصِّيصًا مع العناصر <option>، ولا يعمل مع مربعات الاختيار (checkboxes) أو أزرار الانتقاء (radio buttons)، لذا استعمل معهم المحدِّد ‎:checked. ملاحظات إضافية لمَّا كان المحدِّد ‎:selected هو ملحق في مكتبة jQuery  وليس جزءًا من مواصفة CSS، فإنَّ الاستعلامات التي تستعمل ‎:selected لا يمكنها الاستفادة من سرعة الأداء الذي يوفره تابع DOM الأصلي querySelectorAll()‎. للحصول على أداء أفضل في المتصفحات الحديثة، حدِّد العناصر باستعمال ...

التابع Array.select في روبي

يحدد التابع select جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة. إن لم تمرَّر أية كتلة إلى التابع select، فسيعيد كائنًا من النوع Enumerator. البنية العامة select { |item| block } → new_ary select → Enumerator القيم المعادة تعاد مصفوفة جديدة تحوي جميع عناصر المصفوفة المعطاة التي أعيدت معها القيمة true عند تطبيق الكتلة block عليها، أو يعاد كائن من النوع Enumerator إن لم تعطَ الكتلة block. أمثلة أمثلة على استخدام التابع select: [1,2,3,4,5].select { |num| num.even? ...

التابع IO.select‎ في روبي

يستدعي التابع select استدعاء النظام select(2)‎. ويراقب المصفوفة المعطاة المكونة من مجاري د/خ (كائنات IO)، وينتظر حتى يكون واحد أو أكثر من تلك المجاري جاهزًا للقراءة، وجاهزًا للكتابة، ويكون له استثناءات معلقة (pending exceptions) على التوالي، ثم يعيد مصفوفة مؤلفة من مصفوفات مكونة من تلك المجاري. ستعاد القيمة nil إذا تم إعطاء قيمة للمعامل timeout الاختياري (انظر فقرة البنية العامة)، ولم يكن أيٌّ من مجاري د/خ جاهزًا خلال تلك المهلة الزمنية. يراقب التابع select المخزن المؤقت (buffer) لمجرى د/خ لاختبار قابليته ...

العنصر ‎::selection‎

العنصر الزائف ‎::selection‎ في CSS (أي pseudo-element) يُمثِّل نصًّا في المستند الذي حدده المستخدم (باستخدام المؤشر مثلًا). ::selection { color: gold; background: red; } الشكل العام لهذا المحدد: ::selection ::-moz-selection لا يسمَح إلا باستخدام مجموعة جزئية من خاصيات CSS: color background-color cursor outline text-decoration text-emphasis-color text-shadow أمثلة مثال عن استخدام هذا العنصر الزائف لتنسيق النص الذي حدَّده المستخدم: <div>يحتوي هذا النص على أنماط خاصة عند تمييزه</div> <p>حاول أيضًا تحديد النص في هذه الفقرة</p> شيفرة CSS: ::-moz-selection { color: gold; background: red; } ::selection { ...

التابع Array.select!‎ في روبي

يختار التابع !select جميع عناصر المصفوفة المحققة لشرط معين ويحذف العناصر الأخرى المتبقية التي لم تحقق هذا الشرط. قد لا تتغير المصفوفة مباشرةً في كل مرة تُستدعى فيها الكتلة البرمجية الممررة إلى هذا التابع، وستعاد القيمة nil إن لم يجرى أي تعديل على المصفوفة. إن لم تمرَّر أية كتلة إلى التابع !select، فسيعيد كائنًا من النوع Enumerator. البنية العامة select! {|item| block } → ary or nil select! → Enumerator القيم المعادة تعاد المصفوفة نفسها المعطاة بعد الإبقاء على العناصر التي ...

التابع Hash.select في روبي

يعيد التابع select كائن جديد من النوع Hash يتكون من العناصر التي تعيد الكتلة المعطاة معها القيمة true. إذا لم تُعطَ أية كتلة، فسيُعاد كائن من النوع numerator بدلًا من ذلك. البنية العامة select {|key, value| block} → a_hash select → an_enumerator القيمة المعادة يعاد كائن جديد كائن جديد من النوع Hash يتكون من العناصر التي تعيد الكتلة المعطاة معها القيمة true، أو يعاد كائن كائن من النوع numerator إن لم تعطَ أية كتلة. أمثلة مثال على استعمال التابع select: h = ...

 التابع ‎ENV.select!‎ في روبي

التابع select!‎ مكافئ للتابع keep_if لكنه يعيد القيمة nil إن لم يُحدِث أي تغيير في البيئة. في حال عدم تمرير أي كتلة برمجية إلى التابع، فسيعد كائنًا من النوع enumerator. select! { |name, value| } → ENV or nil select! → Enumerator القيمة المعادة يُعاد كائنٌ من الصنف ENV بعد اكتمال تنفيذ العملية أو تُعاد القيمة nil إن لم يحدث أي تغيير، أو يعاد كائنٌ من النوع enumerator في حال عدم تمرير أي كتلة برمجية. انظر أيضًا التابع keep_if: يبقي متغيرات البيئة التي تحقِّق شرطًا ...

التابع Enumerable.select في روبي

يعيد التابع select مصفوفة تحتوي على جميع عناصر الكائن القابل للتعداد الذي استدعي معه باستثناء تلك التي تحقق الكتلة المعطاة (أي التي تعيد معها قيمة صحيحة عند تمريرها إليها). إن لم تُعطَ أية كتلة، فسيعيد التابع كائنًا جديدًا من النوع Enumerator. البنية العامة select { |obj| block } → array select → an_enumerator القيمة المعادة تعاد مصفوفة تحتوي على جميع عناصر الكائن القابل للتعداد المعطى باستثناء تلك التي تحقق الكتلة block (أي التي تعيد معها قيمة صحيحة عند تمريرها إليها)، أو يعاد كائن ...

 التابع 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 في توثيق روبي الرسمي.

Document.getSelection()‎

تنبيه: هذه تقنيّة تجريبيّة، انظر جدول دعم المتصفّحات قبل استخدام هذا التّابع في شيفرة إنتاجيّة. يعيد التّابع Document.getSelection‎()‎ كائنًا من النّوع Selection يمثّل مجال النّص المظلَّل من طرف المستخدم، أو موقع علامة الإقحام (caret) حاليًّا. البنية العامة var selection = documentOrShadowRootInstance.getSelection() المعاملات لا توجد مُعاملات. القيمة المعادة كائن من النّوع Selection. مثال function foo() { var selObj = document.getSelection(); alert(selObj); var selRange = selObj.getRangeAt(0); // نفّذ عمليّة ...

التابع Hash.select!‎ في روبي

يحذف التابع select!‎ الأزواج التي تقبلها الكتلة المعطاة من الكائن Hash الذي استدعي معه.  يشبه هذا التابع التابع keep_if، ولكن يُعيد القيمة nil إذا لم تُجرَى أية تغييرات. البنية العامة select! {| key, value | block } → hsh or nil select! → an_enumerator القيمة المعادة يعاد الكائن Hash المعطى نفسه بعد حذف الأزواج التي تعيد الكتلة المعطاة القيمة true معها، أو تعاد القيمة nil إن لم تُجرَى أية تعديلات على الكائن. يعاد كائن كائن من النوع numerator إن لم تعطَ أية ...

المحدد ‎‎:checked‎‎ في jQuery

المحدد ‎:checked الوصف يُستخدَم المُحدِّد ‎:checked لمعرفة العناصر المُؤشَّرة (checked) أو المُحدَّدة (selected). ‎jQuery( ":checked" )‎ أضيفت في الإصدار: 1.0. يعمل المُحدِّد ‎:checked مع مربعات التأشير (checkboxes)، وأزرار الانتقاء (radio buttons)، وخيارات عناصر select. للحصول على خيارات العنصر <select> فقط، استخدم المُحدِّد ‎:selected. أمثلة تحديد عدد عناصر <input> المُؤشَّرة: <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>checked مثال عن المحدد</title> <style> div { color: red; } </style> <script src="https://code.jquery.com/jquery-1.10.2.js"></script> </head> <body> <form> <p> ...

الأعداد المركبة في بايثون

تتكوّن الأعداد المركبّة من جزأين حقيقي وتخيّلي وكلاهما من الأعداد العشرية ذات الفاصلة العائمة float ، ويمكن استخدام الخاصيتين z.real و z.imagلاستخراج هذين الجزأين من عدد تخيلي z. يستخدم الحرفان 'j' أو 'J' للتعبير عن الأعداد المركبة كما هو موضح في الأمثلة التالية: >>>w = 3j #عدد مركّب الجزء الحقيقي فيه يساوي 0 >>>x = 2+5J >>>y = -3-9j >>>z = 3.1 + 4.5J >>>z.real 3.1 >>> z.imag 4.5 الدالة complex()‎ تعيد الدّالة complex()‎ عددًا مُركّبًا (complex number) حسب العدد الحقيقي والعدد التّخيّلي المُعطيين، أو تُحوّل ...

الأعداد المركبة في بايثون

تتكوّن الأعداد المركبّة من جزأين حقيقي وتخيّلي وكلاهما من الأعداد العشرية ذات الفاصلة العائمة float ، ويمكن استخدام الخاصيتين z.real و z.imagلاستخراج هذين الجزأين من عدد تخيلي z. يستخدم الحرفان 'j' أو 'J' للتعبير عن الأعداد المركبة كما هو موضح في الأمثلة التالية: >>>w = 3j #عدد مركّب الجزء الحقيقي فيه يساوي 0 >>>x = 2+5J >>>y = -3-9j >>>z = 3.1 + 4.5J >>>z.real 3.1 >>> z.imag 4.5 الدالة complex()‎ تعيد الدّالة complex()‎ عددًا مُركّبًا (complex number) حسب العدد الحقيقي والعدد التّخيّلي المُعطيين، أو تُحوّل ...

التابع types.coroutine()‎ في بايثون

تحوّل هذه الدالة دالة مولّدة إلى دالة coroutine تعيد coroutine مبنيًا على مولّد. يكون هذا الـ coroutine هو كائن تكرار مولِّد، ويعدّ كذلك كائن coroutine ومن نوع awaitable. ولكن ليس بالضرورة أن يستخدم التابع ‎__await__()‎. ملاحظة: هذه الدالة جديدة في الإصدار 3.5 من بايثون. البنية العامة ‎types.coroutine(gen_func) المعاملات gen_func إن كانت دالة مولدة، فسيجري تعديلها في مكانها. وإن لم تكن دالة مولدة، فسيجري تغليفها. إن كانت الدالة تعيد نسخة من collections.abc.Generator، فإنّ النسخة ستُغلّف في كائن وسيط من نوع awaitable. ...

التابع ‎.hasClass()‎‎ في jQuery

‎.hasClass( className )‎ القيم المعادة يعيد قيمة منطقية Boolean. الوصف حدد إن كانت العناصر التي اختيرت سابقًا تمتلك صنفًا معينًا أم لا. ‎.hasClass( className )‎ أُضيف مع الإصدار: 1.2. className سلسلة نصية تمثل اسم الصنف المراد البحث عنه. يمكن إسناد أكثر من صنف إلى العناصر. نعبر عن هذا في HTML بفصل أسماء الأصناف بمسافة فارغة: <div id="mydiv" class="foo bar"></div> سيعيد التابع ‎.hasClass()‎ القيمة true إذا كان الصنف المبحوث عنه مسندًا إلى العنصر المحدد حتى إن كان هذا العنصر يمتلك أصنافًا أخرى. ...

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

يعيد التابع select‎ نسخة من البيئة (environment) تضم المدخلات التي حقَّقت شرطًا معيَّنًا. في حال عدم تمرير أي كتلة برمجية إلى التابع، فسيعيد كائنًا من النوع enumerator. البنية العامة select { |name, value| } → Hash select → Enumerator القيمة المعادة يُعاد كائن من النوع Hash يحوي نسخة من البيئة تضم المدخلات (entries) التي أعيدت القيمة true معها عند تمريرها إلى الكتلة البرمجية. وفي حال عدم تمرير أية كتلة برمجية، فسيُعاد كائن من النوع enumerator. انظر أيضًا التابع inspect: يعيد محتوى البيئة (environment) ...

التعليقات في SQL

تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة ملاحظات جانبية مساعدة، وتوجد طريقتان لإضافة التعليقات: الأولى: بإضافة شرطَتين متتاليتَن، وذلك للتعليقات السطرية (سطر واحد فقط). الثانية: بإضافة الرمزين ‎*/ عند بداية التعليقات وإنهائها بالرمزين ‎ */‎وذلك للتعليقات الممتدة عبر سطر أو أكثر. أمثلة SELECT count(*); -- This comment continues to the end of line SELECT count(*); /* This is an inline comment */; SELECT count(*), /* This is a multiline comment */ country; التوافقية SQLServer SQLite Oracle PostgreSQL ...

مقدمة إلى التعامل مع قواعد البيانات في Laravel

مقدمة يُبسّط Laravel التعامل مع قواعد البيانات بشكل كبير عبر مجموعة متنوعة من الأسندة الخلفية (backends) قواعد البيانات إمّا باستخدام  لغة الاستعلام البنيوية SQL خام أو باستخدام منشئ الاستعلامات الفصيح (fluent query builder)، أو باستخدام رابط الكائنات بالعلاقات Eloquent. يدعم Laravel حاليًا أربع قواعد بيانات: MySQL PostgreSQL SQLite SQL Server الضبط تقع إعدادات قاعدة بيانات تطبيقك في config/database.php. تستطيع في هذا الملف تعريف جميع اتصالات قاعدة بياناتك لإضافةً لتحديد الاتصال الافتراضي. تتوافر أمثلة عن معظم أنظمة قواعد البيانات المدعومة في ...

التابع Struct.select‎ في روبي

يمرر التابع select قيم كل أعضاء البنية إلى الكتلة المعطاة ويعيد مصفوفة تحتوي قيم الأعضاء التي أعادت الكتلة معها القيمة true. هذا التابع يكافئ التابع Enumerable.select. البنية العامة select {|obj| block } → array select → enumerator‎ القيمة المعادة تعاد مصفوفة تحوي أعضاء البنية التي أعيدت القيمة true معها بعد تمريرها إلى الكتلة block المعطاة. يعاد كائن من النوع enumerator إن لم تعطَ الكتلة block. أمثلة مثال على استخدام التابع select‎: Lots = Struct.new(:a, :b, :c, :d, :e, :f) l = ...

التابع ‎‎.not()‎‎ في jQuery

‎.not( [selector ] )‎ القيم المعادة يعيد كائنًا من النوع jQuery. الوصف يحذف هذا التابع عناصر محدَّدة من مجموعة من العناصر المطابقة. ‎.not( selector )‎ أُضيف مع الإصدار: 1.0. selector سلسلة نصية تحتوي على تعبير محدِّد، أو عنصر DOM، أو مصفوفة من العناصر لمطابقة مجموعة معينة من العناصر. ‎.not( function )‎ أُضيف مع الإصدار: 1.4. function دالة من الشكل Function( Number index, Element element )‎ تعيد قيمة منطقيَّة Boolean، وتُستعمَل للتحقُّق من كلِّ عنصر من عناصر المجموعة. تقبل هذه الدالة ...

عبارة HAVING

تستخدم عبارة  HAVING ضمن استعلام SELECT لتحديد شرطٍ معينٍ عند تجميع السجلات مع بعضها GROUP BY، وقد أُضيف إلى لغة SQL لأنه لا يمكن استخدام عبارة WHERE مع الدوال التجميعيّة مثل SUM و MIN  و MAX ...إلخ. تجميع السجلات وفق شرط مُحدّد ليكن الجدول الآتي (patients) موجودًا في قاعدة البيانات: Doctor Section Age Patient PatientID Nasser Cardiology 76 Salem 1029 Abd Allah Neurology 17 Hasan 896 Reem Maternity 23 Nadine 964 Fateh Cardiology 65 Rami 1070 Kareem Neurology 19 Abd ...

الاستعلامات الفرعية Subqueries في SQL

الاستعلام الفرعي هو استعلام واقعٌ ضمن استعلام آخر بهدف استخدام البيانات الناتجة عنه في الاستعلام الرئيسي الذي يحتويه، وغالبًا ما يكون الاستعلام الفرعي عبارة عن استعلام SELECT، ويمكن استخدامه مع أي من استعلامات SELECT أو INSERT أو UPDATE أو DELETE. استخدام الاستعلام الفرعي في استعلام SELECT تحديد الاستعلام الفرعي كأحد الأعمدة يُمكن تحديد أحد الأعمدة التي ستظهر بتنفيذ استعلام SELECT من خلال الاستعلام الفرعي الذي يعيد قيمة وحيدة لكل سجل. مثال إن كانت الجداول الآتية موجودة في قاعدة البيانات: الجدول ...

الدالة types.resolve_bases()‎ في بايثون

تحلّل الدالة مدخلات (ترتيب تحليل التوابع MRO) بصورة ديناميكية وكما هو محدّد في PEP 560. ملاحظة: هذه الدالة جديدة في الإصدار 3.7 من اللغة. البنية العامة types.resolve_bases(bases) المعاملات bases الأصناف الأساسية المراد تحليلها. القيمة المعادة تبحث هذه الدالة عن العناصر في الأصناف المعطاة في المعامل bases والتي لا تكون نسخًا من الصنف type، وتعيد الدالة صفًّا يُستبدل فيه كل كائن مماثل ولا يملك التابع __mro_entries__ بنتيجة استدعاء هذا التابع بعد فكّ تحزيمها. أما إن كان الصنف المعطى في المعامل bases ...

DISTINCT

تستخدم العبارة DISTINCT للحصول على قيمٍ فريدةٍ غير مكررة، وغالبًا ما تستخدم في استعلام SELECT للحصول على سجلات لا تتكرر القيم فيما بينها، إذ يصبح الاستعلام بالشكل الآتي: SELECT DISTINCT columns FROM tbl; مثال إن كان الجدول الآتي patients موجودًا في قاعدة البيانات: Doctor Section Age Patient PatientID Nasser Cardiology 76 Salem 1029 Abd Allah Neurology 17 Hasan 896 Reem Maternity 23 Nadine 964 Fateh Cardiology 65 Rami 1070 Kareem Neurology 19 Abd al-Rahim 1150 Hadi Critical Care 65 Roushd 1097 ...

إلغاء صلاحيات الوصول REVOKE

يستخدم هذا الأمر لإلغاء صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وله إحدى الصيغ العامّة الآتية (بحسب محركات البيانات المختلفة): في محرك البيانات PostgreSQL REVOKE { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tbl_name [, ...] FROM { [GROUP ] name | PUBLIC | CURRENT_USER [, ...] }; إلغاء صلاحية تنفيذ استعلامات SELECT و INSERT و UPDATE و DELETE ...

تحديد عدد السجلات في استعلامات SQL

يمكن تحديد عدد السجلات التي ستُجلب من الجدول ضمن استعلام SELECT أو التي ستُحذف من الجدول ضمن استعلام DELETE أو ستُحدَّث قيمها ضمن استعلام UPDATE، ولكن تختلف محركات قواعد البيانات فيما بينها بالصياغة العامة للاستعلام، وسيُذكر ذلك تباعًا. تحديد عدد سجلات النتائج يكون للاستعلام البنية العامة الآتية في محرك SQL Server، والتي تعتمد على الكلمة المفتاحية TOP: SELECT TOP number | percent col_name(s) FROM tbl_name WHERE condition; إذ يُعبّر المتحول number عن عدد السجلات المطلوبة، وتُعبّر الكلمة المفتاحية percent عن نسبة السجلات المئوية ...

عمليات البايتات ومصفوفات البايتات في بايثون

تدعم كائنات البايتات ومصفوفات البايتات عمليات التسلسلات الشائعة، وتتوافق هذه الكائنات مع العوامل من النوع ذاته إضافة إلى أي كائن شبيه بالبايتات. ونظرًا لهذه المرونة العالية، يمكن استخدام البايتات في أي نوع من العمليات دون حدوث أي خطأ، ولكن النوع المعاد يعتمد على ترتيب العوامل. ملاحظة: لا يمكن تمرير سلاسل نصية كوسائط في التوابع التي تعمل على البايتات ومصفوفات البايتات كما لا يمكن تمرير البايتات في توابع السلاسل النصية. فعلى سبيل المثال يجب كتابة: a = "abc" b = a.replace("a", "f") و: ...

الدالة types.new_class()‎ في بايثون

تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام صنف ميتا (metaclass) المناسب. ملاحظة: هذه الدالة جديدة في الإصدار 3.3 من اللغة. البنية العامة ‎types.new_class(name, bases=(), kwds=None, exec_body=None) المعاملات name اسم الصنف المراد إنشاؤه. bases الأصناف الأساسية التي سيرث منها الصنف الجديد (حسب الترتيب). kwds المعاملات المفتاحية (مثل صنف ميتا). exec_body استدعاء خلفي callback يُستخدم لإضافة نطاق الأسماء الخاصّ بالصنف المنشئ حديثًا. يجب أن يأخذ نطاق الأسماء الخاصّ بالصنف كمعامل وحيد وأن يحدّث نطاق الأسماء مباشرة بمحتويات الصنف. في حال عدم تقديم ...

عمليات البايتات ومصفوفات البايتات في بايثون

تدعم كائنات البايتات ومصفوفات البايتات عمليات التسلسلات الشائعة، وتتوافق هذه الكائنات مع العوامل من النوع ذاته إضافة إلى أي كائن شبيه بالبايتات. ونظرًا لهذه المرونة العالية، يمكن استخدام البايتات في أي نوع من العمليات دون حدوث أي خطأ، ولكن النوع المعاد يعتمد على ترتيب العوامل. ملاحظة: لا يمكن تمرير سلاسل نصية كوسائط في التوابع التي تعمل على البايتات ومصفوفات البايتات كما لا يمكن تمرير البايتات في توابع السلاسل النصية. فعلى سبيل المثال يجب كتابة: a = "abc" b = a.replace("a", "f") و: ...

العبارة ORDER BY

تتلخص مهمة عبارة ORDER BY بترتيب النتائج (تصاعديًا أو تنازليًا) ضمن استعلام SELECT وفق عمودٍ (أو أكثر) من الجدول. تحديد نمط الترتيب التصاعدي أو التنازلي تُستخدم الكلمتان المفتاحيتان ASC و DESC لتحديد نمط الترتيب التصاعدي ASC والتنازلي DESC بعدّ الترتيب التصاعدي الحالة الافتراضية للعبارة. ليكن الجدول rivers الآتي موجودًا في قاعدة البيانات: Continent Outflow LengthMiles LengthKm River Serial South America Atlantic Ocean 4345 6992 Amazon 1 Africa Mediterranean 4258 6853 Nile 2 North America Gulf of Mexico 3902 6275 Mississippi ...

عمليات الأعداد الثنائية Bitwise في بايثون

يمكن تنفيذ عمليات الأعداد الثنائية Bitwise على الأعداد الصحيحة فقط، وتعامل الأعداد السالبة معاملة قيمها المكمّلة من الأساس 2 (يُفترض هنا وجود عدد كافٍ من البتات لكي لا يحدث أي فيضان [overflow] أثناء العملية). تمتلك عمليات الأعداد الثنائية أولوية أدنى من العمليات العددية وأعلى من عمليات المقارنة، ويمتلك العامل الأحادي ~ نفس الأولوية التي تمتلكها العمليات العددية الأحادية (+ و -). يعرض الجدول التالي قائمة بعمليات الأعداد الثنائية مرتّبة حسب أولويتها ترتيبًا تصاعديًا: العملية النتيجة ملاحظات x | y x ...

التابع ?Object.taint في روبي

يصم التابع taint الكائن الذي استدعي معه بأنه كائنٌ فاسد (tainted). الكائنات المُعلَّمة على أنها فاسدة ستكون محظورةً عن مختلف التوابع المُضمَّنة (built-in methods). الهدف من هذا الأمر هو منع البيانات الغير آمنة مثل وسائط سطر الأوامر أو السلاسل النصية من القراءة من التابع Kernel.gets، أو من الوصول غير المُصرَّح إلى أنظمة المستخدمين. استخدم التابع ?tainted للتحقق إذا كان الكائن فاسدا أم لا. لا يجب أن تزيل إشارة الفساد من كائن يحملها إلا إذا فصحته شيفرتك البرمجية وقرَّرت أنه آمن. ...

عمليات الأعداد الثنائية Bitwise في بايثون

يمكن تنفيذ عمليات الأعداد الثنائية Bitwise على الأعداد الصحيحة فقط، وتعامل الأعداد السالبة معاملة قيمها المكمّلة من الأساس 2 (يُفترض هنا وجود عدد كافٍ من البتات لكي لا يحدث أي فيضان [overflow] أثناء العملية). تمتلك عمليات الأعداد الثنائية أولوية أدنى من العمليات العددية وأعلى من عمليات المقارنة، ويمتلك العامل الأحادي ~ نفس الأولوية التي تمتلكها العمليات العددية الأحادية (+ و -). يعرض الجدول التالي قائمة بعمليات الأعداد الثنائية مرتّبة حسب أولويتها ترتيبًا تصاعديًا: العملية النتيجة ملاحظات x | y x ...

Document.querySelectorAll()‎

يُعيد التّابع Document.querySelectorAll()‎ كائنًا ثابتًا (غير حيّ) من النّوع NodeList الذي يُمثّل قائمة عناصر المستند التي تُوافق المُحدّدات المعطاة. مُلاحظة: هذا التّابع مبني على التّابع ParentNode.querySelectorAll()‎. البنية العامة elementList = parentNode.querySelectorAll(selectors); selectors‎ سلسلة نصيّة من النّوع DOMString تحتوي على مُحدّد واحدٍ أو أكثر لمُوافقته مع عناصر المستند والبحث عن العنصر المرغوب. يجب على هذه السّلسلة النّصيّة أن تكون مُحدّد CSS صالح، إن لم يكن كذلك، فسيُرمى استثناء SyntaxError، انظر هذه الصّفحة للمزيد حول المُحدّدات وكيفيّة إدارتها. يُمكن تحديد عدّة محدّدات ...

منح صلاحيات الوصول GRANT

يستخدم هذا الأمر لمنح صلاحيات الوصول access privileges لمستخدمٍ أو مجموعة مستخدمين أو أكثر، وله إحدى الصيغ العامّة الآتية (بحسب محركات البيانات المختلفة): في محرك البيانات PostgreSQL GRANT { { SELECT | INSERT | UPDATE | DELETE | REFERENCES } [, ...] | ALL [ PRIVILEGES ] } ON [ TABLE ] tbl_name [, ...] TO { [GROUP ] name | PUBLIC | CURRENT_USER [, ...] } [ WITH GRANT OPTION ]; إعطاء صلاحية تنفيذ استعلامات SELECT و ...

عبارة GROUP BY

تُستخدم عبارة GROUP BY في استعلام SELECT بهدف تجميع النتائج ضمن مجموعات بحسب عمود أو أكثر من الجدول. استخدام GROUP BY لمعرفة عدد السجلات الممكن تجميعها سويةً ليكن الجدول الآتي (patients) موجودًا في قاعدة البيانات: Doctor Section Age Patient PatientID Nasser Cardiology 76 Salem 1029 Abd Allah Neurology 17 Hasan 896 Reem Maternity 23 Nadine 964 Fateh Cardiology 65 Rami 1070 Kareem Neurology 19 Abd al-Rahim 1150 Hadi Critical Care 65 Roushd 1097 Reem Maternity 27 Sana 1034 Abd Allah ...

معاملات المقارنة مع نتائج الاستعلام الفرعي

تستخدم المعاملات SOME و ANY و ALL بهدف المقارنة مع القيم الناتجة (لعمودٍ واحدٍ) عن أحد الاستعلامات الفرعية، وستُذكر تباعًا. معامل ANY إذ تعيد المقارنة قيمة TRUE في حال تطابق التعبير مع قيمة أيّ من السجلات الناتجة عن الاستعلام الفرعي وقيمة FALSE في حال عدم وجود أي نتيجة مطابقة. معامل SOME إذ تعيد المقارنة قيمة TRUE في حال وجود بعض القيم في السجلات الناتجة عن الاستعلام الفرعي والمطابقة لقيمة التعبير الذي تُقارن معه، وهي بهذا مماثلة لنتيجة المعامل ANY. معامل ...

المعامل EXISTS

يستخدم المعامل EXISTS للتأكد من وجود سجلات ناتجة عن الاستعلام الفرعي المستخدم في الاستعلام الرئيسي. مثال إن كان في قاعدة البيانات الجدولان الآتيان: الجدول الأول: جدول الطلاب students RegDate CourseID LastName FirstName StudentID ‎07-JUL-2017‎ 0206 Najjar Rama 1147 ‎08-NOV-2017‎ 0604 Kordi Jenan 1148 ‎07-JUL-2017 0206 Bitar Rahaf 1149 ‎20-AUG-2017 0607 Taweel Farah 1150 ‎08-NOV-2017 0610 Arab Rami 1151 ‎24-OCT-2017 0803 Akkad Aya 1152 ‎08-NOV-2017 0504 Haddad Abed 1153 ‎20-AUG-2017 0801 Fares Tasneem 1154 ‎24-OCT-2017 0607 Hamsho Monther 1155 ‎30-SEP-2017 0607 ...

الأعداد العشرية (ذات الفاصلة العائمة) float في بايثون

الأعداد العشرية (ذات الفاصلة العائمة floating point) هي الأعداد التي تتضمن فاصلة عشرية أو علامة أسية: >>> x = 2.5 >>> y = -1.609 >>> z = 3e4 >>> print(z) 30000.0 >>> a = 10. >>> b = .001 >>> c = 0e0 >>> print(a, b, c) 10.0 0.001 0.0 يمكن الحصول على معلومات حول دقّة الأعداد العشرية والتمثيل الداخلي لها في الحاسوب الذي يعمل عليه البرنامج عن طريق مكتبة sys.float_info: >>> import sys >>> sys.float_info sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) التحويل إلى الأعداد العشرية ...

الأعداد الصحيحة في بايثون

العدد الصحيح integer هو أي عدد موجب أو سالب لا يتضمن فاصلة عشرية، ويمكن تمثيله بالنظام العشري (decimal، الأساس 10) والست عشري (hexadecimal، الأساس 16) والثماني (octal، الأساس 8) والثنائي (binary، الأساس 2). يجب أن يكون العدد الصحيح مسبوقًا بالقيمة 0o لاستخدامه في النظام الثماني، وبالقيمة 0x لاستخدامه في النظام الست عشري، وبالقيمة 0b لاستخدامه في النظام الثنائي، وفيما يلي مجموعة من الأمثلة: >>> q = 3571 # عدد صحيح في النظام العشري >>> q ...

الأعداد الصحيحة في بايثون

العدد الصحيح integer هو أي عدد موجب أو سالب لا يتضمن فاصلة عشرية، ويمكن تمثيله بالنظام العشري (decimal، الأساس 10) والست عشري (hexadecimal، الأساس 16) والثماني (octal، الأساس 8) والثنائي (binary، الأساس 2). يجب أن يكون العدد الصحيح مسبوقًا بالقيمة 0o لاستخدامه في النظام الثماني، وبالقيمة 0x لاستخدامه في النظام الست عشري، وبالقيمة 0b لاستخدامه في النظام الثنائي، وفيما يلي مجموعة من الأمثلة: >>> q = 3571 # عدد صحيح في النظام العشري >>> q ...

الأعداد العشرية (ذات الفاصلة العائمة) float في بايثون

الأعداد العشرية (ذات الفاصلة العائمة floating point) هي الأعداد التي تتضمن فاصلة عشرية أو علامة أسية: >>> x = 2.5 >>> y = -1.609 >>> z = 3e4 >>> print(z) 30000.0 >>> a = 10. >>> b = .001 >>> c = 0e0 >>> print(a, b, c) 10.0 0.001 0.0 يمكن الحصول على معلومات حول دقّة الأعداد العشرية والتمثيل الداخلي لها في الحاسوب الذي يعمل عليه البرنامج عن طريق مكتبة sys.float_info: >>> import sys >>> sys.float_info sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) التحويل إلى الأعداد العشرية ...

الدالة chown()‎ في PHP

(PHP 4, PHP 5, PHP 7) تغيِّر الدالة chown()‎ مالك الملف. الوصف bool chown ( string $filename , mixed $user ) تحاول هذه الدالة تغيير مالك الملف filename إلى المالك الجديد user. المستخدم ذو امتيازات مدير النظام الذي يملك كافَّة صلاحيات الوصول (superuser) قادرٌ وحده على تغيير مالك الملف. المعاملات filename مسار الملف الذي ستُجرى عليه العمليَّة. user اسم المالك الجديد أو رقم مُعرِّفه. القيم المعادة تُعاد القيمة TRUE عند نجاح العملية، والقيمة FALSE خلاف ذلك. أمثلة المثال 1: استعمال الدالة ...

الدالة types.prepare_class()‎ في بايثون

تحسب هذه الدالة صنف ميتا المناسب وتنشئ نطاق الأسماء. البنية العامة types.prepare_class(name, bases=(), kwds=None) المعاملات name اسم الصنف المراد إنشاؤه. bases الأصناف الأساسية التي سيرث منها الصنف الجديد (حسب الترتيب). kwds المعاملات المفتاحية (مثل صنف ميتا). القيمة المعادة تعيد الدالة صفًّا يحمل ثلاث قيم هي: metaclass, namespace, kwds. metaclass هي صنف ميتا المناسب، و namespace هي نطاق الأسماء المحضّر للصنف، وkwds هي نسخة محدّثة من قيمة المعامل kwds بعد حذف أي مدخل من مدخلات 'metaclass'. وإن لم يمرّر المعامل kwds ...

الدالة help()‎ في بايثون

تُطلق الدّالة help()‎ نظام المُساعدة المُضمّن، الذي يُستعمل في الوضع التّفاعلي للحصول على معلومات حول الكائنات والوحدات المبنيّة في اللغة. البنية العامة help([object]) المعاملات object مُعامل اختياريّ، وهو الكائن المراد الحصول على مُساعدة حوله. القيمة المعادة إن لم تُمرّر مُعاملات للدّالة، فسيُطلَق نظام المُساعدة التّفاعلي على المُفسّر. إن كان المُعامل سلسلة نصيّة، فسيُبحث عن القيمة على أنّها اسم وحدة، أو دالّة، أو صنف، أو كلمة مفتاحيّة، أو موضوع توثيق، وستُطبع صفحة مُساعدة (باللغة الانجليزيّة) على الشّاشة. إن كان المُعامل أي ...

SQL/Topics

أنواع البيانات أنواع البيانات التي يمكن استخدامها مع محركات قواعد البيانات المختلفة (البيانات العددية، والبيانات النصية، والوقت والتاريخ، والبيانات الثنائية ...إلخ.). أساسيات لغة SQL القيمة NULL يستخدم التعبير IS NULL للتأكد من خلو القيمة (أي لا توجد قيمة في الحقل المحدد). التعليقات Comments تضاف التعليقات إلى الشيفرة بهدف تسهيل قراءتها أو كتابة ملاحظات جانبية مساعدة. SELECT count(*); -- This comment continues to the end of line SELECT count(*); /* This is an inline ...

التسمية البديلة Alias في SQL

يمكن إطلاق تسمية على الجداول أو الحقول تسهيلًا للتعامل معها بالاسم البديل المؤقت (وقد يكون أكثر اختصارًا)، وذلك عند الحاجة إلى الوصول إلى نفس الجدول أو الحقل عدة مرات، ويعبًّر عن ذلك بالكلمة المفتاحية AS، ويمكن الاستغناء عنها عند تسمية الجدول. أمثلة في الاستعلام الآتي: SELECT Name AS Top Students, Age, GPA FROM students سيظهر العمود Name باسم Top Students في النتائج. وفي الاستعلام: SELECT StudentID, FirstName, Course, Lecturer FROM students st LEFT JOIN courses co ON st.CourseID = co.CourseID; سُمي الجدول students باسم st والجدول ...

إنشاء العرض CREATE VIEW

يستخدم هذا الأمر لإنشاء عرضٍ والذي هو عبارة عن جدول افتراضي يُبنى بالاعتماد على نتائج استعلامٍ ما، وله البنية العامّة الآتية: CREATE VIEW name [ ( col_name [, ...] ) ] AS query إذ إن name هو اسم العرض المُنشَأ وتُحدّد الأعمدة المطلوبة بين قوسين، وتُعبِّر كلمة query عن الاستعلام الذي سيُؤخذ العرضُ منه، ويُمكن استخدام هذا العرض المنشأ في عبارة FROM بأي استعلام SELECT آخر. مثال لإنشاء عرض باسم novels يحتوي كافة الكتب الروائية المتوفرة في سجلات المكتبة الموجودة بالجدول books، ...

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

تقدم بايثون مجموعة من الثوابت، بعضها في مجال الأسماء الداخلي، أما البعض الآخر فيضاف من قبل الوحدة site إلى مفسّر بايثون التفاعلي. ثوابت في مجال الأسماء الداخلي False يمثّل هذا الثابت القيمة الخاطئة للنوع bool. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ SyntaxError عند محاولة القيام بذلك. True يمثّل هذا الثابت القيمة الصحيحة للنوع bool. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ SyntaxError عند محاولة القيام بذلك. None هذا الثابت هو القيمة ...

تحديد مجال أو عدد محدّد من القيم في SQL

معامل IN يستخدم لتحديد عددٍ معيّنٍ من القيم المحتملة لأحد حقول البيانات. مثال إن كان الجدولان الآتيان موجوديَن في قاعدة البيانات: الجدول الأول: جدول السيارات cars Colour Price Year Company Model CarID White 22,500 2018 KIA Optima 05081 Red 25,995 2017 KIA Optima Hybrid 05082 Red 31,900 2018 KIA Stinger 05083 Black 31,990 2017 KIA Cadenza 05084 Blue 23,240 2018 KIA Niro 05085 Grey 14,200 2018 KIA Rio 5-Door 05086 Blue 18,200 2018 KIA Forte5 05087 الجدول الثاني: جدول الزبائن ...

التابع Object.object_id في روبي

يعيد التابع ‎__id__‎‎ (يدعى أيضًا object_id) مُعرِّفا عدديًا للكائن الذي استُدعي معه. سيُعاد نفس المعرِّف في كل مرة يُستدعى فيها التابع object_id مع الكائن نفسه، ولن يتشارك أي كائنين نشطين نفس المعرِّف. ملاحظة: يُعاد استخدام بعض كائنات الأصناف المٌضمّنة (built-in classes) وذلك لتحسين الأداء. هذا هو الحال بالنسبة للقيم المباشرة (immediate values) والسلاسل النصية الحرفية المجمدة (frozen string literals). لا تُمرَّر القيم المباشرة بالمرجع (reference) ولكنَّها تُمرَّر بالقيمة، مثل nil، وtrue، وfalse، وFixnums، وSymbols، وFloats. البنية العامة object_id → integer ...

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