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
本当の FizzBuzz をお見せします
Search
memory
PRO
October 08, 2023
Programming
1
2.2k
本当の FizzBuzz をお見せします
懇親会 LT @ PHP カンファレンス 2023
※このスライドは懇親会 LT 用のネタであり「本当の FizzBuzz」なんてものは実在しません
memory
PRO
October 08, 2023
Tweet
Share
More Decks by memory
See All by memory
コードゴルファー道
m3m0r7
PRO
0
240
ChatGPT とつくる PHP で OS 実装
m3m0r7
PRO
3
220
事業観点から見る技術的負債の返済
m3m0r7
PRO
4
1.1k
PHP でアセンブリ言語のように書く技術
m3m0r7
PRO
1
220
PHP でアセンブリっぽく書く技術
m3m0r7
PRO
1
140
How to implement a RubyVM with PHP?
m3m0r7
PRO
3
2.6k
二郎系ラーメンのコールで学ぶ AST 解析
m3m0r7
PRO
8
2.7k
RubyVM を PHP で実装する 〜Hello World を出力するまで〜
m3m0r7
PRO
1
830
令和最新版 PHP メモリ管理術
m3m0r7
PRO
7
4.5k
Other Decks in Programming
See All in Programming
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
430
AHC 044 混合整数計画ソルバー解法
kiri8128
0
300
OUPC2024 Day 1 解説
kowerkoint
0
400
신입 안드로이드 개발자의 AI 스타트업 생존기 (+ Native C++ Code를 Android에서 사용해보기)
dygames
0
510
Preact、HooksとSignalsの両立 / Preact: Harmonizing Hooks and Signals
ssssota
1
710
eBPF Updates (March 2025)
kentatada
0
130
20250326_生成AIによる_レビュー承認システムの実現.pdf
takahiromatsui
17
5.6k
Compose Navigation実装の見通しを良くする
hiroaki404
0
180
PsySHから紐解くREPLの仕組み
muno92
PRO
1
520
安全に倒し切るリリースをするために:15年来レガシーシステムのフルリプレイス挑戦記
sakuraikotone
5
2.3k
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.2k
S3静的ホスティング+Next.js静的エクスポート で格安webアプリ構築
iharuoru
0
200
Featured
See All Featured
Writing Fast Ruby
sferik
628
61k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
What's in a price? How to price your products and services
michaelherold
245
12k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Producing Creativity
orderedlist
PRO
344
40k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Why Our Code Smells
bkeepers
PRO
336
57k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.4k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Making the Leap to Tech Lead
cromwellryan
133
9.2k
Transcript
ΊΓʔ ຊͷ FizzBuzz Λ͓ݟͤ͠·͢ ࠙ձ LT @PHP ΧϯϑΝϨϯε 2023
ΊΓʔ m3m0r7 ͖ͬ͞ RubyVM Λ PHP Ͱ࣮͢ΔΛ͠ ·ͨ͠ memory1994
m3m0r7
FizzBuzz ͬͯΔਓʙʁ
૾ͨ͠ਓ ͍ΔΜ͡Όͳ͍Ͱ͠ΐ͏͔
FizzBuzz ͰϧʔϓจΛ ͏ͷ͑
ຊͷ FizzBuzz ΛݟͤͯΓ·͢Α
͜ΕɼͪΌΜͱ 1 ʙ 100 ·Ͱͷ FizzBuzz ͕ग़ྗ͞Ε·͢
Ͳ͏ಈ͍͍ͯΔͱࢥ͍·͔͢ʁ
PHP $$var ͱ࣮ߦ͢Δͱ $var ʹ ೖ͍ͬͯΔΛม໊ͱͯ͠ࢀর͠·͢
ͨͱ͑ $var = 'cat' ͱ͢Δͱ $$var $cat Λ࣮ߦ͠Α͏ͱ͠·͢ɻ
ͭ·Γɼ$$$...$ ͦΕΛ ͻͨ͢Β܁Γฦ͍ͯ͠Δ͜ͱʹͳΓ·͢ɻ
$var = '1' Λ $$var ͱ͢Δͱ $1 Λ ࢀর͠Α͏ͱ͠·͕͢
͝ଘͷ௨Γ PHP Ͱ ม໊Λࣈ͔Β࢝ΊΒΕ·ͤΜ
͔͠͠ $GLOBALS['1'] ͷΑ͏ʹ ࢀর͢Δ͜ͱͰ͖·͢
PHP ϩʔΧϧมͱάϩʔόϧม Ͱ͋Δ $GLOBALS Λࢀর͠Α͏ͱ͠ ·͢
͜ͷΑ͏ʹ͢Δ͜ͱͰ $var = '1' Λ $$var ͱ࣮ߦ͢Δͱ $GLOBALS['1'] ͕
ࢀর͞Ε·͢
͔͠͠ $GLOBALS['1'] ηοτ͞Ε ͍ͯͳ͍ͷͰɼ͜ͷ··Ͱ Unde fi ned variable ʹͳΓ·͢
࣮ $var = '1' Λ $$var ͱ࣮ߦ͢Δͱ͖ Unde fi
ned variable ͕ग़ྗ͞ΕΔલʹ จࣈྻม͕Γ·͢
ͭ·Γ class Ͱఆٛ͞Εͨ __toString ͕ൃՐ͢ΔͷͰ͢
͜ͷੑ࣭Λར༻ͯ͠ɼ__toString ͷ λΠϛϯάͰ $GLOBALS['1'] ʢ1 ҙͷࣈʣΛఆ͍ٛͯ͠·͢
ͦͯ͠ __toString ͷฦΓ ม໊ͱͯ͠ѻΘΕ·͢
ͭ·Γ __toString Λ܁Γฦͨ͢ͼʹ 1, 2, 3 ... ͱ૿͍͖͑ͯ·͢ɻ
ͦͷΛ༻͍ͯ Fizz or Buzz or ࣈ ͱग़͚͠Λߦ͍ग़ྗͤ͞Ε͍͍ͷ Ͱ͢
͔͠͠ɼͦͷ··Ͱग़ྗͰ͖·ͤΜ
ͦͷͨΊ print Λ༻͍ͯ ग़ྗΛߦ͍ͬͯ·͢
ϫϯϥΠφʔϋοΫͰฦΓ͕ͳ͍ echo ΑΓฦΓ͕͋Δ print ͕ॏๅ͠ ·͢ʢͦͷ··ଞͷࣜʹࠞͥΒΕΔʣ
https://gist.githubusercontent.com/m3m0r7/ f8059505046c6ab689aa728c2ca6f76c/raw/ be78189cb305358cd57c5ab31c251dd2dcc656d1/ fi zzbuzz.php
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠