Ada noob(一般来说,命令行也不太热)。我正在寻找类似于“>”的Ada命令行重定向器在DOS中。
我在命令行shell中运行Ada应用程序。 (威廉·惠特克的话,如果有帮助的话)。我使用“@”命令让WORDS应用程序从文本文件中读取术语列表。
我希望将输出写入文件,而不是只显示在命令shell中。我确实看了http://www.ada-auth.org/standards/12rm/html/RM-A-15.html,但没有看到任何重定向*。
同样有助于了解ADA命令行重定向器是创建新文件还是我必须首先自己创建。
我是否需要使用Ada PUT命令? Ada.Text_IO?如果是这样,你能指点一下如何使用这些命令的语法资源吗?我以前从未使用过Ada。
有什么想法?谢谢你的帮助。
答案 0 :(得分:1)
William Whitaker's Words包含一个交互式命令行解释器,但看起来您希望使用command-line模式从另一个程序控制它。具体细节取决于您选择的环境。作为使用bash
的具体示例,而不是从始终写入@<file>
的{{1}}读取,执行WORD.OUT
后跟标准输入上的单词列表;结果显示在标准输出上:
words
从标准输出,您还可以redirect将结果发送到文件;来自$ ./words amo amas
am.o V 1 1 PRES ACTIVE IND 1 S
amo, amare, amavi, amatus V (1st) [XXXAO]
love, like; fall in love with; be fond of; have a tendency to;
am.as N 1 1 ACC P F
ama, amae N (1st) F [XXXDO] lesser
bucket; water bucket; (esp. fireman's bucket);
am.as V 1 1 PRES ACTIVE IND 2 S
amo, amare, amavi, amatus V (1st) [XXXAO]
love, like; fall in love with; be fond of; have a tendency to;
,您可以使用python
或commands
;在Java中,您可以使用subprocess
或exec()
代替example:
ProcessBuilder
答案 1 :(得分:0)
包Ada.Command_Line
用于在Ada程序启动时接收命令行参数。您感兴趣的内容最有可能是Ada.Text_IO
(chapter A.10 in the RM)。
更具体地说,您需要声明一个变量来表示您要将标准输出重定向到的文件:
Redirection : Ada.Text_IO.File_Type;
然后创建并打开它:
Ada.Text_IO.Create (File => Redirection,
Name => "latin.words",
Mode => Ada.Text_IO.Out_File);
最后,您可以重定向标准输出:
Ada.Text_IO.Set_Output (File => Redirection);
答案 2 :(得分:0)
我没想到要先检查Github,但在William Whitaker WORDS项目网站上有一些非常好的信息,包括用户指南:
http://mk270.github.io/whitakers-words/operational.html
我从中学到的是我必须做的是: 在Windows命令行中运行Words时,输入“#”更改参数。
从这里开始: William Whitaker's WORDS beginning interface
然后输入“#”更改程序的参数和模式,然后按Enter键。您将按顺序显示每个参数,您可以输入“n”以保持当前参数设置(可以设置为是或否)或“y”以更改参数设置(是或否)。登记/> [William Whitaker改变参数的话] [2]
完成所有参数后,系统会询问您是否要保存参数更改。下图显示了这一点。 [William Whitaker的WORDS保存所有新参数设置] [3]
不要因为认为可以输入“y”或“n”作为参数设置而混淆。您输入的是关于是否更改当前参数设置的“y”或“n”。
将Write_Output_To_File参数设置为“y”后,您可以使用如下命令运行Words:
@ InputLatinWordList.txt
WORDS将生成一个名为WORD.out的文件,您可以将其打开为文本文件以重命名。