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
これはPerl? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
Search
moznion
October 07, 2024
Technology
3
2.8k
これはPerl? それともRuby? クイズ〜〜〜〜〜!!!- Perl or Ruby Quiz
YAPC::Hakodate 2024のLT資料です
moznion
October 07, 2024
Tweet
Share
More Decks by moznion
See All by moznion
RubyKaigi Hack Space in Tokyo & 函館最速 "予習" 会 / RubyKaigi Hack Space in Tokyo & The Fastest Briefing of RubyKaigi 2026 in Hakodate
moznion
1
140
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
6
4.2k
Chrome Extension Techniques from Hell
moznion
1
210
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
4
7.8k
AIレシート読み取り機能をRuby on Rails on AWSで実現するLLMにまつわるアレコレ / AI-based receipt reading function powered by LLM on Ruby on Rails on AWS
moznion
3
900
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
11
18k
Perl 5 OOP機構30年史 - Perl 5's OOP Mechanism over the past 30 years
moznion
1
1.1k
RuboCopのカスタムCopを書いてContributionしてみる - Contributing a Custom Cop to RuboCop: A Hands-on Experience
moznion
0
91
AWS上に構築する メンテ容易なElasticsearch System / Maintainable Elasticsearch system on AWS
moznion
2
4k
Other Decks in Technology
See All in Technology
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
9
2.3k
Claude Code に プロジェクト管理やらせたみた
unson
6
4.6k
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
180
成長し続けるアプリのためのテストと設計の関係、そして意思決定の記録。
sansantech
PRO
0
130
OpenTelemetryセマンティック規約の恩恵とMackerel APMにおける活用例 / SRE NEXT 2025
mackerelio
2
790
AWS CDKの仕組み / how-aws-cdk-works
gotok365
8
300
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
300
Contributing to Rails? Start with the Gems You Already Use
yahonda
2
110
AWS CDK 入門ガイド これだけは知っておきたいヒント集
anank
3
290
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.2k
開発生産性を測る前にやるべきこと - 組織改善の実践 / Before Measuring Dev Productivity
kaonavi
14
6.5k
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
2
650
Featured
See All Featured
Done Done
chrislema
184
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Designing for Performance
lara
610
69k
The Invisible Side of Design
smashingmag
301
51k
Building Applications with DynamoDB
mza
95
6.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
107
19k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Transcript
͜Ε1FSMʁɹͦΕͱ3VCZʁ ΫΠζʙʙʙʙʙʂʂʂ  :"1$)BLPEBUF-5 !NP[OJPO
ʮ1FSMॻ͚ΔͳΒ3VCZॻ͚ΔΑͶʁʯ
ʮ3VCZॻ͚ΔͳΒ1FSMॻ͚ΔΑͶʁʯ
ͲͪΒਓݖͰ͋Δͱ ͘ೝࣝ͞Ε͍ͯΔ
͓͖ͯ͞ʜʜ ΫΠζʙʙʙʙʂʂʂʂʂ
ճީิ 1. Perl 2. Ruby 3. ྆ํ 4. ͲͪΒͰͳ͍
5. ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
print "yapc"
print "yapc" ྆ํ
2
say "yapc"
say "yapc" 1FSM
2
print "yapc" print "hakodate"
print "yapc" print "hakodate" 3VCZ
2
print '0' ? 'true' : 'false'
print '0' ? 'true' : 'false' ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
@l ist = (1..5); print @ l ist;
@l ist = (1..5); print @ l ist; ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
$_ a = '5'; $_ b = '10'; print
$ _ a + $ _ b;
$_ a = '5'; $_ b = '10'; print
$ _ a + $ _ b; ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
print $ _
print $ _ ྆ํͰಈ͕݁͘Ռ͕ҧ͏
2
class Example { }
class Example { } 1FSM
2
print true
print true ྆ํ 1FSMͷόʔδϣϯґଘ
use v5.40; print true;
2
class Person attr_accessor :name attr_accessor :age end
class Person attr_accessor :name attr_accessor :age end 3VCZ ͱ͜ΖʹΑΓ1FSM
package Filter; use Filter::Util::Call; sub im port { filter_add([]);
} sub filter { my ( $ self) = @_ ; my $status = filter_read(); return $status if $status <= 0; s/\bclass\s+(\w+)/package $1 {/g; s/\bend\b/}/g; s/\battr_accessor\s+:(\w+)/sub $ 1 { my \$self = shift; \ @ _ ? \$self->{\ $ 1 } = shift : \$self->{\ $1 } }/g; return $status; };
2
attr_accessor 'yapc', 'hakodate'
attr_accessor 'yapc', 'hakodate' 3VCZ ͱ͜ΖʹΑΓ1FSM
use Rubyish::Class; attr_accessor 'yapc', 'hakodate'
2
def add(a, b) a + b end
def add(a, b) a + b end 3VCZ ͱ͜ΖʹΑΓ1FSM
use Inline::Ruby; __END__ __Ruby__ def add(a, b) a +
b end
͍͔͕Ͱ͔ͨ͠ʁ
3VCZͱ1FSMͬͯࣅͯ·͢Ͷ