aboutsummaryrefslogtreecommitdiffhomepage
path: root/slide.saty
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2023-01-17 20:52:16 +0900
committernsfisis <nsfisis@gmail.com>2023-01-17 20:52:16 +0900
commit8580269bfcef26aad37d5c8c6b41abe12d4eb9db (patch)
treea5ad5fe46c9335b05e3abb49da5274a9afa2dd4e /slide.saty
parent67744974df46b1f78de9acc227f62d1e6db5f393 (diff)
downloadphpstudy-148-slides-8580269bfcef26aad37d5c8c6b41abe12d4eb9db.tar.gz
phpstudy-148-slides-8580269bfcef26aad37d5c8c6b41abe12d4eb9db.tar.zst
phpstudy-148-slides-8580269bfcef26aad37d5c8c6b41abe12d4eb9db.zip
Ruby、Perlの分も記載
Diffstat (limited to 'slide.saty')
-rw-r--r--slide.saty83
1 files changed, 83 insertions, 0 deletions
diff --git a/slide.saty b/slide.saty
index 8677075..2285d8d 100644
--- a/slide.saty
+++ b/slide.saty
@@ -121,4 +121,87 @@ nil;`
textbox{PHPerKaigi 2023のPHPerチャレンジに出題します!};
]);
>
+
+ +frame{Rubyとして解釈する}<
+ +code-block(
+ `#<?php`
+ );
+ +p{
+ \inline-code(`#`); は行コメント
+ }
+ >
+
+ +frame{Rubyとして解釈する}<
+ +code-block(
+ `$a = 'a'; $/* 0; # */$a`
+ );
+ +p{
+ \inline-code(`$a`); に \inline-code(`'a'`); を代入
+ }
+ +p{
+ \inline-code(`$/`); はRubyの特殊なグローバル変数。\inline-code(`*`); は乗算
+ }
+ +p{
+ \inline-code(`#`); 以降は行コメント
+ }
+ >
+
+ +frame{Rubyとして解釈する}<
+ +code-block(
+ `=begin
+();
+echo "php\n";
+function begin() {} $a = <<<nil
+=end`
+ );
+ +p{
+ \inline-code(`=begin`); から \inline-code(`=end`); はコメント
+ }
+ >
+
+ +frame{Rubyとして解釈する}<
+ +code-block(
+ `puts "#ruby"; '`
+ );
+ +p{
+ 出力部。\inline-code(`'`); からは文字列リテラル
+ }
+ >
+
+ +frame{Rubyとして解釈する}<
+ +code-block(
+ `puts "#ruby"; '
+=cut
+print "#perl\n";
+'# ';
+nil;`
+ );
+ +p{
+ 文字列リテラルとして読み飛ばし、行コメント
+ }
+ +p{
+ \inline-code(`nil`); はPHPでいう \inline-code(`null`);
+ }
+ >
+
+ +frame{Perlとして解釈する}<
+ +code-block(
+ `#<?php
+$a = 'a'; $/* 0; # */$a
+=begin
+();
+echo "php\n";
+function begin() {} $a = <<<nil
+=end
+puts "#ruby"; '
+=cut
+print "#perl\n";
+'# ';
+nil;`
+ );
+ +p{
+ ほぼRubyと同じ。
+ Perlだと \inline-code(`=begin`); から \inline-code(`=cut`); までがコメント
+ }
+ >
>