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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
jinroq
March 20, 2025
Programming
610
0
Share
本当だってば!俺もTRICK 2022に入賞してたんだってば!
Fukuoka.rb #397 〜RubyKaigi 2025の機運〜
jinroq
March 20, 2025
More Decks by jinroq
See All by jinroq
Back to the roots of date
jinroq
0
840
Fukuoka.rb 2023 年度活動報告
jinroq
0
560
TRICK 2022 に入選した話
jinroq
0
350
RubyKaigiとMicrosoftと私
jinroq
0
300
msgraph: Microsoft Graph API Client with Ruby
jinroq
0
400
Fukuoka.rb 2019活動報告・2020抱負
jinroq
0
360
福岡の方から参りました Fukuoka.rb です
jinroq
0
2k
Microsoft Graph API Client and OpenAPI
jinroq
0
1.2k
Fukuoka.rb #150 LT
jinroq
0
340
Other Decks in Programming
See All in Programming
実用!Hono RPC2026
yodaka
2
310
20年以上続くプロダクトでも使い続けられる静的解析ツールを求めて
matsuo_atsushi
0
150
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
430
From Formal Specification to Property Based Test
ohbarye
0
2.6k
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.7k
AIと共に生きる技術選定 2026
sgash708
0
140
GitHubCopilotCLIをはじめよう.pdf
htkym
0
330
How We Practice Exploratory Testing in Iterative Development( #scrumniigata ) / 反復開発の中で、探索的テストをどう実施しているか
teyamagu
PRO
3
820
Road to RubyKaigi: Play Hard(ware)
makicamel
1
570
Agentic UI in the Frontend: Architectures with Open Standards @JAX 2026 in Mainz
manfredsteyer
PRO
0
110
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
360
書き換えて学ぶTemporal #fukts
pirosikick
2
370
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
360
Music & Morning Musume
bryan
47
7.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Color Theory Basics | Prateek | Gurzu
gurzu
0
310
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
190
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Ethics towards AI in product and experience design
skipperchong
2
270
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
200
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 ։ൃυϦϯΫΞοϓΛΓ·͢ • ͥͻ͝ࢀՃ͍ͩ͘͞