3

誰かがこれを手伝ってくれたら本当にありがたいです。これを機能させるために、私は一日頭を叩いてきました。インターネットで調べたり、説明書を読み返したりしましたが、よくわかりません。

guile << __EOF__

( define heading-list (list 'a 'b 'c)
)

(define (make-heading-list)
  ( let* ((mycond #t))
     ( if mycond
       ( set! 
           heading-list
           ( append (
               heading-list
               (list 'd)
             )
           )
       )
       ( display 'false)
    )
    heading-list
  )
)

(make-heading-list)
__EOF__  

これを実行すると、次のようになります。

ERROR: In procedure setter:
ERROR: In procedure setter: Wrong type argument in position 1: (a b c)

フォーマットが非標準であることはわかっています。動作するようになったら修正します。

EDIT--------------------------------------------- ここに作業コードがあります (うまくいけば、合理的にフォーマットされています今):

guile << __EOF__

(define heading-list (list 'a 'b 'c))

(define (make-heading-list)
  (let* ((mycond #t))
        (if mycond
           (set!
               heading-list
               (append heading-list (list 'd)))
           (display 'false))
         heading-list))

(make-heading-list)
__EOF__
4

1 に答える 1

2

heading-listリストです。あたかも手順であるかのように使用しています。「ゼロ引数に(heading-list)プロシージャを適用する」ことを意味します。heading-listしたがって、「適用するタイプが間違っています」というエラーメッセージが表示されます。

于 2016-06-13T05:30:32.597 に答える