Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
本当だってば!俺もTRICK 2022に入賞してたんだってば!
Search
jinroq
March 20, 2025
Programming
0
440
本当だってば!俺もTRICK 2022に入賞してたんだってば!
Fukuoka.rb #397 〜RubyKaigi 2025の機運〜
jinroq
March 20, 2025
Tweet
Share
More Decks by jinroq
See All by jinroq
Fukuoka.rb 2023 年度活動報告
jinroq
0
490
TRICK 2022 に入選した話
jinroq
0
300
RubyKaigiとMicrosoftと私
jinroq
0
260
msgraph: Microsoft Graph API Client with Ruby
jinroq
0
350
Fukuoka.rb 2019活動報告・2020抱負
jinroq
0
290
福岡の方から参りました Fukuoka.rb です
jinroq
0
1.9k
Microsoft Graph API Client and OpenAPI
jinroq
0
1.1k
Fukuoka.rb #150 LT
jinroq
0
300
5 分で分かるアイキューブドシステムズ
jinroq
0
600
Other Decks in Programming
See All in Programming
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.5k
Advance Your Career with Open Source
ivargrimstad
0
460
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
220
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
210
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
明日から始めるリファクタリング
ryounasso
0
130
スマホから Youtube Shortsを見られないようにする
lemolatoon
12
9.3k
Devvox Belgium - Agentic AI Patterns
kdubois
1
100
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.2k
overlayPreferenceValue で実現する ピュア SwiftUI な AdMob ネイティブ広告
uhucream
0
180
理論と実務のギャップを超える
eycjur
0
120
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
430
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Fireside Chat
paigeccino
40
3.7k
Optimizing for Happiness
mojombo
379
70k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
A Tale of Four Properties
chriscoyier
160
23k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
900
Bash Introduction
62gerente
615
210k
Become a Pro
speakerdeck
PRO
29
5.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
ຊͩͬͯʂ Զ TRICK 2022 ʹ ೖͯͨ͠Μͩͬͯʂʂ Fukuoka.rb #397 ʙRubyKaigi 2025
ͷػӡʙ 2025/03/19 SAITOH Jinroq
self.inspect => { name: { x: “jimlock” github: “jinroq” },
organization: “Ruby Development Inc.”, community: “Fukuoka.rb” }
https://rubykaigi.org/2025/
https://ruby-development-inc.connpass.com/event/349086/
https://rubykaigi.org/2025/presentations/tric.html#day1
TRICK is Կʁ
TRICK 2022 “Returns”
TRICK 2022 “Returns” ͜͜ʹॻ͍ͯ͋Δ
TRICK is Կʁ • Transcendental • Ruby • Imbroglio •
Contest • for RubyKaigi
TRICK is Կʁ • Transcendental • Ruby • Imbroglio •
Contest • for RubyKaigi • ݱੈརӹͷͳ͍ • ҙຯෆ໌ͳ • Ruby ॲཧܥͷҙ֎ͳݎ࿚ੑ • Ruby ॲཧܥͷҙ֎ͳҠ২ੑ • ͋Δछͷਆൿੑʢͱ༷όάʣ
TRICK is Կʁ • Transcendental • Ruby • Imbroglio •
Contest • for RubyKaigi • ݱੈརӹͷͳ͍ • ҙຯෆ໌ͳ • Ruby ॲཧܥͷҙ֎ͳݎ࿚ੑ • Ruby ॲཧܥͷҙ֎ͳҠ২ੑ • ͋Δछͷਆൿੑʢͱ༷όάʣ
TRICK is Կʁ • Transcendental • Ruby • Imbroglio •
Contest • for RubyKaigi • ݱੈརӹͷͳ͍ • ҙຯෆ໌ͳ • Ruby ॲཧܥͷҙ֎ͳݎ࿚ੑ • Ruby ॲཧܥͷҙ֎ͳҠ২ੑ • ͋Δछͷਆൿੑʢͱ༷όάʣ
TRICK is Կʁ • Transcendental • Ruby • Imbroglio •
Contest • for RubyKaigi • ݱੈརӹͷͳ͍ • ҙຯෆ໌ͳ • Ruby ॲཧܥͷҙ֎ͳݎ࿚ੑ • Ruby ॲཧܥͷҙ֎ͳҠ২ੑ • ͋Δछͷਆൿੑʢͱ༷όάʣ
TRICK is Կʁ • Transcendental • Ruby • Imbroglio •
Contest • for RubyKaigi • ݱੈརӹͷͳ͍ • ҙຯෆ໌ͳ • Ruby ॲཧܥͷҙ֎ͳݎ࿚ੑ • Ruby ॲཧܥͷҙ֎ͳҠ২ੑ • ͋Δछͷਆൿੑʢͱ༷όάʣ
TRICK is Կʁ • Transcendental • Ruby • Imbroglio •
Contest • for RubyKaigi • ݱੈརӹͷͳ͍ • ҙຯෆ໌ͳ • Ruby ॲཧܥͷҙ֎ͳݎ࿚ੑ • Ruby ॲཧܥͷҙ֎ͳҠ২ੑ • ͋Δछͷਆൿੑʢͱ༷όάʣ ͓͠ΖίʔυΛॻ͍ͯΈΜͳͰস͓͏
None
σϞ
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join)
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join)
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join)
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join)
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join)
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join)
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join)
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join) #=> 116 #=> 114 #=> 105 #=> 99 #=> 107 #=> 82 #=> 80 #=> 82 #=> 82
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join)
ίʔυղઆ puts( { 2*0-2-2 => 2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0*2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0, 2+2/2+0
=> 2*2*2+0+2-2/2+0+2*2*2+0+2*2*2+0-2+2+2+0+2*2*2+0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0*2+2*2 => 0+2*2*2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2/2, 2*0*2*2 => 2+0+2*2*2+0+2*2*2+0+2*2+2+0+2-2/2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2, 2/2+0-2 => 2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2-2-2+0-2-2-2+0+2+2+2+0+2+2+2+0+2*2*2+0+2*2*2+0+2+2+2+0, 2*2*2+0 => 2*2*2+0-2*2*2+0+2-2*2+0+2*2*2+0-2-2-2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2, 0<2|2-2 => 0+2+2+2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0-2*2*2+0-2*2*2+0+2*2, 2<0|2-2 => 2+0-2*2*2+0-2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2*2*2+0+2+2+2+0+2, }.map { _2.chr }.join) # -2 <= # 1 <= # 3 <= # 6 <= # 0 <= # -1 <= # 8 <= # true <= # false <=
ܦҢ
ܦҢ • େߐށ Ruby ձٞ 08 Ͱ tompng ͞Μ͕ʮ2020
2 ͱ 0 ͔͠ग़ͯ ͜ͳ͍ͷͰ Quine ͍͢͠ʯͱݴ͍ͬͯͨ • Quine: eval s="puts'eval s=‘+s.inspect” • 2022 2 ͱ 0 ͔͠ग़ͯ͜ͳ͍ͱؾ͍ͯ͠·ͬͨ • ͜ΕΛͬͯԿ͔Ͱ͖ͳ͍͔ߟ͑ͨ
ܦҢ • େߐށ Ruby ձٞ 08 Ͱ tompng ͞Μ͕ʮ2020
2 ͱ 0 ͔͠ग़ͯ ͜ͳ͍ͷͰ Quine ͍͢͠ʯͱݴ͍ͬͯͨ • Quine: eval s="puts'eval s=‘+s.inspect” • 2022 2 ͱ 0 ͔͠ग़ͯ͜ͳ͍ͱؾ͍ͯ͠·ͬͨ • ͜ΕΛͬͯԿ͔Ͱ͖ͳ͍͔ߟ͑ͨ
ܦҢ • େߐށ Ruby ձٞ 08 Ͱ tompng ͞Μ͕ʮ2020
2 ͱ 0 ͔͠ग़ͯ ͜ͳ͍ͷͰ Quine ͍͢͠ʯͱݴ͍ͬͯͨ • Quine: eval s="puts'eval s=‘+s.inspect” • 2022 2 ͱ 0 ͔͠ग़ͯ͜ͳ͍ͱؾ͍ͯ͠·ͬͨ • ͜ΕΛͬͯԿ͔Ͱ͖ͳ͍͔ߟ͑ͨ
ܦҢ • େߐށ Ruby ձٞ 08 Ͱ tompng ͞Μ͕ʮ2020
2 ͱ 0 ͔͠ग़ͯ ͜ͳ͍ͷͰ Quine ͍͢͠ʯͱݴ͍ͬͯͨ • Quine: eval s="puts'eval s=‘+s.inspect” • 2022 2 ͱ 0 ͔͠ग़ͯ͜ͳ͍ͱؾ͍ͯ͠·ͬͨ • ͜ΕΛͬͯԿ͔Ͱ͖ͳ͍͔ߟ͑ͨ
ݸਓతͳͱରࡦ
ݸਓతͳͱରࡦ • TRICK ͷաڈೖ࡞ͷΛߟ͑ͨ • ֶͷ͕ࣝཁ͢Δͷ͕ೖ࡞ʹଟ͍ • …͕ɺֶͷ͕ࣝօແͳͷͰ͖͋ΒΊͨ • Quine
͏͖ΒΕ͍ͯΔ • ιʔείʔυΛΞεΩʔΞʔτʹ͠ͳ͍ • ༏উແཧͩΖ͏͔Βɺ৹ࠪһͷ୭͔ʹ͞͞ΔͷΛ࡞Δ
ݸਓతͳͱରࡦ • TRICK ͷաڈೖ࡞ͷΛߟ͑ͨ • ֶͷ͕ࣝཁ͢Δͷ͕ೖ࡞ʹଟ͍ • …͕ɺֶͷ͕ࣝօແͳͷͰ͖͋ΒΊͨ • Quine
͏͖ΒΕ͍ͯΔ • ιʔείʔυΛΞεΩʔΞʔτʹ͠ͳ͍ • ༏উແཧͩΖ͏͔Βɺ৹ࠪһͷ୭͔ʹ͞͞ΔͷΛ࡞Δ
ݸਓతͳͱରࡦ • TRICK ͷաڈೖ࡞ͷΛߟ͑ͨ • ֶͷ͕ࣝཁ͢Δͷ͕ೖ࡞ʹଟ͍ • …͕ɺֶͷ͕ࣝօແͳͷͰ͖͋ΒΊͨ • Quine
͏͖ΒΕ͍ͯΔ • ιʔείʔυΛΞεΩʔΞʔτʹ͠ͳ͍ • ༏উແཧͩΖ͏͔Βɺ৹ࠪһͷ୭͔ʹ͞͞ΔͷΛ࡞Δ
ݸਓతͳͱରࡦ • TRICK ͷաڈೖ࡞ͷΛߟ͑ͨ • ֶͷ͕ࣝཁ͢Δͷ͕ೖ࡞ʹଟ͍ • …͕ɺֶͷ͕ࣝօແͳͷͰ͖͋ΒΊͨ • Quine
͏͖ΒΕ͍ͯΔ • ιʔείʔυΛΞεΩʔΞʔτʹ͠ͳ͍ • ༏উແཧͩΖ͏͔Βɺ৹ࠪһͷ୭͔ʹ͞͞ΔͷΛ࡞Δ
ݸਓతͳͱରࡦ • TRICK ͷաڈೖ࡞ͷΛߟ͑ͨ • ֶͷ͕ࣝཁ͢Δͷ͕ೖ࡞ʹଟ͍ • …͕ɺֶͷ͕ࣝօແͳͷͰ͖͋ΒΊͨ • Quine
͏͖ΒΕ͍ͯΔ • ιʔείʔυΛΞεΩʔΞʔτʹ͠ͳ͍ • ༏উແཧͩΖ͏͔Βɺ৹ࠪһͷ୭͔ʹ͞͞ΔͷΛ࡞Δ
ݸਓతͳͱରࡦ • TRICK ͷաڈೖ࡞ͷΛߟ͑ͨ • ֶͷ͕ࣝཁ͢Δͷ͕ೖ࡞ʹଟ͍ • …͕ɺֶͷ͕ࣝօແͳͷͰ͖͋ΒΊͨ • Quine
͏͖ΒΕ͍ͯΔ • ιʔείʔυΛΞεΩʔΞʔτʹ͠ͳ͍ • ༏উແཧͩΖ͏͔Βɺ৹ࠪһͷ୭͔ʹ͞͞ΔͷΛ࡞Δ
mame ͷ৺ʹ༷ͬͨ͞͞
͔͞͞ͳͩ͜ΘΓ
͔͞͞ͳͩ͜ΘΓ • Quine ͷ͓·͡ͳ͍ eval $s=%w().join(“") Θͳ͍ • Quine ΛΔͱͯ͠ɺ͜ͷ͓·͡ͳ͍Θͳ͍
• Ruby ͷ৽͍͠ػೳΛ͍͍ͨ • 2.7 ͔Βࡌͨ͠ Numbered parameter Λͬͨ
͔͞͞ͳͩ͜ΘΓ • Quine ͷ͓·͡ͳ͍ eval $s=%w().join(“") Θͳ͍ • Quine ΛΔͱͯ͠ɺ͜ͷ͓·͡ͳ͍Θͳ͍
• Ruby ͷ৽͍͠ػೳΛ͍͍ͨ • 2.7 ͔Βࡌͨ͠ Numbered parameter Λͬͨ
͔͞͞ͳͩ͜ΘΓ • Quine ͷ͓·͡ͳ͍ eval $s=%w().join(“") Θͳ͍ • Quine ΛΔͱͯ͠ɺ͜ͷ͓·͡ͳ͍Θͳ͍
• Ruby ͷ৽͍͠ػೳΛ͍͍ͨ • 2.7 ͔Βࡌͨ͠ Numbered parameter Λͬͨ
͔͞͞ͳͩ͜ΘΓ • Quine ͷ͓·͡ͳ͍ eval $s=%w().join(“") Θͳ͍ • Quine ΛΔͱͯ͠ɺ͜ͷ͓·͡ͳ͍Θͳ͍
• Ruby ͷ৽͍͠ػೳΛ͍͍ͨ • 2.7 ͔Βࡌͨ͠ Numbered parameter Λͬͨ
৹ࠪһͷධՁ
None
·ͱΊ
·ͱΊ • Ruby શવΘ͔Βͳ͍… • ࣄͰʹཱ͔ͭͲ͏͔͔Βͳ͍ • ϓϩάϥϜͰ༡Ϳͷָ͍͠ • RubyKaigi
2025 גࣜձࣾ Ruby ։ൃυϦϯΫΞοϓΛΓ·͢ • ͥͻ͝ࢀՃ͍ͩ͘͞