2012年11月30日金曜日

開発環境

『初めてのPython 第3版』(Mark Lutz 著、夏目 大 訳、オライリー・ジャパン、2009年、ISBN978-4-87311-393-7) のIV部(関数)16章(スコープと引数)7を解いてみる。

その他参考書籍

7

  1. グローバル変数を使う
  2. 関数の外側の関数の変数を使う
  3. 引数のデフォルト値を使用する

コード(TextWrangler)

sample.py

#!/usr/bin/env python3.3
#-*- coding: utf-8 -*-

# グローバル変数の使用
a = 1
def f():
    global a
    a += 1
    print(a)

f()
f()
f()

# 関数の外側の関数の変数を使用
def g(a):
    def h(b):
        print(a+b)
    return h

g1 = g(1)
g1(1)
g1(2)
g1(3)

# 引数のデフォルト値の使用
def h(a = 1):
    print(a)

h()
h()
h()

入出力結果(Terminal)

$ ./sample.py
2
3
4
2
3
4
1
1
1
$

ちなみにJavaScriptの場合。

コード(TextWrangler)

var result = "";
var a = 1;
function f(){
  a += 1;
  return a;
}
function g(a){
  function h(b){
    return a+b;
  }
  return h;
}
function h(a){
  if(!a) a = 1;
  return a;
}
g1 = g(1);
var ary = [f(), f(), f(), g1(1), g1(2), g1(3), h(), h(), h()];
for(var i = 0; i < ary.length; i++){
  result += ary[i] + "\n";
}
$('#pre0').text(result);







						

0 コメント:

コメントを投稿