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つ目と同じ意味かと思ってみのがしていた)。digest
TreasureHunt::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
なるほど……!