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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
jinroq
March 20, 2025
Programming
0
510
本当だってば!俺も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
520
TRICK 2022 に入選した話
jinroq
0
320
RubyKaigiとMicrosoftと私
jinroq
0
280
msgraph: Microsoft Graph API Client with Ruby
jinroq
0
370
Fukuoka.rb 2019活動報告・2020抱負
jinroq
0
320
福岡の方から参りました Fukuoka.rb です
jinroq
0
2k
Microsoft Graph API Client and OpenAPI
jinroq
0
1.1k
Fukuoka.rb #150 LT
jinroq
0
320
5 分で分かるアイキューブドシステムズ
jinroq
0
610
Other Decks in Programming
See All in Programming
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Implementation Patterns
denyspoltorak
0
280
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
410
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
AI 駆動開発ライフサイクル(AI-DLC):ソフトウェアエンジニアリングの再構築 / AI-DLC Introduction
kanamasa
12
6.4k
Fragmented Architectures
denyspoltorak
0
140
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
110
Grafana:建立系統全知視角的捷徑
blueswen
0
320
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.8k
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
190
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
How to train your dragon (web standard)
notwaldorf
97
6.5k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
89
Practical Orchestrator
shlominoach
191
11k
Designing Powerful Visuals for Engaging Learning
tmiket
0
210
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
640
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
WENDY [Excerpt]
tessaabrams
9
36k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
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 ։ൃυϦϯΫΞοϓΛΓ·͢ • ͥͻ͝ࢀՃ͍ͩ͘͞