# Ruby3 さみっと 何でも書いて良いほわいとぼーど https://rhc.connpass.com/event/169873/ * 時間は目安です * zoom のスクリーンショットなどは許可無く転載はご遠慮下さい 雑に書いてもいいのかな→いいよ matz参上 ## 09:00-09:30 Opening / Ruby 3 by Matz (zoom 練習時間) * 資料: https://drive.google.com/open?id=1Kqxp21BFKcXuK4HJPN-wiUEwK8qRH1lE ## 09:30-10:30 Fiber (Samuel) * 資料: ## 10:30-11:30 JIT (k0kubun) * 資料: https://speakerdeck.com/k0kubun/ruby-3-samituto ## 11:30-12:30 Guild (ko1) * 資料: http://atdot.net/~ko1/activities/2020_ruby3summit.pdf ## 12:30-13:30 Lunch break ## 13:30-15:00 Ruby 3 type activities (mame, soutaro) * 資料 * mame https://www.slideshare.net/mametter/ruby-3-232144041 * soutaro https://speakerdeck.com/soutaro/ruby3-is-a-typed-language ## 15:00-15:15 Roadmap for RubyGems 4 and Bundler 3 (hsbt) * 資料: https://www.slideshare.net/hsbt/roadmap-for-rubygems-4-and-bundler-3 ## 15:15-15:30 Proposal of Proc#using (shugo) * 資料: https://github.com/shugo/ruby3summit/blob/master/README.md ## 15:45-15:50 Windows and UTF-8 (usa) * 資料: https://speakerdeck.com/unak/rubys-encoding-on-windows-at-ruby3 ## 15:30-15:45 Real Terminal Testing Framework (aycabta) * 資料: ## 15:50- Ruby3 Q&A ### Matz が地上げしたいモノリスト #### 第一引数のカッコ ```ruby p (1,2,3) #=> 今でもerror! p (1)+2 #=> 今:p(1+2) エラーにしたい p (a;b;c) #=> 今:a;b;p(c) エラーにしたい p (x+y).to_s ``` #### backtick ```ruby `ls` ``` #### 単一文字リテラル ```ruby ?a ``` #### 三項演算子 ```ruby a = cond? ? expr1 : expr2 # ?? が醜い a = if cond? then expr1 else expr2 end ``` #### ネストしたdef 特異メソッド定義じゃなくて、普通のdef そのメソッド内だけ有効な「関数」を作るのに使える ```ruby def foo # 現状はカレントクラスにメソッド定義 # foo内だけで見える「関数」にしたい def bar end bar end foo bar # 現状は呼べる、これはエラーにしたい ``` ### `defer` ```ruby open x do open y do open z do ... end end end begin ... ensure begin expr1 ensure expr2 end end ``` ```go { defer expr1 defer expr2 ... } ``` ```java try (File f1 = File.open(...), File f2 = File.open(...)) { // ... } ``` ```ruby begin expr1 ensure clean1 expr2 ensure clean2 # ... end ``` ```ruby f1 = open(path1) ensure f1.close f2 = open(path2) ensure f2.close ``` ```ruby Nanika.open(expr1) do # ... ensure clean1 end ``` ```ruby f = open(path) f.close ensure ```
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.