2017-09-28 35 views
1

我是Applescript和編碼領域的新手。我正在嘗試一些小腳本來讓我的腳溼潤並且有一些樂趣。將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 
+0

如果你要讀取一個文件來製作一個列表,那麼它應該是一個純文本文件,而不是一個Rich Text文件。至於錯誤...「不能使」/Users/Home/Desktop/text.rtf「變成類型文件」,這意味着路徑文件名的某些部分是錯誤的。 – user3439894

+0

順便說一句除了「無法將」/Users/Home/Desktop/text.rtf「放入類型文件」之外,還有很多其他代碼錯誤。錯誤,並且在修復該錯誤之後你會發現這一點。 – user3439894

+0

其他問題:1.'draw_prompt的段落i的draw_prompt結束應該是'draw_promptList'的'',你的列表名稱是錯誤的。 2.'設置list_count爲draw_prompt的數量'應該是'draw_prompt中的段落數量'3.'將pick從1設置爲list_count',你已經設置了_variable_'pick'但是不使用它在_code_的其他地方發佈,爲什麼它甚至在那裏? 4'顯示對話框「嘗試繪製」&draw_prompt&return的某個項目應該是'draw_promptList的某個項目。你的列表名是錯誤的,爲什麼追加'return',它真的需要在那裏嗎? – user3439894

回答

0

如果我知道你要問什麼正確,讀取文件並打開該文件的每一行成物品列表中的,那麼這裏是一個辦法是可以做到的。

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 

如果你想確保你不加空行,如果有任何,到列表中,然後使用以下代替:

​​
+0

「讀取文件並將該文件的每一行變爲列表中的項目」 是的!就是這樣。我編輯了我的問題以包含我的代碼。 – Jiosen

相關問題