Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 将Applescript变量设置为从文本文件列表_List_Variables_Random_Applescript - Fatal编程技术网

List 将Applescript变量设置为从文本文件列表

List 将Applescript变量设置为从文本文件列表,list,variables,random,applescript,List,Variables,Random,Applescript,我对Applescript和整个编码世界都是新手。我正在尝试一些小脚本,让我的脚湿了,并有一些乐趣 我想做一个随机提示生成器。我知道如何将变量设置为一个列表,但我想到的远不止几个选项。我想知道如何从文本文件中获取信息。在上述文件中,我有200多个提示可供选择。我想制作一个脚本,从这些脚本中随机选择一个,并在对话框中显示它们。我无法将初始变量设置为列表形式的文件内容。我认为我对后续(随机选择)有很好的理解。我希望这是清楚的,谢谢你的关注 编辑: 这是到目前为止我的代码。我一直遇到一个错误:“无法将

我对Applescript和整个编码世界都是新手。我正在尝试一些小脚本,让我的脚湿了,并有一些乐趣

我想做一个随机提示生成器。我知道如何将变量设置为一个列表,但我想到的远不止几个选项。我想知道如何从文本文件中获取信息。在上述文件中,我有200多个提示可供选择。我想制作一个脚本,从这些脚本中随机选择一个,并在对话框中显示它们。我无法将初始变量设置为列表形式的文件内容。我认为我对后续(随机选择)有很好的理解。我希望这是清楚的,谢谢你的关注

编辑: 这是到目前为止我的代码。我一直遇到一个错误:“无法将“/Users/Home/Desktop/text.rtf”转换为类型文件。”不确定这意味着什么

set draw_promptList to {}
set draw_prompt to read "/Users/Home/Desktop/text.rtf"
repeat with i from 1 to count of paragraphs in draw_prompt
set end of draw_prompt to paragraph i of draw_prompt
end repeat
set the list_count to the count of draw_prompt
set pick to random number from 1 to list_count
display dialog "Try drawing " & some item of draw_prompt & return
编辑9/28:我根据修订版修复了它,它可以正常工作。它正是我想要的:从文本文件中的一长串单词中选择一个随机单词

set draw_promptList to {}
set draw_prompt to read "/Users/Home/Desktop/test.txt"
set the list_count to the count of paragraphs in draw_prompt
set pick to random number from 1 to list_count
repeat with i from 1 to count of paragraphs in draw_prompt
    set end of draw_promptList to paragraph i of draw_prompt
end repeat
display dialog "Try drawing " & some item of draw_promptList

如果我正确理解了您的要求,读取一个文件并将该文件的每一行转换为列表中的一项,那么这里有一种方法可以实现

set theFileOfPromptsList to {}
set theFileOfPrompts to read "/path/to/FileOfPrompts"

repeat with i from 1 to count of paragraphs in theFileOfPrompts
    set end of theFileOfPromptsList to paragraph i of theFileOfPrompts
end repeat

如果要确保不在列表中添加空行(如果有),请使用以下选项:

set theFileOfPromptsList to {}
set theFileOfPrompts to read "/path/to/FileOfPrompts"

repeat with i from 1 to count of paragraph in theFileOfPrompts
    if paragraph i of theFileOfPrompts is not "" then
        set end of theFileOfPromptsList to paragraph i of theFileOfPrompts
    end if
end repeat

如果我正确理解了您的要求,读取一个文件并将该文件的每一行转换为列表中的一项,那么这里有一种方法可以实现

set theFileOfPromptsList to {}
set theFileOfPrompts to read "/path/to/FileOfPrompts"

repeat with i from 1 to count of paragraphs in theFileOfPrompts
    set end of theFileOfPromptsList to paragraph i of theFileOfPrompts
end repeat

如果要确保不在列表中添加空行(如果有),请使用以下选项:

set theFileOfPromptsList to {}
set theFileOfPrompts to read "/path/to/FileOfPrompts"

repeat with i from 1 to count of paragraph in theFileOfPrompts
    if paragraph i of theFileOfPrompts is not "" then
        set end of theFileOfPromptsList to paragraph i of theFileOfPrompts
    end if
end repeat

“读取一个文件并将该文件的每一行转换为列表中的一项”是!就是这样。我已经编辑了我的问题以包含我的代码。“读取一个文件并将该文件的每一行转换为列表中的一项”是!就是这样。我已经编辑了我的问题,以包含我的代码。如果您要读取一个文件来列出它,那么它应该是纯文本文件,而不是富文本文件。至于错误。。。“无法将“/Users/Home/Desktop/text.rtf”转换为类型文件。”,这意味着路径文件名的某些部分出错。顺便说一句,除了“无法将“/Users/Home/Desktop/text.rtf”转换为类型文件之外,您的代码还有许多其他问题。错误,在修复该错误后您会发现。其他问题:1<代码>将绘图提示的结尾设置为绘图提示的第一段应为绘图提示列表的
,列表名称错误。2. <代码>将列表计数设置为绘图提示的计数
以计数绘图提示中的段落
3
将pick设置为随机数,从1到list_count
,您已经设置了变量
pick
,但没有在发布的代码中的其他地方使用它,那么为什么它会出现呢?。4
显示对话框“尝试绘图”&绘图提示和返回的某些项目应为
绘图提示列表的某些项目
。您的列表名有误,为什么附加
返回
,它真的需要在那里吗?我按照所有这些更正,代码工作正常!我已经用你的更正编辑了这个问题。另外,我在编辑中遗漏了一行,抱歉。老实说,这个密码是科学怪人说的。我从其他线程和板中的其他建议中拼凑出来,因为我有最宝贵的时间查找信息,所以我将想法联系起来,并进行了大量实验。你帮了大忙。感谢您的修改。我感谢您的修改。但是,在SE网络中表达感谢的最佳方式是将回答您问题的最佳答案标记为已接受(单击答案左侧的复选标记),或者向上投票(如果您有足够的声誉,请单击答案左侧的向上箭头)如果你要读一个文件来列出它,那么它应该是一个纯文本文件,而不是一个富文本文件。至于错误。。。“无法将“/Users/Home/Desktop/text.rtf”转换为类型文件。”,这意味着路径文件名的某些部分出错。顺便说一句,除了“无法将“/Users/Home/Desktop/text.rtf”转换为类型文件之外,您的代码还有许多其他问题。错误,在修复该错误后您会发现。其他问题:1<代码>将绘图提示的结尾设置为绘图提示的第一段
应为绘图提示列表的
,列表名称错误。2. <代码>将列表计数设置为绘图提示的计数
以计数绘图提示中的段落
3
将pick设置为随机数,从1到list_count
,您已经设置了变量
pick
,但没有在发布的代码中的其他地方使用它,那么为什么它会出现呢?。4
显示对话框“尝试绘图”&绘图提示和返回的某些项目应为
绘图提示列表的某些项目
。您的列表名有误,为什么附加
返回
,它真的需要在那里吗?我按照所有这些更正,代码工作正常!我已经用你的更正编辑了这个问题。另外,我在编辑中遗漏了一行,抱歉。老实说,这个密码是科学怪人说的。我从其他线程和板中的其他建议中拼凑出来,因为我有最宝贵的时间查找信息,所以我将想法联系起来,并进行了大量实验。你帮了大忙。感谢您的修改。我感谢您的修改。但是,在SE网络中表达感谢的最佳方式是将回答您问题的最佳答案标记为已接受(单击答案左侧的复选标记),然后根据需要向上投票(如果您有足够的声誉,请单击答案左侧的向上箭头)。