RubyKaigi 2025
あとでかく
って言って書いていないのが下にいっぱいリンクされた……。
トークの感想をちゃんと書け。
食中毒で死んでいたので、観光パートは物足りない……(要再走)。
体力が不足していたというのを、食中毒にならなくても感じていた……。
これは去年引越して、歩く量が減ったから という気がする……。
これは帰宅後(食中毒から回復後)やった。
ST-HELLOとST-IVARぐらいは会期中にもできてたか。
https://ruby-quiz-2025.storesinc.tech 、そういえばいくつのお宝が眠ってるんだろう? 11個までは指示に従ってたらみつかったけど、こんな中途半端な数てことは無い気がする(interpreter、これぐらいの数ならto_iとchrと脳内で実行したけどどうするのがよかったんだろう……)。
これいくつの宝が隠されてるんだろう……?
これ
ST-HELLO のとこが評価されていないけど、どうなっているんだろう? マクロみのある挙動がされている気がする。
th-capture 0 ではなく th-capture 1-1 と渡っている。 もちろん普通の関数だとこうはならない(最近はendless methodとして
def f(x) = x と書けるようになったのにまだ慣れてなかったな と気付いた)。 このへんの、IRBコマンドとして実装されている?
なんかそんな感じがする!
th-captureのソースを見れば全体でいくつあるかわかりそうな気はするけど、総数以上のネタバレを見ずにそれができるのか?
Object.constants を目grepしてる感じだと、もう変なものなさそうだが……? 目grepをやめて、手元のirbにpasteして
cs - Object.constants したら [:Base64, :JS, :TreasureHunt, :FONT_STYLE, :JSFuncs, :STORES, :River, :Tablet, :TreasureDetector, :Keynote] 、 STORES は見つけてなかった……! 12個
th-search の2つめ、こういうことだったのか(1つ目と同じ意味かと思ってみのがしていた)。digestTreasureHunt::TREASURE_DIGESTS.length=> 13 なんかもう1個ぐらいありそう。
River.trigger が何を与えても nil を返すのが怪しいか? あきらめてググったらネタバレ記事が丁度出てた。
River.trigger は結局何もないのか……( @hooks[:explore][0][] で呼んでいた)。 13番目の宝、なるほど……(これはやってても見付けられなかった気がするから、まあネタバレみてもいいか…… となった)。
interpretter、やっぱり素直に実装するのが正攻法か。
?z.to_i(36) #=> 35 だから +z+z+7 で、 77 になって 77.chr で1文字出力されて〜 みたいな感じで短いから手で実行してしまった。 ループとメモリを制限されたBrainFuckに足し引きの簡単なリテラルが足されたようなもの という感じがするのでなんか読んでいけばわかる。
th-capture Base64.decode64("UkktRU5DT0RFRA==") と呼んで上記のマクロぽい挙動に気付いて「あれ?」となっていた。 File.read(Keynote::LOCATION).unpack('C*').map { |v| Keynote::CP290_TABLE[v] }.join と String#unpack で数値にしたけど、 each_byte なるほど……!