読者です 読者をやめる 読者になる 読者になる

by shigemk2

当面は技術的なことしか書かない

関数型志向Python #llmatsuri

Python

Esehara Shigeo presentations

似非原重雄 @esehara
Python大好き

(eq? function lisp)

プロセスの手続きによるLispの記述

functional language
Unbound valiable
たぶんバスワード

関数型言語」の正確な定義はしない
プログラムの書き方として関数型指向を使う

Pythonは関数型「指向」っぽく

lambda_fizzbuzz

代入って難しいよね

def hoge(fuga):
    uwaaa = fuga
    uwaaa[0] = "foobar"
    return uwaaa

a = [1,2,3]
print hoge(a) # ['foobar', 2, 3]
print a # ['foobar', 2, 3]

クロージャーが「箱」
関数という「箱」に値を保管する

closure = lambda x: lambda: x
foo = closure([1,2,3])

print foo() # [1, 2, 3]
foo()[0] = "foobar"
print foo() # ['foobar', 2, 3]
print foo() # ['foobar', 2, 3]