そもそもプログラミングが難しい!
class Foo:
def __init__(self, a):
self.a = a
def foo(self):
self.a.append("Foo")
class Bar:
def __init__(self, a):
self.a = a
def bar(self):
self.a.append("Bar")
a = []
foo = Foo(a)
bar = Bar(a)
foo.foo() # a = ["Foo"]
bar.bar() # a = ["Foo", "Bar"]
● Foo:
○ a を変数にとる
○ a に要素を追加する
● Bar:
○ a を変数にとる
○ a に要素を追加する
Slide 20
Slide 20 text
そもそもプログラミングが難しい!
class Foo:
def __init__(self, a):
self.a = a
def foo(self):
self.a.append("Foo")
class Bar:
def __init__(self, a):
self.a = a
def bar(self):
self.a.append("Bar")
a = []
foo = Foo(a)
bar = Bar(a)
foo.foo() # a = ["Foo"]
bar.bar() # a = ["Foo", "Bar"]
● Foo:
○ a を変数にとる
○ a に要素を追加する
● Bar:
○ a を変数にとる
○ a に要素を追加する
Rust ではコンパイルが通らない
Slide 21
Slide 21 text
そもそもプログラミングが難しい!
class Foo:
def __init__(self, a):
self.a = a
def foo(self):
self.a.append("Foo")
class Bar:
def __init__(self, a):
self.a = a
def bar(self):
self.a.append("Bar")
a = []
foo = Foo(a)
bar = Bar(a)
foo.foo() # a = ["Foo"]
bar.bar() # a = ["Foo", "Bar"]
● Foo は a を更新する
● Bar も a を更新する
→ メンバ変数が勝手に更新される
Slide 22
Slide 22 text
そもそもプログラミングが難しい!
class Foo:
def __init__(self, a):
self.a = a
def foo(self):
self.a.append("Foo")
class Bar:
def __init__(self, a):
self.a = a
def bar(self):
self.a.append("Bar")
a = []
foo = Foo(a)
bar = Bar(a)
foo.foo() # a = ["Foo"]
bar.bar() # a = ["Foo", "Bar"]
● Foo は a を更新する
● Bar も a を更新する
→ メンバ変数が勝手に更新される
Foo も Bar も a も、
どのタイミングで更新されるか、
把握する必要がある。