aboutsummaryrefslogtreecommitdiffhomepage
path: root/services/nuldoc/content/posts/2022-08-27
diff options
context:
space:
mode:
Diffstat (limited to 'services/nuldoc/content/posts/2022-08-27')
-rw-r--r--services/nuldoc/content/posts/2022-08-27/php-conference-okinawa-code-golf.md (renamed from services/nuldoc/content/posts/2022-08-27/php-conference-okinawa-code-golf.dj)24
1 files changed, 8 insertions, 16 deletions
diff --git a/services/nuldoc/content/posts/2022-08-27/php-conference-okinawa-code-golf.dj b/services/nuldoc/content/posts/2022-08-27/php-conference-okinawa-code-golf.md
index 32acd01..36d9a05 100644
--- a/services/nuldoc/content/posts/2022-08-27/php-conference-okinawa-code-golf.dj
+++ b/services/nuldoc/content/posts/2022-08-27/php-conference-okinawa-code-golf.md
@@ -14,8 +14,7 @@ tags = [
date = "2022-08-27"
remark = "公開"
---
-{#intro}
-# はじめに
+# はじめに {#intro}
本日 [PHP カンファレンス沖縄 2022](https://phpcon.okinawa.jp/) が開催された (らしい)。
@@ -24,8 +23,7 @@ remark = "公開"
* ツイート: https://twitter.com/m3m0r7/status/1563397620231712772
* スライド: https://speakerdeck.com/memory1994/php-conference-okinawa-2022-extra?slide=3
-{#solution}
-# 解
+# 解 {#solution}
細かいレギュレーションは不明だったので、勝手に定めた。
@@ -58,25 +56,21 @@ echo implode(', ', $r ?? []);
?>]
```
-{#techniques}
-# 使用したテクニック
+# 使用したテクニック {#techniques}
-{#exponential-notation}
-## 指数表記
+## 指数表記 {#exponential-notation}
割と多くの言語のゴルフで使えるテクニック。
`e` を用いた指数表記で、大きな数を短く表す。
このコードでは `10000`、`5000`、`2000`、`1000` を指数表記している。
-{#shorten-loop}
-## foreach や for の中身を1つの文に
+## foreach や for の中身を1つの文に {#shorten-loop}
`foreach`、`for`、`if` などの後ろには、
通常 `{` を続けて複数の文を連ねるが、中身の文を1つにしてしまえば、`{` と `}` を省略できる。
C言語などでも使える。
-{#omit-initialization}
-## $r に初期値を入れない
+## $r に初期値を入れない {#omit-initialization}
PHP では、`$r[] = ......` のような配列の末尾に追加する式を実行したとき、
`$r` が未定義だった場合は `$r` を勝手に定義して空の配列で初期化してくれる。
@@ -88,13 +82,11 @@ PHP では、`$r[] = ......` のような配列の末尾に追加する式を実
もし 0 が渡されたケースを無視するなら、これが不要になるので 4 バイト縮む。
-{#put-text-outside-php-tag}
-## PHP タグの外に文字列を置く
+## PHP タグの外に文字列を置く {#put-text-outside-php-tag}
PHP では、`<?php` `?>` で囲われた部分の外側にある文字列は、そのまま出力される。
今回のケースでは、先頭と末尾に必ず `[` と `]` を出力するので、そのまま書いてやればよい。
-{#outro}
-# おわりに
+# おわりに {#outro}
最後になりましたが、 [めもりー](https://twitter.com/m3m0r7) さん、楽しい問題をありがとうございました。