कार्यप्रवाह · न्यूनतम असमानता वाला पंक्ति विभाजन ×
def wrap_words(words, width):
words = tuple(words)
if type(width) is not int or not 1 <= width <= 80 or len(words) > 100:
raise ValueError("wrap.limit")
if any(type(w) is not str or not w or len(w) > width or any(c.isspace() for c in w) for w in words):
raise ValueError("wrap.word")
n = len(words)
costs, ends = [0] * (n+1), [0] * n
for i in range(n-1, -1, -1):
used, best = 0, None
for j in range(i, n):
used += len(words[j]) + (j > i)
if used > width:
break
cost = 0 if j == n-1 else (width-used)**2 + costs[j+1]
if best is None or cost < best:
best, ends[i] = cost, j+1
costs[i] = best
lines, i = [], 0
while i < n:
lines.append(" ".join(words[i:ends[i]]))
i = ends[i]
return lines
✳खाली स्थान रहित अधिकतम 100 शब्दों को एक से 80 कोड बिंदु की पंक्तियों में बाँटें और अंतिम पंक्ति छोड़कर बचे स्थान के वर्गों को न्यूनतम करें.
✓ बदलावलागू करने से पहले समीक्षा करें ↗
कार्यक्षेत्र का चित्रण
लागू करने से पहले समीक्षा करें
वास्तविक व्यवहार की अपेक्षित परिणाम से तुलना करें। जाँच असफल हो तो अगले बदलाव से पहले कारण समझें।
मॉडल
बेस URL और आवश्यक होने पर API कुंजी से OpenAI-संगत या Anthropic endpoint सेट करें। कनेक्शन जाँचें। स्थानीय मॉडल सर्वर चालू होना चाहिए; दूरस्थ उपकरण अलग से डेटा भेज सकते हैं।
प्रोजेक्ट
खाली इनपुट और वैकल्पिक विभाजन जाँचें तथा खाली या लंबे शब्द अस्वीकार करते हुए टर्मिनल प्रदर्शन चौड़ाई का दावा न करें.
def wrap_words(words, width):
words = tuple(words)
if type(width) is not int or not 1 <= width <= 80 or len(words) > 100:
raise ValueError("wrap.limit")
if any(type(w) is not str or not w or len(w) > width or any(c.isspace() for c in w) for w in words):
raise ValueError("wrap.word")
n = len(words)
costs, ends = [0] * (n+1), [0] * n
for i in range(n-1, -1, -1):
used, best = 0, None
for j in range(i, n):
used += len(words[j]) + (j > i)
if used > width:
break
cost = 0 if j == n-1 else (width-used)**2 + costs[j+1]
if best is None or cost < best:
best, ends[i] = cost, j+1
costs[i] = best
lines, i = [], 0
while i < n:
lines.append(" ".join(words[i:ends[i]]))
i = ends[i]
return lines
AI के साथ कोड का कार्यक्षेत्र
पाठ लेआउट के बदलाव को समीक्षा योग्य उद्देश्य दें
LineCitrine जुड़े एआई मॉडल के साथ आउटपुट स्वरूपण के निर्णयों पर काम करने वाले डेवलपर के लिए Windows कोडिंग कार्यक्षेत्र देता है। लेआउट अनुरोध की समीक्षा आसान होती है जब उसमें बेहतर परिणाम का अर्थ स्पष्ट हो। बदलाव माँगने से पहले परियोजना फ़ोल्डर खोलें और बातचीत में फ़ॉर्मैटर, उसका उपयोग करने वाला कोड और प्रतिनिधि इनपुट लाएँ।
एक उदाहरण सादे पाठ में ऐसा पंक्ति विभाजन माँगता है जो अंतिम पंक्ति को अलग मानते हुए अप्रयुक्त स्थान के वर्गों का योग न्यूनतम करे। अनुमत शब्द, चौड़ाई की सीमा और लागत नियम स्पष्ट करें। मॉडल से इसी उद्देश्य के अनुसार संभावित विभाजनों की तुलना करने को कहें। कोड-पॉइंट लंबाई को प्रदर्शित कॉलम चौड़ाई से अलग रखें, ताकि प्रस्ताव चुपचाप चुने निरूपण से अधिक व्यवहार का वादा न करे।
सुझाए संपादन को वैकल्पिक लेआउट, खाली इनपुट और स्वीकृत चौड़ाई से लंबे शब्द से जाँचें। परियोजना की जाँच चलाएँ और चुने छोटे उदाहरणों की अपेक्षित लागत गणना करें। परिणाम में शब्द सुरक्षित रहें और घोषित उद्देश्य पूरा हो; केवल एक फ़ॉन्ट में संतुलित दिखना पर्याप्त नहीं है। उपयोग करने वाले प्रारूप की अतिरिक्त आवश्यकताएँ हों तो उन्हें शामिल करें।
समर्थित OpenAI-संगत या Anthropic एंडपॉइंट LineCitrine का मॉडल कनेक्शन देता है। जहाँ अप्रतिबंधित एआई मॉडल उपलब्ध हों, आवश्यक प्रवेश प्रमाण से उन्हें चुन सकते हैं। मॉडल और सर्वर पाबंदियाँ, संदर्भ सीमाएँ और टूल समर्थन तय करते हैं; लेआउट का उद्देश्य आपकी परिभाषित और सत्यापित की जाने वाली आवश्यकता रहता है।
पंक्ति विभाजन के प्रस्ताव से जुड़े प्रश्न
अनुरोध में अंतिम पंक्ति के बारे में क्या कहूँ?
बताएँ कि उसका अप्रयुक्त स्थान लागत में गिना जाए या नहीं। उदाहरण का उद्देश्य उसे नहीं गिनता, जिससे पसंदीदा विभाजन बदल सकते हैं। ऐसा छोटा उदाहरण दें जहाँ यह चुनाव असर डालता हो और प्रस्तावित आउटपुट की तुलना अपने वास्तविक लागत नियम से करें।
क्या कोड-पॉइंट चौड़ाई को टर्मिनल चौड़ाई मान सकते हैं?
सामान्यतः नहीं। संयुक्त चिह्न और चौड़े अक्षर अपने कोड-पॉइंट की संख्या से अलग जगह ले सकते हैं। अनुबंध में माप स्पष्ट रखें। टर्मिनल कॉलम महत्वपूर्ण हों तो यह अलग आवश्यकता बताएँ और वास्तविक रेंडरिंग परिवेश में आवश्यक प्रबंधन जाँचें।
व्याख्या पर भरोसा किए बिना अनुकूलन कैसे जाँचूँ?
कुछ वैकल्पिक विभाजनों वाले छोटे इनपुट लें और उनकी अपेक्षित लागत स्वतंत्र रूप से निकालें। जाँचें कि प्रस्ताव दिए नियम के तहत अनुमत न्यूनतम चुनता है। फिर इन उदाहरणों से बाहर के व्यवहार में बदलाव देखने के लिए व्यापक परियोजना परीक्षण चलाएँ।
बहुत लंबे शब्द का क्या होना चाहिए?
बताएँ कि फ़ॉर्मैटर उसे अस्वीकार करे, बाँटे या सीमा से बाहर जाने दे। उदाहरण स्वीकृत चौड़ाई से लंबे शब्द अस्वीकार करता है। उस रास्ते और कॉल करने वाले कोड को जाँचें ताकि लेआउट संपादन चुपचाप सामग्री का अलग रूपांतरण या त्रुटि नीति न लाए।