開発環境
- OS X Lion - Apple(OS)
- TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)
- Script言語: Python
『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIV部(関数)のまとめ演習5(ディクショナリのコピー)を解いてみる。
その他参考書籍
5.
コード(TextWrangler)
sample.py
#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-
# 参照渡しの影響による上書きを回避
def copy_dict(dict):
result = {}
for k, v in dict.items():
result[k] = v
return result
d1 = {'a':1,'b':2}
d2 = copy_dict(d1)
d1['c'] = 3
print(d1)
print(d2)
def f(dict):
return dict
入出力結果(Terminal)
$ ./sample.py
{'a': 1, 'c': 3, 'b': 2}
{'a': 1, 'b': 2}
$
ちなみにJavaScriptの場合。
コード(TextWrangler)
var result = "";
// 参照渡しの影響による上書きを回避
function p(o){
var result = "";
for(var p in o){
result += p + ": " + o[p] + "\n";
}
return result;
}
function copy_dict(o){
var result = {};
for(var p in o){
result[p] = o[p];
}
return result;
}
var o1 = {'a':1,'b':2};
var o2 = copy_dict(o1);
o1['c'] = 3;
result += p(o1) + "\n" + p(o2) + "\n";
$('#pre0').text(result);
0 コメント:
コメントを投稿