سندرم خلال‌دندان تکیه‌داده

سندرم خلال‌دندان تکیه‌داده  اصطلاحی در برنامه‌نویسی است و به حالتی اشاره دارد که در یک عبارت باقاعده لازم می‌شود برای گریز از کج‌خط‌ها (/)، از چند نویسهٔ گریز واکج‌خط (\) استفاده شود. خواندن چنین عبارت‌هایی دشوار است و احتمال خطای برنامه‌نویس را افزایش می‌دهد. کنار هم قرارگرفتن این نویسه‌ها باعث می‌شود عبارت‌های باقاعدهٔ پیچیده، به شکل خلال‌دندان‌هایی به نظر برسند که در میان نویسه‌های دیگر ریخته شده‌اند.
این اتفاق ممکن است در مورد مشخص‌کردن مسیرها در ویندوز نیز رخ دهد؛ اما با توجه به اینکه ویندوز اجازهٔ استفاده از حائل «/» به جای «\» را در مسیرهای خود می‌دهد (به سبک یونیکس)، امکان دور زدن این مشکل وجود دارد.

 مثال‌ها 
بسیاری زبان‌های برنامه‌نویسی روش‌هایی برای غلبه بر این مشکل دارند.

 پرل 
در پرل با استفاده از نمادگذاری  می‌توان به مفسر فهماند که باید نویسه‌های داخل رشته را به صورت حرف و بدون نیاز به نویسهٔ گریز واکج‌خط بپذیرد. به طور مثال عبارت باقاعدهٔ:
 m{ftp://[^/]*/pub/}
 m#ftp://[^/]*/pub/#
 m!ftp://[^/]*/pub/!
معادل است با:
  m/ftp:\/\/[^\/]*\/pub\//

 سی‌شارپ 
در سی‌شارپ مشکل سندرم خلال‌دندان تکیه‌داده با استفاده از نماد «@» قابل حل است:
 string filePath = @"C:\Foo\Bar.txt"
معادل است با:
 string filePath = "C:\\Foo\\Bar.txt"

 سی‌پلاس‌پلاس 
در استاندارد C++11، رشتهٔ خام به صورت زیر قابل تعریف است:
 std::string filePath = R"(C:\Foo\Bar.txt)";

در صورتی که نیاز به استفاده از یکی از نویسه‌های )" در داخل رشته باشد، می‌توان از یک نویسهٔ حائل دلخواه (مانند d در مثال زیر) استفاده کرد.
 std::regex re{ R"d(s/"\([^"]*\)"/'\1'/g)d" };

 پایتون 
در پایتون می‌توان نوشت:
  filePath = r"C:\Foo\Bar.txt" 

و یا:

  example = """First line : "C:\Foo\Bar.txt"
  Second line : nothing""" 

 اسکالا 
اسکالا امکان استفاده از «'''» را می‌دهد:
 val filePath = """C:\Foo\Bar.txt"""
 val pubPattern = """ftp://[^/]*/pub/"""r

که رشتهٔ داخل آن می‌تواند چندخطی نیز باشد:
 val text = """First line,
 second line."""

 سِد 
در سد می‌توان از «,» به عنوان حائل عبارت باقاعده استفاده کرد:
 s,ftp://[^/]*/pub/,foo,
معادل می‌شود با:
 s/ftp:\/\/[^\/]*\/pub\//foo/

 منابع 




 Wikipedia contributors, "Leaning toothpick syndrome," Wikipedia, The Free Encyclopedia, http://en.wikipedia.org/w/index.php?title=Leaning_toothpick_syndrome&oldid=583560583 (accessed November 28, 2013).

رده:پرل (زبان برنامه‌نویسی)
رده:زبان برنامه‌نویسی پی‌اچ‌پی
رده:عبارت‌های باقاعده
رده:فرهنگ مردمی مهندسی نرم‌افزار
رده:موضوعات مربوط به زبان‌های برنامه‌نویسی