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

回答編集履歴

4

Racketのコード修正

2025/08/28 16:26

投稿

cametan
cametan

スコア209

answer CHANGED
@@ -21,21 +21,22 @@
21
21
 
22
22
  ```Racket
23
23
  #!/usr/bin/env racket
24
- #lang racket
24
+ #lang racket/base
25
25
 
26
+ (require (only-in srfi/1 append!))
27
+
26
28
  (define add-item
27
29
  (case-lambda
28
- ((item items) (set! items (append items `(,item)))
30
+ ((item items) (append! items `(,item)))
29
- items)
30
31
  ((item) (add-item item '()))))
31
32
 
32
33
  (module+ main
33
34
  ;; 使用例
34
35
  (let ((list1 (add-item "test1")))
35
- (printf "1回目: ~a~%" list1) ; 期待値: (test1)
36
+ (printf "1回目: ~a~%" list1) ; 期待値: (test1)
36
37
  (let ((list2 (add-item "test2")))
37
38
  (printf "2回目: ~a~%" list2) ; 期待値: (test2)
38
- )))
39
+ )))
39
40
  ```
40
41
 
41
42
  ```Ruby
@@ -48,10 +49,10 @@
48
49
  if __FILE__ == $0
49
50
  # 使用例
50
51
  list1 = add_item("test1")
51
- puts("1回目: #{list1}")
52
+ puts("1回目: #{list1}") # 期待値: ["test1"]
52
53
 
53
54
  list2 = add_item("test2")
54
- puts("2回目: #{list2}")
55
+ puts("2回目: #{list2}") # 期待値: ["test2"]
55
56
  end
56
57
 
57
58
  ```

3

Racketコードにコメント追加

2025/08/28 09:29

投稿

cametan
cametan

スコア209

answer CHANGED
@@ -30,10 +30,11 @@
30
30
  ((item) (add-item item '()))))
31
31
 
32
32
  (module+ main
33
+ ;; 使用例
33
34
  (let ((list1 (add-item "test1")))
34
- (printf "1回目: ~a~%" list1) ; 期待値: ("test1")
35
+ (printf "1回目: ~a~%" list1) ; 期待値: (test1)
35
36
  (let ((list2 (add-item "test2")))
36
- (printf "2回目: ~a~%" list2) ; 期待値: ("test2")
37
+ (printf "2回目: ~a~%" list2) ; 期待値: (test2)
37
38
  )))
38
39
  ```
39
40
 

2

Racketのコードもmelian氏の指摘通り修正。

2025/08/28 09:20

投稿

cametan
cametan

スコア209

answer CHANGED
@@ -25,7 +25,7 @@
25
25
 
26
26
  (define add-item
27
27
  (case-lambda
28
- ((item items) (set! items (cons item items))
28
+ ((item items) (set! items (append items `(,item)))
29
29
  items)
30
30
  ((item) (add-item item '()))))
31
31
 

1

melian氏の指摘によるコード修正

2025/08/28 09:16

投稿

cametan
cametan

スコア209

answer CHANGED
@@ -79,7 +79,7 @@
79
79
  #!/usr/bin/env python3
80
80
 
81
81
  def add_item(item, items=[]):
82
- return [item] + items
82
+ return items + [item]
83
83
 
84
84
  if __name__ == '__main__':
85
85
  # 使用例