ん〜なんだろうこれ
ボンクラプログラマー
頭とお腹が弱い。
最近は個人鯖の @shibafu528 がメインです。
⚠️ CW設定のない下品な発言が非常に多いです。これは仕様ですのでご了承下さい。
ℹ️ spam対策でフォロー承認制にしています。上の一文が構わないという方ならお気軽にどうぞ。
FINAL FANTASY XIV 関連の著作物は
(C) SQUARE ENIX CO., LTD. All Rights Reserved.
libmruby.aを適切にプロジェクトにリンクするための設定、もしかしてpodspecで動的にやったらよかったりせん?
なんらかのスクリプトで頑張って.frameworkにバンドルするとかさーなんかしらせんと実用厳しいな
やーでもPlugin.filtering(:command, {})するだけではあるんだよな
This account is not set to public on notestock.
週間mikutterを作ろう
適当なCocoaアプリにmrubyで生やしたコマンドを見せるところまで。
やっぱり書くのに腕力が必要だからCレベルで取りやすい情報に一旦落としこむレイヤーが欲しいな
これSwiftで書いた方が良くなりそうな気がした (dynamic member access とかで楽しいことできそう)
お、Swiftにもそういうのあるんだ。ならmrubyのオブジェクトに対するプロキシ作成余裕やん
今なんとなくObjCで書いてる動機、C APIの呼び出しのための記述習得コストをゼロにできるただそれだけです
結局データモデルとのやりとりはそういう動的アクセスが容易になるやつを介してやるのが都合良くて、俺が今セットアップしないといけないのは他だなあという感じはある。ネイティブPluginのイベントハンドラ登録とかその辺のショートハンドとか?
まあそれも、なんか腕力でバインディング作りこむと割とどーでもよいというのは、yukari-exvoiceが示してるんだよな…
任意のオブジェクトに対してダイナミックな呼び出しになるようなのを作るのも……まあそれができる言語なら悪くはない。色々考えなくて済む未来がありそう。
まあmrubyからC世界に返ってきたオブジェクトは全て保守的にGC Protectされるぞという注意点があるが…
雑にやりすぎるとあらゆるネイティブからmruby VMへのコールで解放不能オブジェクトが生える
mikutterのcommandエミュレーションのためにProcに何を渡さないといけないかは文書化したほうがいいな
会社のWi-Fiに繋がってるの忘れてTissueのリンク踏み抜いたので徳が下がった
designated initialization、 C++20 でやっと入るんだ…… (ところでヘーシャのツールチェインにはいつ降ってくるんですか?)
yukari-exvoice、前よりC++書けるようになったからC++で書き直すのもありだなあ
あとLocalRefの管理がクソだるいからRAIIなり解放関数付きスマポなりで何とかしたい
This account is not set to public on notestock.
This account is not set to public on notestock.
ボケ老人なので、数日前に買ってかばんに入れたきり食べてなかったお菓子をまた買いそうになった
mrb->exc、触らないほうがいいとtake-cheeze氏が言及しているのを見かけてマジかーとなった
ほーー、そもそもmruby内に例外が発生したらlongjmpできるようにする仕組みが備わってるのか。
どおりで例外発生時の処理にmrb->jmpとかいう不穏なメンバを触ってるのがあったわけだ。
あ、これ手が込んでるwww
MRB_ENABLE_CXX_EXCEPTIONをdefineしてビルドするとC++の例外機構使うようになってる
NSExceptionにしてもいいかも、まあ組み込み先処理系に合わせてラップして使うのが吉ですね
関数ポインタとvoidポインタを受けるコールバック機構、可能性が無限だけど無限のだるさを感じる
ObjC、もうこの先にこんなキモ言語は出てこねーだろうなという点で学ぶ価値がある。プロダクションで書きたくは……あまりないです
mrubyのコードは頑張ればまだ読める気がするけど、CRubyのコードは全然読める気がしないのですげーなーって思う
もしかしてmrubyはシンプルなので、CRubyのように蛮族がSymbol使いすぎてとうとうGCされるようになった世界線になっていないのでは……?
@toshi_a 古いブログ記事でそう書いてあったので今見てみたところ、シンボルテーブルに対するmrb_freeはmrb_close()の時しか実行されてなかった。GCないね。
ああでもパックして16bit程度に収まるsymbolならそもそもシンボルテーブルに登録しないのか