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.9k
これは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
180
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
6
4.5k
Chrome Extension Techniques from Hell
moznion
1
230
Simple組み合わせ村から大都会Railsにやってきた俺は / Coming to Rails from the Simple
moznion
4
8.2k
AIレシート読み取り機能をRuby on Rails on AWSで実現するLLMにまつわるアレコレ / AI-based receipt reading function powered by LLM on Ruby on Rails on AWS
moznion
3
970
Develop to Survive - YAPC::Hakodate 2024 Keynote
moznion
11
19k
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
100
AWS上に構築する メンテ容易なElasticsearch System / Maintainable Elasticsearch system on AWS
moznion
2
4k
Other Decks in Technology
See All in Technology
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
580
「その開発、認知負荷高すぎませんか?」Platform Engineeringで始める開発者体験カイゼン術
sansantech
PRO
2
240
【NoMapsTECH 2025】AI Edge Computing Workshop
akit37
0
220
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
150
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
860
DroidKaigi 2025 Androidエンジニアとしてのキャリア
mhidaka
2
380
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
110
ブロックテーマ時代における、テーマの CSS について考える Toro_Unit / 2025.09.13 @ Shinshu WordPress Meetup
torounit
0
130
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
5
1.7k
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
450
株式会社ログラス - 会社説明資料【エンジニア】/ Loglass Engineer
loglass2019
4
65k
なぜテストマネージャの視点が 必要なのか? 〜 一歩先へ進むために 〜
moritamasami
0
240
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
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ͬͯࣅͯ·͢Ͷ