狠狠撸
Submit Search
What's Cooking In Ruby 2.7
0 likes
104 views
Akinori Musha
Published on 2019-02-27 Presentation made at Meguro.rb#24
Technology
Read more
1 of 28
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Ad
Recommended
笔贬笔で奥别产厂辞肠办别迟を実装してみてわかったこと
笔贬笔で奥别产厂辞肠办别迟を実装してみてわかったこと
ksimoji
?
PHPカンファレンス関西2017発表資料。 -- Webでリアルタイム通信を実現するWebSocket。 WebSocketと言えば、Socket.IO(node)やActionCable(Rails5)なんかはメジャーですが、 さて、PHPではどうしましょうか。まだデファクトが無いですよね。 いろいろ調べて試してわかったことを、お伝えしたいと思います。
闯别办测濒濒と叠辞辞迟蝉迟谤补辫を使って静的なフ?ロク?を作ってみたよ
闯别办测濒濒と叠辞辞迟蝉迟谤补辫を使って静的なフ?ロク?を作ってみたよ
Matsuo Obu
?
JekyllとBootstrapを使って静的なブログを作ってみた話。「俺の話を聞け!!LT大会 #2」で発表 (2017-04-26)
颁补辫测产补谤补で雑に奥别产スクレイピング
颁补辫测产补谤补で雑に奥别产スクレイピング
Koji Nakamura
?
颁补辫测产补谤补で雑に奥别产スクレイピングをしようという話
飞别产厂辞肠办别迟通信を知らない颈翱厂エンジニアが知っておいて损はしない(経験谈的な)軽い话
飞别产厂辞肠办别迟通信を知らない颈翱厂エンジニアが知っておいて损はしない(経験谈的な)軽い话
Yuhei Miyazato
?
LocoPartnersさんのiOSもくもく会#6にてお話したスライドです。 http://connpass.com/event/13198/
WebVR Tokyo Meetup vol2
WebVR Tokyo Meetup vol2
Kazuya Hiruma
?
WebGL Tokyo Meetup #2で話した資料です。
Getting start with knockout.js
Getting start with knockout.js
Akio Ishida
?
奥别产骋尝入门ハンス?オン资料
奥别产骋尝入门ハンス?オン资料
Kazuya Hiruma
?
WebGLハンズオンを行った時の資料です。 http://connpass.com/event/25563/
奥别产痴搁コンテンツ制作入门
奥别产痴搁コンテンツ制作入门
Kazuya Hiruma
?
シン?奥别产痴搁とか文化祭での登坛资料です。
奥别产痴搁ってこんなことできるよ!
奥别产痴搁ってこんなことできるよ!
Kazuya Hiruma
?
奥别产骋尝もくもく会で発表した内容です
Browser oh browser browser
Browser oh browser browser
Teppei Sato
?
Code HAIKU 2012の資料です。 http://atnd.org/events/33788
搁耻产测によるクローラー开発
搁耻产测によるクローラー开発
しくみ製作所
?
搁耻产测を使ってクローラー开発する方法を绍介していきます。
小,中規模WEBサイト 制作て?AWSを使う
小,中規模WEBサイト 制作て?AWSを使う
Nobuhiko Futagami
?
JAWS-UG 大阪 in AWS Cloud Roadshow 2015 LT大会
WebVR 酔いづらいコンテンツの作り方
WebVR 酔いづらいコンテンツの作り方
Kazuya Hiruma
?
奥别产痴搁入门者尝罢で话した资料です。
20150523
20150523
Toshihiro Suzuki
?
Gorilla.vim#6
Gorilla.vim#6
MasatakaHigashijima
?
ゴリラ.惫颈尘登坛资料
奥别产痴搁ことはし?め
奥别产痴搁ことはし?め
Kazuya Hiruma
?
「html5j Webプラットフォーム部勉強会 第13回勉強会 ?Web に VR を求めるのは間違っているだろうか??」で登壇した際に使用した資料です。 http://eventdots.jp/event/593174
Status Board 面白いよ!
Status Board 面白いよ!
Hishikawa Takuro
?
@ 第6回関西PHP勉強会
八王子
八王子
Kazutake Hiramatsu
?
础苍别尘辞苍别によるクローラー入门
础苍别尘辞苍别によるクローラー入门
Tasuku Nakano
?
Anemone is ruby gem for crawler. How to use Anemone.
罢测辫别厂肠谤颈辫迟への入口
罢测辫别厂肠谤颈辫迟への入口
Sunao Tomita
?
2012/12/15 闯础窜鲍骋女子部ぷれぜんつ叠耻颈濒诲祭り での罢测辫别厂肠谤颈辫迟の话
Bpstudy26
Bpstudy26
monjudoh
?
Node.jsて?サーハ?フ?ロク?ラマ テ?ヒ?ューしよう
Node.jsて?サーハ?フ?ロク?ラマ テ?ヒ?ューしよう
Yuusuke Takeuchi
?
第5回 業界中心会議でのLT予定資料です。 https://itmedia.smartseminar.jp/public/application/add/922
SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる
SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる
Masashi Murakami
?
動的なサイト開発で楽をするために gulpとBrowserSyncを導入したので、 その手順などについてまとめました。 ※2015年3月7日(土)のSaCSS vol.63のLTで発表
小规模案件て?作られた秘伝のタレ
小规模案件て?作られた秘伝のタレ
Muyuu Fujita
?
第5回 HTML5minutes! ?triton-js? で話したLTです
Javascript を使ってみよう!!
Javascript を使ってみよう!!
誠 小林
?
モヤLT発表資料 http://www.facebook.com/event.php?eid=227870077275504
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作
Maboroshi.inc
?
Non blocking and asynchronous
Non blocking and asynchronous
Norio Kobota
?
for WebSocket Study
本番环境で使える実行コード记録机能
本番环境で使える実行コード记録机能
mametter
?
Cookpad TechConf 2019 LT
Ruby 2.5
Ruby 2.5
Masahiro Tomita
?
Ruby 2.5
Start!! Ruby
Start!! Ruby
mitim
?
1/30 に行った、 Thrive on development 勉強会で使用したスライドです。 Rubyの基本について語っています。
More Related Content
What's hot
(19)
奥别产痴搁ってこんなことできるよ!
奥别产痴搁ってこんなことできるよ!
Kazuya Hiruma
?
奥别产骋尝もくもく会で発表した内容です
Browser oh browser browser
Browser oh browser browser
Teppei Sato
?
Code HAIKU 2012の資料です。 http://atnd.org/events/33788
搁耻产测によるクローラー开発
搁耻产测によるクローラー开発
しくみ製作所
?
搁耻产测を使ってクローラー开発する方法を绍介していきます。
小,中規模WEBサイト 制作て?AWSを使う
小,中規模WEBサイト 制作て?AWSを使う
Nobuhiko Futagami
?
JAWS-UG 大阪 in AWS Cloud Roadshow 2015 LT大会
WebVR 酔いづらいコンテンツの作り方
WebVR 酔いづらいコンテンツの作り方
Kazuya Hiruma
?
奥别产痴搁入门者尝罢で话した资料です。
20150523
20150523
Toshihiro Suzuki
?
Gorilla.vim#6
Gorilla.vim#6
MasatakaHigashijima
?
ゴリラ.惫颈尘登坛资料
奥别产痴搁ことはし?め
奥别产痴搁ことはし?め
Kazuya Hiruma
?
「html5j Webプラットフォーム部勉強会 第13回勉強会 ?Web に VR を求めるのは間違っているだろうか??」で登壇した際に使用した資料です。 http://eventdots.jp/event/593174
Status Board 面白いよ!
Status Board 面白いよ!
Hishikawa Takuro
?
@ 第6回関西PHP勉強会
八王子
八王子
Kazutake Hiramatsu
?
础苍别尘辞苍别によるクローラー入门
础苍别尘辞苍别によるクローラー入门
Tasuku Nakano
?
Anemone is ruby gem for crawler. How to use Anemone.
罢测辫别厂肠谤颈辫迟への入口
罢测辫别厂肠谤颈辫迟への入口
Sunao Tomita
?
2012/12/15 闯础窜鲍骋女子部ぷれぜんつ叠耻颈濒诲祭り での罢测辫别厂肠谤颈辫迟の话
Bpstudy26
Bpstudy26
monjudoh
?
Node.jsて?サーハ?フ?ロク?ラマ テ?ヒ?ューしよう
Node.jsて?サーハ?フ?ロク?ラマ テ?ヒ?ューしよう
Yuusuke Takeuchi
?
第5回 業界中心会議でのLT予定資料です。 https://itmedia.smartseminar.jp/public/application/add/922
SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる
SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる
Masashi Murakami
?
動的なサイト開発で楽をするために gulpとBrowserSyncを導入したので、 その手順などについてまとめました。 ※2015年3月7日(土)のSaCSS vol.63のLTで発表
小规模案件て?作られた秘伝のタレ
小规模案件て?作られた秘伝のタレ
Muyuu Fujita
?
第5回 HTML5minutes! ?triton-js? で話したLTです
Javascript を使ってみよう!!
Javascript を使ってみよう!!
誠 小林
?
モヤLT発表資料 http://www.facebook.com/event.php?eid=227870077275504
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作
Maboroshi.inc
?
Non blocking and asynchronous
Non blocking and asynchronous
Norio Kobota
?
for WebSocket Study
奥别产痴搁ってこんなことできるよ!
奥别产痴搁ってこんなことできるよ!
Kazuya Hiruma
?
Browser oh browser browser
Browser oh browser browser
Teppei Sato
?
搁耻产测によるクローラー开発
搁耻产测によるクローラー开発
しくみ製作所
?
小,中規模WEBサイト 制作て?AWSを使う
小,中規模WEBサイト 制作て?AWSを使う
Nobuhiko Futagami
?
WebVR 酔いづらいコンテンツの作り方
WebVR 酔いづらいコンテンツの作り方
Kazuya Hiruma
?
20150523
20150523
Toshihiro Suzuki
?
Gorilla.vim#6
Gorilla.vim#6
MasatakaHigashijima
?
奥别产痴搁ことはし?め
奥别产痴搁ことはし?め
Kazuya Hiruma
?
Status Board 面白いよ!
Status Board 面白いよ!
Hishikawa Takuro
?
八王子
八王子
Kazutake Hiramatsu
?
础苍别尘辞苍别によるクローラー入门
础苍别尘辞苍别によるクローラー入门
Tasuku Nakano
?
罢测辫别厂肠谤颈辫迟への入口
罢测辫别厂肠谤颈辫迟への入口
Sunao Tomita
?
Bpstudy26
Bpstudy26
monjudoh
?
Node.jsて?サーハ?フ?ロク?ラマ テ?ヒ?ューしよう
Node.jsて?サーハ?フ?ロク?ラマ テ?ヒ?ューしよう
Yuusuke Takeuchi
?
SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる
SaCSS vol.63 動的なサイトの開発でgulpとBrowserSyncを使ってみる
Masashi Murakami
?
小规模案件て?作られた秘伝のタレ
小规模案件て?作られた秘伝のタレ
Muyuu Fujita
?
Javascript を使ってみよう!!
Javascript を使ってみよう!!
誠 小林
?
CSS Nite LP26 CodeKitで始める次世代Web制作
CSS Nite LP26 CodeKitで始める次世代Web制作
Maboroshi.inc
?
Non blocking and asynchronous
Non blocking and asynchronous
Norio Kobota
?
Similar to What's Cooking In Ruby 2.7
(20)
本番环境で使える実行コード记録机能
本番环境で使える実行コード记録机能
mametter
?
Cookpad TechConf 2019 LT
Ruby 2.5
Ruby 2.5
Masahiro Tomita
?
Ruby 2.5
Start!! Ruby
Start!! Ruby
mitim
?
1/30 に行った、 Thrive on development 勉強会で使用したスライドです。 Rubyの基本について語っています。
怠惰な搁耻产测颈蝉迟への道
怠惰な搁耻产测颈蝉迟への道
nagachika t
?
みなと搁耻产测会议01での発表资料の配布版
Ruby初級者向けレッスン 50回 ─── ブロック
Ruby初級者向けレッスン 50回 ─── ブロック
higaki
?
P.26 「ブロックは Proc」は間違いでした。
怠惰な搁耻产测颈蝉迟への道 fukuoka rubykaigi01
怠惰な搁耻产测颈蝉迟への道 fukuoka rubykaigi01
nagachika t
?
福岡Ruby会議01 で発表したスライドを公開用にPDF に変換したものです。アニメーションやデモ動画はスライドに置き換えています。
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
?
平成23年度 産学官連携セミナー(鹿児島市) 2012/02/23 於: ソフトプラザかごしま
シュッとふりかえる Ruby 2.0 以降
シュッとふりかえる Ruby 2.0 以降
Tomohiro Nishimura
?
Ruby 2.0 以降の変更をシュッとふりかえります。。
Ruby初級者向けレッスン KOF2015 出張版
Ruby初級者向けレッスン KOF2015 出張版
higaki
?
Ruby関西勉強会で行なっている初級者向けレッスンの KOF 出張版。 Rubyプログラミングを体験してみよう! トレーニングルームのPCを使ってRubyの基礎を学びます。
Ruby&Active Support for expert 3
Ruby&Active Support for expert 3
xibbar
?
第3回轮讲
第3回轮讲
mh_amako
?
第3回搁耻产测轮讲资料
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道
Shigeru UCHIYAMA
?
初級を抜け出すためにやったこと、「Ruby逆引きレシピ 232」「リファクタリングRuby」「メタプログラミングRuby」の面白かったところをお話させていただきます。
搁耻产测讲座第二回
搁耻产测讲座第二回
mitsunaga
?
现実世界の闯搁耻产测(ショートバージョン)
现実世界の闯搁耻产测(ショートバージョン)
Hiroshi Nakamura
?
JavaOne Tokyo 2012 JVM言語BOF JRuby発表
20110820 metaprogramming
20110820 metaprogramming
Masanori Kado
?
Take The Red Pill
Take The Red Pill
Shintaro Kakutani
?
nomlab_okayamaruby_slide
nomlab_okayamaruby_slide
nomlab
?
Okayama Ruby Kaigi01 Nomura laboratory
Ruby 3の型推論やってます
Ruby 3の型推論やってます
mametter
?
Ruby 3さみっと https://rhc.connpass.com/event/169873/
搁耻产测のソースコードを読んでみよう(入门编)
搁耻产测のソースコードを読んでみよう(入门编)
baban ba-n
?
搁耻产测颈蝉迟生活に欠かせないブロック构文の话
搁耻产测颈蝉迟生活に欠かせないブロック构文の话
Kohei Taniguchi
?
福岡のRUby勉強会での発表資料です。 http://atnd.org/events/52535
本番环境で使える実行コード记録机能
本番环境で使える実行コード记録机能
mametter
?
Ruby 2.5
Ruby 2.5
Masahiro Tomita
?
Start!! Ruby
Start!! Ruby
mitim
?
怠惰な搁耻产测颈蝉迟への道
怠惰な搁耻产测颈蝉迟への道
nagachika t
?
Ruby初級者向けレッスン 50回 ─── ブロック
Ruby初級者向けレッスン 50回 ─── ブロック
higaki
?
怠惰な搁耻产测颈蝉迟への道 fukuoka rubykaigi01
怠惰な搁耻产测颈蝉迟への道 fukuoka rubykaigi01
nagachika t
?
Ruby on Rails を用いたWEBアプリケーションの開発
Ruby on Rails を用いたWEBアプリケーションの開発
Koichi Shimozono
?
シュッとふりかえる Ruby 2.0 以降
シュッとふりかえる Ruby 2.0 以降
Tomohiro Nishimura
?
Ruby初級者向けレッスン KOF2015 出張版
Ruby初級者向けレッスン KOF2015 出張版
higaki
?
Ruby&Active Support for expert 3
Ruby&Active Support for expert 3
xibbar
?
第3回轮讲
第3回轮讲
mh_amako
?
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道
Shigeru UCHIYAMA
?
搁耻产测讲座第二回
搁耻产测讲座第二回
mitsunaga
?
现実世界の闯搁耻产测(ショートバージョン)
现実世界の闯搁耻产测(ショートバージョン)
Hiroshi Nakamura
?
20110820 metaprogramming
20110820 metaprogramming
Masanori Kado
?
Take The Red Pill
Take The Red Pill
Shintaro Kakutani
?
nomlab_okayamaruby_slide
nomlab_okayamaruby_slide
nomlab
?
Ruby 3の型推論やってます
Ruby 3の型推論やってます
mametter
?
搁耻产测のソースコードを読んでみよう(入门编)
搁耻产测のソースコードを読んでみよう(入门编)
baban ba-n
?
搁耻产测颈蝉迟生活に欠かせないブロック构文の话
搁耻产测颈蝉迟生活に欠かせないブロック构文の话
Kohei Taniguchi
?
Ad
What's Cooking In Ruby 2.7
1.
What's Cooking In Ruby
2.7 2019-02-27 武者 晶紀 (@knu)
2.
自己紹介 ? 武者 晶紀
/ Akinori Musha ? Twitter: https://twitter.com/knu ? GitHub: https://github.com/knu ? 株式会社マチマチ ? Rubyコミッター ? FreeBSDコミッター ? Team Nokogiri ? Huginn共同開発者
3.
自己紹介 ? 仕事(抜粋) ? シーサーブログおよびOEMサービス ?
イープラス公式アプリのバックエンド ? 相席屋公式アプリのバックエンド ? ご近所SNSマチマチ ?
4.
マチマチ ? 株式会社マチマチ ? 目黒区、学芸大学駅から徒歩2分 ?
会社紹介? http://bit.ly/machimachi-intro ? 「ひらかれた、つながりのある地域社会をつくる」 ? ご近所SNS & 地域情報メディア? https://machimachi.com/ ? エンジニア採用中! https://www.wantedly.com/companies/machimachi-inc/projects ? マチマチを支える技術$ https://t.co/OMeh3yL8YE (Rails, React, PostgreSQL, …) ? 技術ブログ? https://tech.machimachi.com/
5.
Rubyでの開発活動 ? レポジトリ管理者 ? 開発インフラ整備 ?
標準ライブラリの充実 ? Digestの拡張、ハッシュアルゴリズム追加 ? Setの実装 ? bigdecimal, syslog, ipaddr, zlibなどのインポート支援や保守 ? Shellwordsに shellescape, shelljoinを実装 ? Ruby 1.8.7のリリース
6.
Rubyでの開発活動 ? 組込クラスの拡張 ? Array#slice! ?
Enumeratorの導入, Enumerableの拡張 ? each_cons, each_slice ? each_with_object
7.
Rubyでの開発活動 ? 最近は、月次のRuby開発者会議に出席して、主にRails/ Web開発者の観点からインプットしたり、自分が担当す るライブラリをいじる活動がメインです。
8.
Ruby 2.7に向けて ? まだ2.6が出てから2ヶ月しか経っていませんが、2.7や3.0に向けた機能開発や議 論はいろいろ進行しています。その一端でも、楽しくご紹介できたらと思います。 ?
ここでご紹介するのはあくまで恣意的に選んだ例に過ぎず、網羅性はありません。 ? 興味のある方はNEWSファイル、Ruby開発者会議の議事録、Redmineでのチ ケットベースの議論を追いかけましょう。 ? 開発者同士の議論は非常に多相的で高文脈ですが、「いろんなことがあるんだな あ」程度の受け取りで構いません。 ? 開発陣へのフィードバックは、いろんなチャンネルを通じて気軽にどうぞ! Twitterでつぶやくだけでも目に入るかも?
9.
おしながき ? 入ったもの ? 新文法:
obj.:meth ? 無ブロックprocの段階的廃止 ? Enumerable#tally ? 却下されたもの ? 開発中?検討中の機能 ? 今後のRubyの予定
10.
obj.:meth ? obj.method(:meth) の短縮文法 ?
メソッドオブジェクトを取り出す ? 従来のObject#methodはメソッド呼び出しだった ? メソッドを取るためにメソッドを呼ぶ必要がある…? いかにもRubyらしいけど… ? オーバーライドされているかもしれない? (例: Request オブジェクト = HTTPメソッドを返す) ? ObjectでなくBasicObjectを継承したオブジェクトにはmethodメソッ ドがない
11.
obj.:meth ? 任意のオブジェクトに対してメソッドを取り出したいときは、クラス からメソッドを取り出してbind &
callするという 遠な手段を取る 必要があった? ?Object.instance_method(:method)? .bind(obj)? .call ?オブジェクトの素性を問わず、メソッドを取り出す短い記法がほしい ?いくつか案があったが、既存文法との衝突がなく、シンボル記法 からメソッドを連想しやすい「obj.:meth」に決定
12.
obj.:meth ? たとえば、こういうコードが短く書けるように ? lines.map
{ |line| JSON.parse(line) }? ↓? lines.map(&JSON.:parse) ? ただし、selfは省略できないこととした ? lines.each { |line| puts line }? ↓? lines.each(&self.:puts) ? obj.each(&.:meth)を許してしまうと、obj.each(&:meth)と見た目が 瓜二つなのに全然違う意味になるので目に優しくない、というMatzの指摘に よる
13.
無ブロックprocの段階的廃止 ? メソッド定義中でブロックなしのprocによってメソッドに渡ってきたブロックを 取得することができる ? def
each_key? keys.each(&proc)? end ? procはProc.newと書いても同じ、他にlambdaもある ? block_given?でブロックが渡されたかどうかを判定でき、yieldで呼び出せ るのと合わせて、明示的に引数を書かなくても渡されたブロックを利用できた ? この機能を廃止しようという方向になった ? 無ブロックprocとProc.newは2.7から警告、無ブロックlambdaは廃止
14.
無ブロックprocの段階的廃止 ? 背景としては、最適化や誤り検出のため、あるメソッドが ブロックを取るのかどうかを静的に判定したい、理想的に は引数リストで明示させたい、という動機がある ? ブロックを取らないメソッドにブロックを渡しても、メ ソッド側でチェックしない限りエラーや警告にはなら ない ?
使われると思ってブロックを渡したが実は使われず無 意味という誤りに気づけない、という問題
15.
無ブロックprocの段階的廃止 ? ただ、CRubyには長い間、def method(&block)とブロックを引数で 受け取るのは遅いという問題があり、熟練工は書いてくれなかった? ?
yieldは、渡されたブロックを直接呼ぶ命令にコンパイルされる? ? 一方、仮引数リストに&blockと書くと、ブロックからProcオブジェク トを生成した上で、ローカル変数に代入される? ? さらにblock.callとするとローカル変数を参照し、Procオブジェク トに対してメソッドが呼び出される? ? 何ステップも多い…?
16.
無ブロックprocの段階的廃止 ? Ruby 2.5で、仮引数リストに&blockと書いても、実際にblockを使う までProcオブジェクトの生成を遅延するようになった? ?
中でblock_given?とyieldを使ったまま、ブロックを取ることを仮 引数リストで表現しても性能上のペナルティがなくなった? ? Ruby 2.6で、block.callはyieldと同等の性能になった? ? ただ、callのオーバーライド有無を確認するなど面倒な実装の賜物? ? これで、明示的に&blockとblock.callを使うスタイルを推奨できるよ うになった?
17.
無ブロックprocの段階的廃止 ? 逆に、「ブロックを取らないこと」を明示できるようにすべきか、とい う議論も進んでいる ? 当初は、def
foo(&nil)と書くことにすればいいのでは、とまと まりかけた? ? しかし、そうすると「ブロックを取らないメソッドすべてに&nilを 入れよう」という大量のPR?が一気に押し寄せる危惧があるので取 りやめに? ? 現在は、コンパイル時の静的解析でできないか、という取り組みが試さ れている?
18.
無ブロックprocの段階的廃止 ? ただ、superという壁が発見される ? superあるいはsuper()と書くと、何も指定していないが、 渡ってきたブロックをスーパーメソッドに渡すようになっている ?
superの方は分かるが、super()の方は一体なぜ…? ? そのため、スーパーメソッドも って見ないとブロック引数を 使っているのかはわからない ? 現在も既存のユーザコードを含め調査?研究が進行中$
19.
Enumerable#tally ? 要素を値別に数えるメソッド? ?["a", "b",
"b", "c", "a", "a"].tally? # => { "a" => 3, "b" => 2, "c" => 1 } ?SQLのGROUP BY+COUNT()のようなもの ?今まではgroup_byを使ってこんな風にせざるを得なかった処理 ?["a", "b", "b", "c", "a", "a"]? .group_by(&:itself)? .transform_values(&:size)
20.
Enumerable#tally ? 当初はcount_byという名前で、ブロックを取る形で提案されていた(ブロックを適 用した値で集計する) ? しかし、いくつかの難点で賛同を得られず ?
名前がいまいち: countとの対称性がない(sort_by/sort, max_by/maxな どからの類推が効かない) ? 機能が多い: ブロックを取るのはオプショナルでは?必要ならmapしてから渡 せばいい ? シュワルツ変換したいこともあるかもしれないが、代表値をどうするか仕 様を決め難い ? tallyという名前を得て、ブロックを取らないシンプルな形で採用?
21.
Enumerable#tally ? tallyとは数を数えて記録することで、紙や黒板に一本ずつ線を書 きながらカウントするための記号の呼称でもある(日本での 「正」にあたる記号、「卌」のような形) ? ちなみにUnicode
11で「正」とともに入りました? https://twitter.com/ken_lunde/status/ 1006532079402663936
22.
却下されたもの ? autoloadの廃止? ? Matzはスレッドセーフティの観点から本質的に危ないのでずっと消した い派 ?
Railsがconst_missingでの自動ロード機構をやめてautoloadを使う Zeitwerkを6.0で採用、というこのタイミングではしごを外すのか?と 私の中で騒然? ? しかしRailsアプリの開発ではeager-loadingだとプロセス起動?再起動 が重すぎるのでこういう機構は必須と説得? ? 少なくともRuby 3.xの間は残す、というMatzの言質を得た?
23.
却下されたもの ? autoloadの廃止 ? その後、autoloadをより安全にするための研究と改修が進んで いる ?
http://www.a-k-r.org/d/2019-02.html#a2019_02_10 ? http://www.a-k-r.org/d/2019-02.html#a2019_02_10_2 ? https://bugs.ruby-lang.org/issues/15598 ? https://bugs.ruby-lang.org/issues/15599
24.
却下されたもの ? ArrayやHashも、Stringのようにデフォルトでフリーズするモードがほし い、あるいは単項 +/-
でdup/freezeしたい ? https://bugs.ruby-lang.org/issues/14680 ? 「そんなにほしい?」まだ懐疑的? ? でもRubocop利用者からすると、定数配列?ハッシュに.freezeを付 けて回られる経験は苦々しい… ? いずれまたチャンスあるかも?
25.
開発中?検討中の機能 ? Begin-less (Start-less)
Ranges ? https://bugs.ruby-lang.org/issues/14799 ? Endless Ranges (@ary[1..])が入ったので、今度は左端側を省略したものも 入れたい ? ActiveRecordなどのDSLで便利: Product.where(price: ..1000) ? Endless Rangesも導入後にいくつか問題が発見?対処されたので、それらの 手当てが終わって落ち着いてから ? Enumerator::Yielder#to_proc ? https://bugs.ruby-lang.org/issues/15618
26.
開発中?検討中の機能 ? デフォルトブロック引数: @1,
@2, … ? https://bugs.ruby-lang.org/issues/4475 ? ずっと望まれている機能: numbers.map { "%02x" % @1 } ? 既存文法と衝突のない奇跡の案(@1, @2,…)に期待? ? パターンマッチ機能(case-in構文)? ? https://bugs.ruby-lang.org/issues/14912 ? 強く待ち望まれてきた機能 ? スクリプト言語の中では強力でRubyの強みと言われてきたが、関数型言語がメジャー になってきた今ではちょっと見劣りする
27.
開発中?検討中の機能 ? ES6スタイルのハッシュ簡便記法(?eld punning) ?
https://bugs.ruby-lang.org/issues/15236 ? {? name: name,? type: type,? created_at: created_at? }? ↓? { name, type, created_at }? ? などと書きたいな、という例のやつ ? MJITによるさらなる高速化
28.
今後のRubyの予定 ? 2019年3月 ? 11日に開発者会議:
https://bugs.ruby-lang.org/issues/15614 ? Unicode 12が出たら、Ruby 2.6.xをリリース ? 2019年4月 ? RubyKaigi 2019: 会期前日に開発者会議 ? 新元号が発表されたらUnicode 12.1が出る ? それを待ってRuby 2.6.yをリリース ? ? 毎月開発者会議 ? チャンスは毎月? https://bugs.ruby-lang.org/issues/14770 ? 2019年12月 ? 25日 Ruby 2.7.0リリース
Download