何かがこれを助けることができれば本当に感謝します。私はこれを働かそうとしている日に頭を叩いていました。私はインターネットを検索し、マニュアルを読み返したが、私は理解していない。スキーム:位置が間違ったタイプの引数
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)
私は、フォーマットが非STD知っている - それが動作するとき、私はそれを修正します。
編集----------------------------------------- コード(うまくいけば合理的になりましたフォーマット済み):
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__
あなたは両方の場所で 'heading-list'の周りに余分な括弧を持っています。そんなことはしないでください。そのような問題を解決するのが難しくなります。また、全体的なコードはいくつかの場所で奇妙に思えますが、なぜ 'mycond'を'#t'にバインドしてから分岐するのですか?リストを返すのではなく、なぜ 'set! 'ですか?こんにちはAlexis。 –
ご協力いただきありがとうございます。私はheading-listの両方で関数のmake-heading-listを削除しました。 'エラー:手続き中(a b c): エラー:適用するタイプが間違っています:(a b c)'これは私が本当にやりたいことを単純化したテストであり、ifをテストしたいので、mycondを使用しています。私はセットを使用しています!いずれにしても仕事をすることができなかったからです。提案が歓迎 - 特にコード例! –
更新されたコードで質問を更新できますか?それは参考になると思います。 –