https://rhc.connpass.com/event/169873/
雑に書いてもいいのかな→いいよ
matz参上
p (1,2,3) #=> 今でもerror!
p (1)+2 #=> 今:p(1+2) エラーにしたい
p (a;b;c) #=> 今:a;b;p(c) エラーにしたい
p (x+y).to_s
`ls`
?a
a = cond? ? expr1 : expr2
# ?? が醜い
a = if cond? then expr1 else expr2 end
特異メソッド定義じゃなくて、普通のdef
そのメソッド内だけ有効な「関数」を作るのに使える
def foo
# 現状はカレントクラスにメソッド定義
# foo内だけで見える「関数」にしたい
def bar
end
bar
end
foo
bar # 現状は呼べる、これはエラーにしたい
defer
open x do
open y do
open z do
...
end
end
end
begin
...
ensure
begin
expr1
ensure
expr2
end
end
{
defer expr1
defer expr2
...
}
try (File f1 = File.open(...), File f2 = File.open(...)) {
// ...
}
begin
expr1 ensure clean1
expr2 ensure clean2
# ...
end
f1 = open(path1) ensure f1.close
f2 = open(path2) ensure f2.close
Nanika.open(expr1) do
# ...
ensure
clean1
end
f = open(path)
f.close ensure