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
360
本当だってば!俺も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
470
TRICK 2022 に入選した話
jinroq
0
270
RubyKaigiとMicrosoftと私
jinroq
0
240
msgraph: Microsoft Graph API Client with Ruby
jinroq
0
330
Fukuoka.rb 2019活動報告・2020抱負
jinroq
0
270
福岡の方から参りました Fukuoka.rb です
jinroq
0
1.8k
Microsoft Graph API Client and OpenAPI
jinroq
0
1k
Fukuoka.rb #150 LT
jinroq
0
280
5 分で分かるアイキューブドシステムズ
jinroq
0
580
Other Decks in Programming
See All in Programming
Team operations that are not burdened by SRE
kazatohiei
1
180
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
480
CursorはMCPを使った方が良いぞ
taigakono
1
170
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
170
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
720
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
2
250
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
310
GraphRAGの仕組みまるわかり
tosuri13
7
480
Benchmark
sysong
0
250
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
440
Claude Codeの使い方
ttnyt8701
1
130
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
300
Featured
See All Featured
Become a Pro
speakerdeck
PRO
28
5.4k
Gamification - CAS2011
davidbonilla
81
5.3k
Designing Experiences People Love
moore
142
24k
Code Review Best Practice
trishagee
68
18k
How GitHub (no longer) Works
holman
314
140k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Building Applications with DynamoDB
mza
95
6.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
YesSQL, Process and Tooling at Scale
rocio
173
14k
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 ։ൃυϦϯΫΞοϓΛΓ·͢ • ͥͻ͝ࢀՃ͍ͩ͘͞