Edit distance: Ignore start/end में, मैंने एक अस्पष्ट अस्पष्ट मिलान समस्या के लिए एक पर्ल 6 समाधान की पेशकश की। मैं इस तरह के व्याकरण था (हालांकि शायद मैं यह बाद में सुधार किया है 3 # संपादित करें):मैं पर्ल 6 व्याकरण के लिए तर्क कैसे पारित कर सकता हूं?
grammar NString {
regex n-chars { [<.ignore>* \w]**4 }
regex ignore { \s }
}
शाब्दिक 4
ही उदाहरण में लक्ष्य स्ट्रिंग की लंबाई था। लेकिन अगली समस्या कुछ और लंबाई हो सकती है। तो मैं व्याकरण कैसे कह सकता हूं कि मैं उस मैच को कब तक चाहता हूं?
यह 'कैप्चर' पारित होने की उम्मीद है, और यदि उसे कोई नहीं मिलता है तो उसे 'कैप्चर' कोसर कहते हैं। एक 'सूची' सूची तत्वों के साथ स्थिति कैप्चर के रूप में 'कैप्चर' को सहारा देगा। एक 'Int' कुछ भी उपयोगी नहीं होता है (यह' Mu.Capture' पर वापस आता है, जो सार्वजनिक गुण लेता है और नामित पैरामीटर के रूप में उपयोग करता है; 'Int' में कोई सार्वजनिक विशेषता नहीं है)। –
उनमें से कोई भी दो तर्कों में कैसे बदलता है? –
मैं उम्मीद करता हूं कि हमलावर को संदर्भित किया जाए, यानी "स्वयं" तर्क, क्योंकि कक्षा में regexes विधियां हैं। – timotimo