質問編集履歴

1

sの(p,q)とは何なのか?わかりにくかったので文を修正させて頂きました。

2022/01/08 08:51

投稿

kinoko-_.
kinoko-_.

スコア8

test CHANGED
File without changes
test CHANGED
@@ -13,6 +13,30 @@
13
13
  return文の際にreturn string(p + stm.p, q + stm.q)と書くとなぜしっかりpとqの足した値が返ってくるのでしょうか?
14
14
 
15
15
  return文の際、stringの型で返さなければsの(p,q)だけ計算される仕組みがよくわかりません。
16
+
17
+
18
+
19
+ ※sの(p,q)とはsのオブジェクトの値であるs(200, 300)を指します。
20
+
21
+ 本来ならreturn string(p + stm.p, q + stm.q)すると
22
+
23
+ sの200の値とwの100の値が足し合わさってeのpには300が格納され
24
+
25
+ eのqにはsのqとwのqが足し合わさってeのqには500が格納されるコードです。
26
+
27
+ ただreturn文で
28
+
29
+ return string(p + stm.p, q + stm.q)
30
+
31
+ 上記のような記述をするとしっかり計算してくれるのですが
32
+
33
+ return (p + stm.p, q + stm.q)
34
+
35
+ 上記のような書き方をすると値が(500,0)と表示されてしまいます。
36
+
37
+ このように帰ってくるのはなぜなのか
38
+
39
+ このあたりの挙動がよくわかりません。
16
40
 
17
41
 
18
42