⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scripting_2__arguments_to_commands.html

📁 语音信号处理软件praat教程:这是一部入门教程
💻 HTML
字号:
<html><head><meta name="robots" content="index,follow">
<title>脚本 2. 命令参数</title></head><body bgcolor="#FFFFFF">

<table border=0 cellpadding=0 cellspacing=0><tr><td bgcolor="#CCCC00"><table border=4 cellpadding=9><tr><td align=middle bgcolor="#000000"><font face="Palatino,Times" size=6 color="#999900"><b>
脚本 2. 命令参数
</b></font></table></table>
<p>
本章介绍如何使用需要<i>参数</i>的命令——就是那些按钮文字以“...”结尾的命令。单击这类按钮一般都会弹出一个<i>设置窗口</i>,要求用户提供<i>参数</i>(设置),然后按下OK(确定)按钮。在脚本当中,这一切参数均必须与命令名称写在同一行内,并与设置窗口中自上而下的顺序一致。</p>
<h3>
数值参数</h3>
<p>
执行Picture(画板)窗口内World(界域)选单下的<b>Draw line...(画线)</b>命令,通常会弹出一个设置窗口,要求用户提供数值参数<i>From x</i>、<i>From y</i>、<i>To x</i>和<i>To y</i>的值(从上到下)。要想从点(0, 0.5)到点(1, 1)画线,相应的参数值便须设为0、0.5、1还有1。脚本中的命令则应写成这样:</p>
<code>
Draw line... 0 0.5 1 1<br></code>
<h3>
复选按钮</h3>
<p>
在脚本中要向<i>复选按钮</i>(是/否选择)提供“true”或“false”值,也可缩写为“t”等,首字母大写也可以;还可以用“yes”或“no”,甚至是“1”或“0”:</p>
<code>
Marks left every... 1.0 100 yes yes no<br></code>
<h3>
单选框</h3>
<p>
要向<i>单选框</i>(多个选项)提供希望选择的按钮上面的文字:</p>
<code>
Print picture to PostScript printer... Finest A4 Portrait 1.0<br></code>
<p>
如果选项文字(最后一个参数除外)包含空格,应当用双引号括引:</p>
<code>
Print picture to PostScript printer... Finest "US Letter" Portrait 1.0<br></code>
<p>
之所以必须使用双引号,因为空格通常用来分隔参数。在“US Letter”两边加引号便能确保第2个参数包含两个单词。如果不加这对引号,解释器程序就会认为第2个参数是“US”,第3个参数是“Letter”,而第4个参数是这一行剩余部分的文字,即“Portrait 1.0”,结果,命令的执行就会出错,并得到提示如下:</p>
<code>
`Paper size' cannot have the value "US".<br></code>
<h3>
文本参数</h3>
<p>
一行中最后一个文本参数不加引号:</p>
<code>
Text... 400 Centre 1.5 Bottom This is the summit<br></code>
<p>
虽然空格用来分隔参数,但最后一个参数,不管包含不包含空格,一律无须括引。这是因为解释器程序了解<b>Text...(文本)</b>命令需要5个参数。第5个参数便是写在前面4个参数之后的所有文字。了解了这一点,便不必再受<i>引号妄想症</i>的罪了——举个例子,当文本内容本身就包含引号时:</p>
<code>
Text... 0.5 Centre 0.5 Half "hello world"<br></code>
<p>
此例中,“hello world”两边的引号也会印到Picture窗口中。</p>
<p>
考虑到这些问题,差不多所有设置窗口中的文本选项都在最后(最底下)给出,这样就不用在脚本中添加引号了。但也有个别命令要求不只一个文本参数。不在末尾的文本参数,凡为空或含有空格者,都应当用双引号括引(其他情况自愿):</p>
<code>
Add menu command... Objects New "Create a Bicycle..." "" 0 /u/miep/createBicycle.script<br></code>
<p>
假如这类文本内容本身也需要包含双引号,请<i>复写</i>双引号:</p>
<code>
Add menu command... Objects New "Create a ""Bicycle""..." (etc.)<br></code>
<p>
应在脚本中避免如此复写引号,尤其当文本系由字符串变量扩展所得时。</p>
<h3>
文件参数</h3>
<p>
位于Read(读取)与Write(写入)选单下的命令,另及若干名称以Read、Open或Write开头的命令,弹出的是一个<i>文件选取窗口</i>,而不是典型的Praat设置窗口。文件选取窗口仅要求用户提供一个参数,即文件名。</p>
<p>
在脚本中,可以提供完整<i>路径</i>,包括目录(文件夹)层级与文件名两部分。在Windows操作系统下,大概形式如下:</p>
<code>
Read from file... D:\Sounds\Animals\miauw.aifc<br></code>
<p>
不用这种完整路径,还可以用<i>相对</i>路径名。这类路径将相对脚本所在目录而定。</p>
<p>
在Windows下,凡不以反斜线开头的,就是相对路径名(译者注:以卷符、冒号和反斜线开头的也是完整路径,而非相对路径)。所以,可能脚本文件是C:\Sounds\Analysis.praat,并用以下脚本读取声音文件:</p>
<code>
Read from file... Animals\miauw.aifc<br></code>
<p>
当然,脚本文件并非必须位于目标文件所在目录的<i>上级</i>,同级目录,比如D:\Scripts,也可以。然则需要这样书写命令:</p>
<code>
Read from file... ..\Animals\miauw.aifc<br></code>
<h3>
自动提供参数</h3>
<p>
如果不愿意手工从设置窗口往脚本里面复制参数,可以利用<a href="History_mechanism.html">历史机制</a>自动完成工作:执行<a href="ScriptEditor.html">ScriptEditor(脚本编辑器)</a>窗口中Edit(编辑)选单下的<a href="Clear_history.html">Clear history(清除历史记录)</a>命令。单击您的命令按钮,编辑设定参数,然后单击OK(确定)按钮。命令得以执行。然后执行<a href="Paste_history.html">Paste history(粘贴历史记录)</a>命令,包括了具体参数(已正确括引)的脚本代码将在ScriptEditor窗口中出现。不妨以此为基础,改写出新的脚本代码。</p>
<h3>指向本页的链接</h3>
<ul>
<li><a href="Scripting.html">脚本</a>
<li><a href="Scripting_1__My_first_script.html">脚本 1. 我的第一个脚本</a>
</ul>
<hr>
<address>
	<p>&copy; ppgb, December 29, 2004</p>
	<p>&copy; 翻译:徐清白,2005年05月24日</p>
</address>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -