รวบรวมข้อความโดยใช้คอมไพเลอร์บรรทัดคำสั่งไม่ใช่ไฟล์


1

ฉันกำลังใช้ luac -p file.lua เพื่อแยกไฟล์เพื่อตรวจสอบข้อผิดพลาดทางไวยากรณ์ เป็นไปได้ไหมที่จะทำสิ่งนี้:

luac -p | [a bunch of text]

มีคนพูดถึงบางอย่างเกี่ยวกับ 'การวางท่อ' แต่ฉันไม่สามารถหาวิธีที่จะช่วยได้

สิ่งที่ฉันต้องการทำคือนำข้อความจากโปรแกรมที่ฉันกำลังเขียนและใส่ข้อความนั้นลงในคอมไพเลอร์ด้วย -p ดังนั้นมันจึงแยกวิเคราะห์ข้อความ โดยทั่วไปฉันต้องการตรวจสอบไวยากรณ์ของ textarea ของโปรแกรมโดยไม่ต้องเขียนมันลงในไฟล์ก่อน


คุณใช้บรรทัดคำสั่งของ Windows สำหรับสิ่งนี้หรือไม่ ถ้าเป็นเช่นนั้นคุณสามารถวนซ้ำได้เช่นนั้น for %a in ("C:\Folder\*.lua") do luac -p | "%~a"....
Bitcoin Murderous Maniac

c: \ folder * .lua ดูเหมือนว่าจะอ้างถึงไฟล์ ฉันกำลังพยายามรวบรวมข้อความโดยไม่มีไฟล์ - อาจจะมาจากคลิปบอร์ดหรือเพียงแค่เพิ่มข้อความทั้งหมดในพรอมต์คำสั่ง ฉันทำสิ่งนี้จากการดำเนินการจาวากระบวนการ (เช่นกันฉันหวังว่าจะทำงานกับ mac และ windows ได้)
tproper

2
ใช่, luac ยอมรับโปรแกรมจาก stdin: luac -p - ดังนั้นเพียงแค่เรียกใช้ cat program.lua | luac -p -
Egor Skriptunoff

ไม่แน่ใจว่าทำงานได้อย่างไร ... program.lua คืออะไร โปรดจำไว้ว่าฉันไม่มีไฟล์มันเป็นข้อความที่จะเข้าไปในสถานี
tproper

คำตอบ:


0

ในทุบตีคุณสามารถทำได้

luac -p - << EOF

จากนั้นพิมพ์ข้อความของคุณ หากต้องการระบุจุดสิ้นสุดให้พิมพ์

EOF

ในบรรทัดใหม่แล้วกด Enter


ฉันเหนื่อย luac -p - << print("Hello) \n EOF และมันเพิ่งเริ่มต้น luac หรืออะไรบางอย่างและจะไม่ส่งคืนข้อผิดพลาดที่หายไป "ในข้อความนั้น
tproper
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.