質問編集履歴

3

コードの修正

2021/08/12 02:43

投稿

Yuhara327
Yuhara327

スコア9

test CHANGED
File without changes
test CHANGED
@@ -70,7 +70,7 @@
70
70
 
71
71
  }
72
72
 
73
- Evolution(name: Monster1)
73
+ Evolution(monsterNumber: Monster1)
74
74
 
75
75
 
76
76
 
@@ -82,21 +82,11 @@
82
82
 
83
83
 
84
84
 
85
- error: TestField.playground:30:10: error: incorrect argument label in call (have 'name:', expected 'monsterNumber:')
85
+ error: TestField.playground:30:26: error: cannot convert value of type 'Monster' to expected argument type 'String'
86
86
 
87
- Evolution(name: Monster1)
87
+ Evolution(monsterNumber: Monster1)
88
88
 
89
- ^~~~~
90
-
91
- monsterNumber
92
-
93
-
94
-
95
- error: TestField.playground:30:17: error: cannot convert value of type 'Monster' to expected argument type 'String'
96
-
97
- Evolution(name: Monster1)
98
-
99
- ^
89
+ ^
100
90
 
101
91
 
102
92
 
@@ -136,6 +126,4 @@
136
126
 
137
127
  ~~~~~~~~~~~~~ ^~
138
128
 
139
-
140
-
141
129
  ```

2

質問文の誤字修正

2021/08/12 02:43

投稿

Yuhara327
Yuhara327

スコア9

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ###### 書いてみたこと
8
8
 
9
- インスタンス名を受け取り、インスタンス名.hpとdfに+100,インスタンス名.dfに+50して表示する関数という形で書いてみました。よろしくお願いします。
9
+ インスタンス名を受け取り、インスタンス名.hpに+100,インスタンス名.dfに+50して表示する関数という形で書いてみました。よろしくお願いします。
10
10
 
11
11
  下がエラーメッセージです。
12
12
 

1

コード、質問文の修正

2021/08/12 01:33

投稿

Yuhara327
Yuhara327

スコア9

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,14 @@
1
- クラスとインスタンスについて学習したので、「名前」「体力」「防御力」の3変数を持ち、値を表示するというものを作りました。
1
+ クラスとインスタンスについて学習したので、「名前(name)」「体力(hp)」「防御力(df)」の3変数を持ち、値を表示するというクラスを作りました。
2
+
3
+ #####作りたい物
4
+
5
+ 任意のインスタンスのhpとdfに数を足して表示したい
6
+
7
+ ###### 書いてみたこと
8
+
9
+ インスタンス名を受け取り、インスタンス名.hpとdfに+100,インスタンス名.dfに+50して表示する関数という形で書いてみました。よろしくお願いします。
10
+
11
+ 下がエラーメッセージです。
2
12
 
3
13
  ```swift
4
14
 
@@ -34,8 +44,98 @@
34
44
 
35
45
 
36
46
 
47
+ let Monster2 = Monster()
48
+
49
+ Monster2.name = "killerMachine"
50
+
51
+ Monster2.hp = 200
52
+
53
+ Monster2.df = 100
54
+
55
+ Monster2.display()
56
+
57
+
58
+
59
+ func Evolution (monsterNumber: String){
60
+
61
+ monsterNumber.hp += 100
62
+
63
+ monsterNumber.df += 50
64
+
65
+ print("(monsterNumber.name!)が進化した")
66
+
67
+ print("HP:(monsterNumber.hp!)")
68
+
69
+ print("DF:(monsterNumber.df!)")
70
+
71
+ }
72
+
73
+ Evolution(name: Monster1)
74
+
75
+
76
+
37
77
  ```
38
78
 
39
- 次に、「進化」のような関数で、体力と防御力の値をいくらか増やし、また値を表示するというコードを書こうと思ったのですが、最初のクラス内にある変数を外から参照できないので困っています。どうすれば良いでしょうか。
79
+ ```Error
40
80
 
41
- Playgroundです。
81
+ Playground execution failed:
82
+
83
+
84
+
85
+ error: TestField.playground:30:10: error: incorrect argument label in call (have 'name:', expected 'monsterNumber:')
86
+
87
+ Evolution(name: Monster1)
88
+
89
+ ^~~~~
90
+
91
+ monsterNumber
92
+
93
+
94
+
95
+ error: TestField.playground:30:17: error: cannot convert value of type 'Monster' to expected argument type 'String'
96
+
97
+ Evolution(name: Monster1)
98
+
99
+ ^
100
+
101
+
102
+
103
+ error: TestField.playground:24:19: error: value of type 'String' has no member 'hp'
104
+
105
+ monsterNumber.hp += 100
106
+
107
+ ~~~~~~~~~~~~~ ^~
108
+
109
+
110
+
111
+ error: TestField.playground:25:19: error: value of type 'String' has no member 'df'
112
+
113
+ monsterNumber.df += 50
114
+
115
+ ~~~~~~~~~~~~~ ^~
116
+
117
+
118
+
119
+ error: TestField.playground:26:28: error: value of type 'String' has no member 'name'
120
+
121
+ print("(monsterNumber.name!)が進化した")
122
+
123
+
124
+
125
+ error: TestField.playground:27:31: error: value of type 'String' has no member 'hp'
126
+
127
+ print("HP:(monsterNumber.hp!)")
128
+
129
+ ~~~~~~~~~~~~~ ^~
130
+
131
+
132
+
133
+ error: TestField.playground:28:31: error: value of type 'String' has no member 'df'
134
+
135
+ print("DF:(monsterNumber.df!)")
136
+
137
+ ~~~~~~~~~~~~~ ^~
138
+
139
+
140
+
141
+ ```