【问题标题】:Temporary Variable Assistance (Scheme)临时可变援助(计划)
【发布时间】:2014-11-07 17:27:06
【问题描述】:

我正在使用 Scheme (Pretty Big) 制作一个随机句子生成器,但在定义临时变量时遇到了麻烦。我想做这样的事情:

<NOUN1> <VERB1> <NOUN2> <but> <NOUN2> <VERB1> <NOUN2> <also>

例子:鲨鱼吃鱼,但鱼也吃鱼。 我有单词列表,以及从所述列表中选择单词的功能。然后,我使用 append 创建一个函数。我能做到:

(define (sentence) 
  (append (getNoun) '(and) (getNoun) (getVerb))) 

但是,我无法找到临时定义变量的方法。 到目前为止我有这个:

(define (sentence1) 
  (append (getNoun)
          (lambda (verb getVerb)
            (noun getNoun))
          (verb) (noun) '(but) (noun) (verb) (noun)))

请提示/帮助?

【问题讨论】:

    标签: scheme


    【解决方案1】:

    您正在寻找let

    http://docs.racket-lang.org/reference/let.html

    这是一个示例用法:

    (define (my-proc age)
      (let ([age-plus-10 (+ age 10)])
        (printf "age is ~a" age)
        (printf "age-plus-10 is ~a" age-plus-10)))
    

    请注意我们如何临时定义 age-plus-10,然后再使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 2019-12-14
      • 2012-05-04
      • 1970-01-01
      • 2022-06-11
      • 1970-01-01
      • 2012-02-08
      相关资源
      最近更新 更多