ฉันจะใช้เสียงเรียกเข้าเพื่อทำสิ่งนี้โดยอัตโนมัติได้อย่างไร…?


0

ฉันกำลังใช้งานฟังก์ชั่นที่คล้ายกันหลายร้อยรายการในขณะนี้ซึ่งอยู่บนฟอร์ม

String name(String arg1, String arg2, String arg3, String arg4) {
  trampoline("name={name}&arg1={arg1}&arg2={arg2}&arg3={arg3}&arg4={arg4}",
              name, arg1, arg2, arg3, arg4);
}

ส่วนที่ยุ่งยากคือฟังก์ชั่นสามารถใช้เวลาระหว่าง 2 ถึง 10 ข้อโต้แย้ง

ถ้าฉันมีวิธีที่จะทำให้เป็นกลุ่มขอให้ฉัน "ชื่อของฟังก์ชั่น:", "จำนวน args:", "arg1:" ฉันสามารถสร้างฟังก์ชั่นเหล่านี้ได้อย่างง่ายดาย

หากคุณต้องการข้อมูลเพิ่มเติมเพื่อช่วยคุณฉันจะมากกว่ายินดีที่จะจัดหา

ขอบคุณ

คำตอบ:


1

ไม่ได้จริงๆคำตอบ: ถ้าคุณมีอยู่แล้วที่จุดเมื่อคุณรู้ว่าคุณควรอัตโนมัตินี้ (หลายร้อยฟังก์ชั่น), คุณควรจะไปอีกขั้นหนึ่งโดยอัตโนมัติและมันสมบูรณ์: insert_your_favourite_language_hereเขียนรหัสเครื่องกำเนิดไฟฟ้าใน


ตอนนี้ฉันกำลังคิดที่จะทำสิ่งนี้อยู่ แต่ฉันชอบที่จะมีความเชี่ยวชาญในเสียงพูดมากขึ้น
flumpb

ความตั้งใจที่ดี แต่สำหรับงานนี้อาจจะผิดเวลา :)
akira

จุดดีฉันไปข้างหน้าและเขียนเครื่องกำเนิดไฟฟ้า (ใน ..... c ++!) และเสร็จสิ้นวิธีการทั้งหมด :) ฉันจะต้องไปเรียนรู้การเขียนสคริปต์เป็นกลุ่มในเวลาว่างในวันอื่น
flumpb

1

ความคิดแรก: ในกลุ่มมีfor(ลอง:help for)

คุณสามารถสร้างฟังก์ชั่นง่าย ๆ เพื่อทำสิ่งนี้


0

นี่คือคำตอบตามmu-template (ควรง่ายต่อการแปลงเป็น viml ธรรมดาโดยใช้:put)

VimL: " {rtp}/template/{your_filetype}/{yourgenerator}.template
VimL: let s:nb_args = INPUT("Number of args: ")
VimL: let s:args=map(copy(range(1,s:nb_args)), '"arg".v:val')
VimL: let s:formal = join(map(copy(s:args), "'String '.v:val"), ', ')
VimL: let s:real = join(s:args, ', ')
VimL: let s:format = join(map(copy(s:args), "v:val.'={'.v:val.'}'"), '&')
String name(<+s:formal+>) {
    trampoline("name={name}&<+s:format+>",
        name, <+s:real+>);
}
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.