teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

ファイルを起動をファイルを実行に変更

2018/10/08 05:01

投稿

ruei
ruei

スコア284

title CHANGED
File without changes
body CHANGED
@@ -32,7 +32,7 @@
32
32
  解決方法をご教示いただけると幸いです。
33
33
 
34
34
 
35
- (define-input-var dimensions 3 'integer)を動かすのに必要そうな場所をbase/io-vars.scmから抜粋して以下のように一つのファイルにして起動するとエラーは出なくなります。
35
+ (define-input-var dimensions 3 'integer)を動かすのに必要そうな場所をbase/io-vars.scmから抜粋して以下のように一つのファイルにして実行するとエラーは出なくなります。
36
36
 
37
37
  ```ここに言語を入力
38
38
  (define input-var-list '())

4

一つのファイルにまとめた時の動作を追記

2018/10/08 05:01

投稿

ruei
ruei

スコア284

title CHANGED
File without changes
body CHANGED
@@ -29,4 +29,34 @@
29
29
  となっています。
30
30
 
31
31
  エラーの原因が分かりません。
32
- 解決方法をご教示いただけると幸いです。
32
+ 解決方法をご教示いただけると幸いです。
33
+
34
+
35
+ (define-input-var dimensions 3 'integer)を動かすのに必要そうな場所をbase/io-vars.scmから抜粋して以下のように一つのファイルにして起動するとエラーは出なくなります。
36
+
37
+ ```ここに言語を入力
38
+ (define input-var-list '())
39
+
40
+ (define (make-var value-thunk var-name var-type-name var-constraints)
41
+ (list var-name var-type-name var-constraints value-thunk))
42
+
43
+ (defmacro-public define-param (name value)
44
+ `(define ,name (if (defined? (quote ,name)) ,name ,value)))
45
+
46
+ (define (input-var! value-thunk var-name var-type-name . var-constraints)
47
+ (let ((new-var (make-var value-thunk var-name
48
+ var-type-name var-constraints)))
49
+ (set! input-var-list (cons new-var input-var-list))
50
+ new-var))
51
+
52
+ (defmacro-public define-input-var
53
+ (name init-val var-type-name . var-constraints)
54
+ `(begin
55
+ (define-param ,name ,init-val)
56
+ (input-var! (lambda () ,name) (quote ,name)
57
+ ,var-type-name ,@var-constraints)))
58
+
59
+ ;---------ここまでbase/io-varsの抜粋-------------------
60
+
61
+ (define-input-var dimensions 3 'integer)
62
+ ```

3

文法ミスを修正

2018/10/08 05:00

投稿

ruei
ruei

スコア284

title CHANGED
File without changes
body CHANGED
@@ -24,7 +24,7 @@
24
24
  `(begin
25
25
  (define-param ,name ,init-val)
26
26
  (input-var! (lambda () ,name) (quote ,name)
27
- ,var-type-name ,@var-constraints))
27
+ ,var-type-name ,@var-constraints)))
28
28
  ```
29
29
  となっています。
30
30
 

2

io-vars.scmの場所を間違えていたのを修正

2018/10/08 04:24

投稿

ruei
ruei

スコア284

title CHANGED
File without changes
body CHANGED
@@ -17,7 +17,7 @@
17
17
  (define-input-var dimensions 3 'integer)
18
18
  ```
19
19
  となっています。
20
- define-input-varの定義はlibctl/io-vars.scmにあり、
20
+ define-input-varの定義はlibctl/base/io-vars.scmにあり、
21
21
  ```ここに言語を入力
22
22
  (defmacro-public define-input-var
23
23
  (name init-val var-type-name . var-constraints)

1

不要部分を削除

2018/10/08 04:23

投稿

ruei
ruei

スコア284

title CHANGED
File without changes
body CHANGED
@@ -1,15 +1,15 @@
1
1
  Schemeのライブラリ[libctl](https://github.com/stevengj/libctl)を勉強しています。
2
2
  ```Scheme
3
- (load "../../libctl/base/io-vars.scm")
3
+ (load "libctl/base/io-vars.scm")
4
- (load "../../libctl/base/matrix3x3.scm")
4
+ (load "libctl/base/matrix3x3.scm")
5
- (load "../../libctl/base/vector3.scm")
5
+ (load "libctl/base/vector3.scm")
6
- (load "../../libctl/base/utils.scm")
6
+ (load "libctl/base/utils.scm")
7
- (load "../../libctl/base/class.scm")
7
+ (load "libctl/base/class.scm")
8
- (load "../../libctl/utils/geom.scm")
8
+ (load "libctl/utils/geom.scm")
9
9
  ```
10
10
  を動かしてみると、
11
11
  ```ここに言語を入力
12
- /libctl/utils/geom.scm:196:0: In procedure module-lookup: Unbound variable: dimensions
12
+ libctl/utils/geom.scm:196:0: In procedure module-lookup: Unbound variable: dimensions
13
13
  ```
14
14
  というエラーがでます。
15
15
  libctl/utils/geom.scmの196行目を覗くと