真面目にPlugin::GUI, Plugin::Gtkを模倣しようとするとWidgetのライフサイクル管理をやらないといけなくなるが、大抵mix呼び出し元ではcommandを実行してる瞬間だけ必要なので、まとめて殺すユーティリティを作ってしまった
ボンクラプログラマー
頭とお腹が弱い。
最近は個人鯖の @shibafu528 がメインです。
⚠️ CW設定のない下品な発言が非常に多いです。これは仕様ですのでご了承下さい。
ℹ️ spam対策でフォロー承認制にしています。上の一文が構わないという方ならお気軽にどうぞ。
FINAL FANTASY XIV 関連の著作物は
(C) SQUARE ENIX CO., LTD. All Rights Reserved.
真面目にPlugin::GUI, Plugin::Gtkを模倣しようとするとWidgetのライフサイクル管理をやらないといけなくなるが、大抵mix呼び出し元ではcommandを実行してる瞬間だけ必要なので、まとめて殺すユーティリティを作ってしまった
Plugin::GUI::EphemeralSession.begin do
# この中で生成したPlugin::GUIの一族は、ブロック脱出後にdestroyされる
end
週刊mikutterを作ろう
サンプルのcommand呼出側がおぞましい感じになってきた
mikutterを丁寧にエミュレートしようとしてるので、y4aのmruby command呼出より手のかかったコードになる。
まあy4aの時はmikutterのobjectをエミュレートするのは半分放棄してたし…
全部Cでやろうとしないで、command呼出をするためのイベントをmrubyで定義して、そこでホストアプリとのデータ構造の変換をやるのが一番楽だと思われる
このアカウントは、notestockで公開設定になっていません。
@mitarashi_dango お世話になっております。Tissueの芝生です。
次期開発プロジェクトの仕様書が作成できましたのでお送りします。
内容をご確認いただき、不明点や間違い等ございましたら遠慮なくご指摘ください。
以上、よろしくお願い致します。
attach: 射精管理システム_フェーズ2仕様書(まとめ).xls
@mitarashi_dango クックック…xlsに目がいってzipされてないこともパスかかってないことも気づかなかったようだな……!
ところで射精管理システムの仕様書.xlsがあるなら欲しいが…頭の中にしか仕様ないんですが…
Tissue.basおふざけで作ってもいいんだけど、今メインがWindowsじゃないから…
まあ口ではこう言っても、半休やら軽い遅刻で用を済ませて上司に「いやもう1日休暇とったら…」みたいな顔されたことが数回ありますが
名前が最悪すぎて出だしの仲間の名前叫ぶとこが最高に笑えた
FF2(GBA) RTA_3時間10分2秒_Part1/6 - ニコニコ動画
https://www.nicovideo.jp/watch/sm37429077
もりくぼぬいぐるみを買うためにアソビストアを使おうとして、あれ…ID持ってたっけな…とGmail検索したらかなり昔のが出てきてギャーつってパスワード再設定かけた
そしゃげのログインIDとECサイトのログインIDまざるのちょっとやだな、失敗した。
データ引き継ぎにしか使わんしパスワードゴミでええやろwwwみたいな運用できなくなる
このアカウントは、notestockで公開設定になっていません。
何しようとしてたんだっけな、CからPluggaloidのHandlerTag打てるようにしようとしてた気がする
RClassに対してprefixつけるの流石にWindowsプログラマかなって感じで冗長だな
mrb_valueだと中身何だよみたいな話があるので付けたい。中身SymbolなやつにRString用の命令呼ぶともれなくクラッシュするし。
そういえば単純なCプログラムをコンパイルするくらい、今やってる作業くらいならMacBook Airでも普通にこなせるんだなってなってます
YouTubeみながら作業すると離陸しはじめるのでだめ
これはiPad Proにやらせると丁度いい
めっちゃ値積み直してんねえになってるけど、mruby使ってmikutter模倣するような環境そんなにヘボくないからこんなもんタダや
要するに
Plugin.filtering(event_name, *argv)[nth_result]
息抜きでdoxyfile作ったけど、これマジでhtmlで何かしらねーと読むきなくなるな
GIT CHECKOUT DETACH /Volumes/DataHome/work/github.com/cinderella-project/MRuby-framework/CMRuby/submodules/mruby/build/repos/host/mruby-delayer -> 61765b30a730946f1de194af5068f7401787cb03
fatal: reference is not a tree: 61765b30a730946f1de194af5068f7401787cb03
fatal: reference is not a tree: 61765b30a730946f1de194af5068f7401787cb03
rake aborted!
どうして
/Users/shibafu/git/mikutter/vendor/bundle/ruby/2.7.0/gems/pluggaloid-1.5.0/lib/pluggaloid/filter.rb:33: [BUG] Segmentation fault at 0x0000000223000190
mixのC API、プラグインに依存したものに関してはロードされていることのアサーション要るなと思った
Plugin[:teokure]みたいにおもむろにインスタンスとってきて処理するとき
虚無のプラグインが生成されるだけだから、DSLを使う分には大丈夫だ。インスタンスメソッドを使いたい時は問題になるけど。
会社のリポジトリにガッと書き換えたブランチが眠ってるけど、なんかコレそんなに嬉しくねえなあ…となってPR出さずに5ヶ月たった
@.see コメントでちゃんとWriting mikutter pluginへのリンクにできるのえらい
netlifyでdoxygenコマンドが使えて驚いたんだけど、ヘッダーメニューのJSを有効化する設定が使えなくてさらに驚いた
https://mruby-mix-docs.netlify.app/
かといって何かしらのCIで生成してからPushするみたいなのも面倒なので妥協する
ConfigLoaderやWorldの実装者向けノートをDoxygen導入前から書いてたけど、Doxygenの生成HTMLにそのまま含められることが分かったのでやって再デプロイした
こんな組み合わせて書くんじゃなくて、実際にはきっちりラップして使ったほうが見た目きれいだと思う
interface MIXPlugin
+ (void)defineSpell:withConstraints:then;
+ (void)defineSpell:withConstraints:condition:then;
とか…
Obj-Cとmrubyとのインテグレーションについてはtoshi_aが詳しいが、プロプライエタリなので…
このアカウントは、notestockで公開設定になっていません。
うおおおおおおおおおおおおあああああああああああああああああああああああああああああああ!!!!!!!!!!! (ブリブリブリブリュリュリュリュリュリュ!!!!!!ブツチチブブブチチチチブリリイリブブブブゥゥゥゥッッッ!!!!!!!)
Diva::Modelってfieldよしなに出してくれるinspectないんだっけ
もう後はネイティブSpellのコールバックを書けばObj=Cからmrubyを経由してブチミれるわ
spell絡むとDelayer::Deferred送りになるからスタックトレースが長い
そしてNSLogの長さ制限にひっかかったのでログハンドラーをprintfにかえた
んんん???
なんでspell(:compose, Cocotodon::World, Cocotodon::Message)を渡したのに、spell(:compose, Cocotodon::World, Cocotodon::User)が呼ばれてるんだ
このままグダグダやるか、いざテストちゅってまずmruby-pluggaloidとかの動かないテスト黙らせてから云々みたいな毛刈りを始めるか
mruby-setが悪いのか、何か俺の手元のコードが変なモンキーパッチをしているのか(??)、これを切り分けないといけないですね
えーとまず内部実装はHashで、いわゆるPHPでよくやるkeyに値を、valueにtrueをつっこむやつみたいですね
んー、結局このtrue同士を比較するだけの虚無1行さえ無ければ普通にいけるんじゃないかなあ。
コードあまりよく読めてないので、他のテストが正しいという前提だけど……(でもこういう事があると不信になるよね)
https://github.com/shibafu528/mruby-set/compare/my-dev...shibafu528:fix-equality
シンプルで好き
茜ちゃんVSギャラクティック・ノヴァ https://nico.ms/sm37455520?cp_webto=share_others_iosapp
そんなものmrubyには……ないです……C関数バインドする時にもargument specは書いてるだけで何も効果ないのに…
mikutterのspell、Procは引数の扱いがゆるいから厳しめに検査するために呼び出し前に処理が入ってるのか。なるほど。
そして……まあこうなったわけです。
mrubyにおいてCで生成したメソッドおよびProcのarityは-1になる。これは引数プロトタイプを宣言する機能を持っていないから。