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

回答編集履歴

2

ちょっと追加

2018/04/19 10:15

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -6,6 +6,7 @@
6
6
 
7
7
  という用語を使うとするとcall by sharingが一番しっくりきそうに思います。(hayataka2049さんありがとうございます)。pythonだけでなくjavaとかC#(の参照型)とか多くの言語でもお馴染みの評価戦略だと思います。call by valueとずっと捉えてたのですがその用語を使うのは控えてcall by sharingといおうと思いました。
8
8
 
9
+ 以下の元の回答
9
10
  ---
10
11
  参照渡しはできません。常に値渡しです。
11
12
 

1

訂正

2018/04/19 10:15

投稿

KSwordOfHaste
KSwordOfHaste

スコア18404

answer CHANGED
@@ -1,3 +1,12 @@
1
+ 追記: 本件からちょっと外れてしまうかもしれませんが、下手に「値渡し」と書いてしまいお馴染みの混乱を招く結果になってしまったようです。
2
+
3
+ call by value
4
+ call by reference
5
+ call by sharing
6
+
7
+ という用語を使うとするとcall by sharingが一番しっくりきそうに思います。(hayataka2049さんありがとうございます)。pythonだけでなくjavaとかC#(の参照型)とか多くの言語でもお馴染みの評価戦略だと思います。call by valueとずっと捉えてたのですがその用語を使うのは控えてcall by sharingといおうと思いました。
8
+
9
+ ---
1
10
  参照渡しはできません。常に値渡しです。
2
11
 
3
12
  変更した値を何らかの変更可能なコンポーネントオブジェクト(listとかdictとか)の要素にしておいて、関数の中でコンポーネントオブジェクトの要素を変更するようにすればまぁポインター渡しっぽいことができなくはないです。