คำถามติดแท็ก templates

เทมเพลตแท็กใช้ในหลายบริบท: การเขียนโปรแกรมทั่วไป (โดยเฉพาะ C ++) และการสร้างข้อมูล / เอกสารโดยใช้เทมเพลตเอนจิ้น เมื่อใช้แท็กนี้กับคำถามที่มีการใช้งานหนัก - ติดแท็กรหัสภาษาที่มีการใช้งาน

5
ฉันจะบรรลุ if / else ใน mustache.js ได้อย่างไร
ดูเหมือนว่าค่อนข้างแปลกที่ฉันไม่สามารถคิดวิธีการทำสิ่งนี้ในหนวด รองรับหรือไม่ นี่คือความพยายามเศร้าของฉันที่พยายาม: {{#author}} {{#avatar}} <img src="{{avatar}}"/> {{/avatar}} {{#!avatar}} <img src="/images/default_avatar.png" height="75" width="75" /> {{/avatar}} {{/author}} เห็นได้ชัดว่ามันไม่ถูกต้อง แต่เอกสารไม่ได้กล่าวถึงสิ่งนี้ คำว่า "else" ไม่ได้กล่าวถึง :( ทำไมหนวดจึงถูกออกแบบมาในลักษณะนี้? เรื่องแบบนี้ถือว่าไม่ดีเหรอ? พยายามบังคับให้ฉันตั้งค่าเริ่มต้นในตัวแบบเองหรือไม่? เกี่ยวกับกรณีที่ไม่สามารถทำได้

11
วิธีใช้ Class <T> ใน Java
มีการอภิปรายที่ดีเกี่ยวกับ Generics และสิ่งที่พวกเขาทำอยู่เบื้องหลังในคำถามนี้ดังนั้นเราทุกคนรู้ว่านั่นVector&lt;int[]&gt;คือเวกเตอร์ของอาร์เรย์จำนวนเต็มและHashTable&lt;String, Person&gt;เป็นตารางที่คีย์เป็นสตริงและค่าPersons Class&lt;&gt;แต่สิ่งที่ตอฉันก็คือการใช้งานของ คลาส java Classควรใช้ชื่อเทมเพลตด้วย (หรือดังนั้นฉันถูกบอกโดยขีดเส้นใต้สีเหลืองใน eclipse) ฉันไม่เข้าใจสิ่งที่ฉันควรใส่ จุดรวมของClassวัตถุคือเมื่อคุณไม่มีข้อมูลเกี่ยวกับวัตถุอย่างสมบูรณ์เพื่อสะท้อนและเช่นนั้น ทำไมมันทำให้ฉันระบุคลาสที่Classวัตถุจะเก็บ? ฉันไม่รู้แน่ชัดหรือไม่ใช้Classวัตถุฉันจะใช้วัตถุเฉพาะ

8
วิธีการใช้ถ้าคำสั่งในแม่แบบ underscore.js?
ฉันใช้ฟังก์ชัน underscore.js templating และได้ทำเทมเพลตเช่นนี้: &lt;script type="text/template" id="gridItem"&gt; &lt;div class="griditem &lt;%= gridType %&gt; &lt;%= gridSize %&gt;"&gt; &lt;img src="&lt;%= image %&gt;" /&gt; &lt;div class="content"&gt; &lt;span class="subheading"&gt;&lt;%= categoryName %&gt;&lt;/span&gt; &lt;% if (date) { %&gt;&lt;span class="date"&gt;&lt;%= date %&gt;&lt;/span&gt;&lt;% } %&gt; &lt;h2&gt;&lt;%= title %&gt;&lt;/h2&gt; &lt;/div&gt; &lt;/div&gt; &lt;/script&gt; อย่างที่คุณเห็นฉันมีคำสั่ง if ในนั้นเพราะโมเดลของฉันทั้งหมดไม่มีพารามิเตอร์วันที่ date is not definedอย่างไรก็ตามวิธีการทำเช่นนี้มันทำให้ผมมีข้อผิดพลาด ดังนั้นฉันจะทำอย่างไรถ้าข้อความภายในเทมเพลต?

10
แม่แบบพารามิเตอร์มีประโยชน์อย่างไรบ้าง?
ฉันเคยเห็นตัวอย่างของ C ++ โดยใช้พารามิเตอร์แม่แบบแม่แบบ (นั่นคือแม่แบบที่ใช้แม่แบบเป็นพารามิเตอร์) เพื่อทำการออกแบบคลาสตามนโยบาย เทคนิคนี้มีประโยชน์อื่น ๆ อีกบ้าง?

8
แม่แบบ Django วิธีการค้นหาค่าพจนานุกรมด้วยตัวแปร
mydict = {"key1":"value1", "key2":"value2"} วิธีปกติในการค้นหาค่าพจนานุกรมในแม่แบบ Django คือ,{{ mydict.key1 }} {{ mydict.key2 }}ถ้าคีย์เป็นตัวแปรลูป เช่น: {% for item in list %} # where item has an attribute NAME {{ mydict.item.NAME }} # I want to look up mydict[item.NAME] {% endfor %} mydict.item.NAMEล้มเหลว จะแก้ไขได้อย่างไร?

10
ฟังก์ชั่นแลมบ์ดาสามารถ Templated ได้หรือไม่?
ใน C ++ 11 มีวิธีการสร้างฟังก์ชัน lambda หรือไม่? หรือมันเจาะจงเกินไปที่จะรับเทมเพลต? ฉันเข้าใจว่าฉันสามารถกำหนด class / functor คลาสสิกเทมเพลตแทน แต่คำถามเป็นเช่น: ภาษาอนุญาตให้ฟังก์ชัน lambda templating?
230 c++  templates  lambda  c++11 

6
ฟังก์ชันส่งผ่านเป็นอาร์กิวเมนต์แม่แบบ
ฉันกำลังมองหากฎที่เกี่ยวข้องกับการส่งผ่านแม่แบบ C ++ ทำหน้าที่เป็นอาร์กิวเมนต์ สิ่งนี้ได้รับการสนับสนุนโดย C ++ ดังที่แสดงในตัวอย่างที่นี่: #include &lt;iostream&gt; void add1(int &amp;v) { v+=1; } void add2(int &amp;v) { v+=2; } template &lt;void (*T)(int &amp;)&gt; void doOperation() { int temp=0; T(temp); std::cout &lt;&lt; "Result is " &lt;&lt; temp &lt;&lt; std::endl; } int main() { doOperation&lt;add1&gt;(); doOperation&lt;add2&gt;(); } อย่างไรก็ตามการเรียนรู้เกี่ยวกับเทคนิคนี้เป็นเรื่องยาก Googling …

13
เหตุใด C ++ STL จึงขึ้นอยู่กับเทมเพลตเป็นอย่างมาก (และไม่ได้อยู่ใน * อินเตอร์เฟส *)
ฉันหมายถึงนอกเหนือจากชื่อหน้าที่ (ไลบรารีเทมเพลตมาตรฐาน) ... C ++ เริ่มแรกมีจุดประสงค์เพื่อนำเสนอแนวคิดของ OOP ใน C นั่นคือ: คุณสามารถบอกได้ว่าเอนทิตีที่เฉพาะเจาะจงสามารถทำได้และไม่สามารถทำได้ องค์ประกอบของความสามารถบางอย่างยากที่จะอธิบายในลักษณะนี้เนื่องจากปัญหาของการถ่ายทอดทางพันธุกรรมที่หลากหลายและความจริงที่ว่า C ++ รองรับแนวคิดของอินเตอร์เฟสในทางที่ค่อนข้างงุ่มง่าม (เทียบกับ java และอื่น ๆ ) แต่มันมี (และอาจเป็น การปรับปรุง) จากนั้นเทมเพลตก็เข้ามาเล่นพร้อมกับ STL STL ดูเหมือนจะใช้แนวคิด OOP แบบดั้งเดิมและล้างลงในท่อระบายน้ำโดยใช้แม่แบบแทน ควรมีความแตกต่างระหว่างกรณีเมื่อแม่แบบที่ใช้ในการพูดคุยประเภทที่ชุดรูปแบบประเภทที่ไม่เกี่ยวข้องสำหรับการดำเนินงานของแม่แบบ (ภาชนะบรรจุตัวอย่างเช่น) มีvector&lt;int&gt;ความรู้สึกที่สมบูรณ์แบบ อย่างไรก็ตามในกรณีอื่น ๆ (ตัววนซ้ำและอัลกอริทึม) ประเภทของเทมเพลตควรเป็นไปตาม "แนวคิด" (อินพุต Iterator, Forward Iterator เป็นต้น ... ) ซึ่งรายละเอียดที่แท้จริงของแนวคิดถูกกำหนดโดยการนำเทมเพลตมาใช้ทั้งหมด ฟังก์ชั่น / ชั้นเรียนและไม่ตามระดับของประเภทที่ใช้กับแม่แบบซึ่งค่อนข้างต่อต้านการใช้งานของ OOP ตัวอย่างเช่นคุณสามารถบอกฟังก์ชั่น: …
211 c++  oop  templates  stl 

7
ฉันจะแก้ไขแม่แบบ Visual Studio สำหรับ C # คลาส / อินเทอร์เฟซใหม่ได้อย่างไร
ฉันพบว่าตนเองลบข้อความสั่งการนำเข้าต่อไปนี้ในไฟล์ C # เกือบทุกไฟล์ที่ฉันสร้างใน Visual Studio: using System.Collections.Generic; using System.Linq; using System.Text; แน่นอนว่ามันง่ายที่จะทำเช่นนี้กับ Resharper แต่ฉันไม่ควรทำ ต้องมีเทมเพลต (คลาสอินเทอร์เฟซ) บางแห่งในไดเรกทอรี VS ซึ่งฉันสามารถลบบรรทัดที่ละเมิดออกได้ ฉันจะหาไฟล์เหล่านี้ได้จากที่ไหน? มีวิธีที่ดีกว่าในการควบคุมรายการนำเข้าเริ่มต้นหรือไม่

18
เครื่องยนต์ jQuery templating [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังมองหาเอ็นจิ้นแม่แบบเพื่อใช้ฝั่งไคลเอ็นต์ ฉันลองใช้บางอย่างเช่น jsRepeater และ jQuery Templates ในขณะที่พวกเขาดูเหมือนจะทำงานได้ดีใน FireFox พวกเขาทั้งหมดดูเหมือนจะพังลงใน IE7 เมื่อมันลงมาเพื่อแสดงผลตาราง HTML ฉันยังดูที่ MicrosoftAjaxTemplates.js (จากhttp://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=16766 ) แต่ปรากฎว่ามีปัญหาเดียวกัน คำแนะนำเกี่ยวกับเครื่องมือสร้างแรงดันไฟฟ้าอื่น ๆ ที่จะใช้?

13
อะไรคือความแตกต่างระหว่าง Generics ใน C # และ Java ... และ Templates ใน C ++ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ปิดให้บริการใน6 ปีที่ผ่านมา ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันใช้จาวาและ generics เป็นส่วนใหญ่ค่อนข้างใหม่ ฉันอ่านต่อไปว่า Java ทำการตัดสินใจผิดหรือว่า. NET มีการใช้งานที่ดีขึ้น ฯลฯ ดังนั้นอะไรคือความแตกต่างที่สำคัญระหว่าง C ++, C #, Java ใน generics? ข้อดี / ข้อเสียของแต่ละคน?
203 c#  java  c++  generics  templates 

3
เหตุใดฉันจึงต้องเข้าถึงสมาชิกคลาสฐานแม่แบบผ่านตัวชี้นี้
หากคลาสด้านล่างไม่ใช่เทมเพลตฉันสามารถมีได้เฉพาะxในderivedคลาส แต่ด้วยรหัสข้างล่างนี้ผมต้องthis-&gt;xใช้ ทำไม? template &lt;typename T&gt; class base { protected: int x; }; template &lt;typename T&gt; class derived : public base&lt;T&gt; { public: int f() { return this-&gt;x; } }; int main() { derived&lt;int&gt; d; d.f(); return 0; }

3
เข้าถึงตัวแปรที่อยู่นอกขอบเขตของ Handlebars.js แต่ละลูป
ฉันมีแม่แบบ handlebars.js แบบนี้: {{externalValue}} &lt;select name="test"&gt; {{#each myCollection}} &lt;option value="{{id}}"&gt;{{title}} {{externalValue}}&lt;/option&gt; {{/each}} &lt;/select&gt; และนี่คือผลลัพธ์ที่สร้างขึ้น: myExternalValue &lt;select name="test"&gt; &lt;option value="1"&gt;First element &lt;/option&gt; &lt;option value="2"&gt;Second element &lt;/option&gt; &lt;option value="3"&gt;Third element &lt;/option&gt; &lt;/select&gt; ตามที่คาดไว้ฉันสามารถเข้าถึงidและtitleฟิลด์ของทุกองค์ประกอบของmyCollectionเพื่อสร้างตัวเลือกของฉัน และนอกการเลือกexternalValueตัวแปรของฉันจะถูกพิมพ์อย่างถูกต้อง ("myExternalValue") น่าเสียดายที่ในตัวเลือก 'ข้อความexternalValueค่าจะไม่ถูกพิมพ์ออกมา คำถามของฉันคือฉันจะเข้าถึงตัวแปรนอกขอบเขตของแฮนด์บาร์แต่ละอันจากภายในลูปได้อย่างไร

5
อาร์กิวเมนต์แม่แบบเริ่มต้นสำหรับแม่แบบฟังก์ชัน
เหตุใดแม่แบบเริ่มต้นจึงอนุญาตให้ใช้เฉพาะในแม่แบบชั้นเรียนเท่านั้น ทำไมเราไม่สามารถกำหนดประเภทเริ่มต้นในเทมเพลตฟังก์ชันสมาชิกได้? ตัวอย่างเช่น: struct mycclass { template&lt;class T=int&gt; void mymember(T* vec) { // ... } }; แต่ C ++ จะบังคับให้อาร์กิวเมนต์แม่แบบเริ่มต้นนั้นได้รับอนุญาตในแม่แบบคลาสเท่านั้น
187 c++  templates 


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.