【问题标题】:Random Number from 1 to Variable in ApplescriptApplescript中从1到变量的随机数
【发布时间】:2014-08-16 01:55:23
【问题描述】:

我正在使用 Applescript 开发一个快速程序来帮助我学习以备考试,但我似乎无法正确生成随机数。这是程序:

repeat
    set page to (random number from 3 to 198) as text
    set dialog1Text to "Page: " & page & "
    How many paragraphs are on this page?"

    display dialog dialog1Text default answer ""
    set userNumParagraphs to text returned of result
    set numParagraphs to (userNumParagraphs) as integer

    set paragraph to (random number from 1 to numParagraphs) as text
    set dialog2Text to "Paragraph: " & paragraph

    display dialog paragraph
end repeat

有一个部分不起作用。就是随机数生成器,这部分:

set paragraph to (random number from 1 to numParagraphs) as text

Applescript 给了我这个错误:

无法将段落设置为(从 1 到 numParagraphs 的随机数)为 文本。不允许访问。

我对这个问题做了很多研究,但我找不到任何东西。我一直在寻找从变量到变量生成随机数的方法,但无济于事。我想知道你们中是否有人知道这样做的方法。可以提供的任何帮助将不胜感激。提前致谢。

【问题讨论】:

    标签: variables random applescript


    【解决方案1】:

    “段落”一词是 applescript 中的保留字。您不能将其用作变量名。就像您对其他人所做的那样,添加前缀始终是一个好习惯。将这两行更改为:

    set theParagraph to (random number from 1 to numParagraphs) as text
    set dialog2Text to "Paragraph: " & theParagraph
    

    为了清洁起见,对“页面”执行相同的操作。将其更改为“thePage”等。

    【讨论】:

    • 您不需要强制将段落“作为文本”
    • 也不需要,真的。 Applescript 将尝试自己的强制;但明确地这样做并不一定是一个坏习惯。我怀疑你和我可以建议对 OP 的代码进行一些改进,但我只关注手头的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-09
    • 1970-01-01
    • 2013-07-22
    • 2018-12-22
    • 2021-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多