mrubyc-dev-jp
@mrubyc_dev_jp
mruby/c unofficial account.
قد يعجبك
Array#difference を実装しました。 Array#- も同じ仕様で動作するようにしています。
NaN boxing を限定的にサポートしました。 1変数あたりのRAM使用量を、劇的に(最大50%downとか)下げることができます。 コンパイルオプション -DMRBC_NAN_BOXING を付けて利用し、32bit CPUでのみ動作し、gccとclang で動作確認しています。
ここで公開されていますね。 github.com/gfd-dennou-clu… 講義用の松江高専オリジナルボードを前提にしていると思われますが、オリジンがESP32の機能なので、ほとんどは流用できるのではないかと。
温湿度センサーならDHT22 ですかね? データシートを簡単に確認してみましたが出力データが独自形式のようで、確かに簡単ではないですね。 同族の DHT20 なら I2C なので、以下が参考になるかもしれません。 qiita.com/HirohitoHigash…
raspberrypi picoでmruby/cからDH22を動かそうとしてるけど、簡単じゃないな。。 大人しく同人誌に載ってるセンサー買おう。
拾えます。 mrbc_value *val = mrbc_get_const( mrbc_str_to_symid("MRUBYC_VERSION")); mrbc_p( val ); とか。
mruby/cでも、mrbc_get_const()はあるようだが、ruby側で定義した定数をC側から拾えるのだろうか
こっちはたぶん大丈夫🙂
プルリク、もしくは issueに「こんなの欲しい」とあげていただくと助かります。 GET_* や SET_*_RETURN は、mrbcプレフィクスがついていないことで察することができるかもしれませんが、草創期の簡易なマクロです。本来このような便利機能もあってしかるべきと考えています。
mruby/cのデータの中身拾うのは、なんかもう型チェックに疲れて全く美しくない関数組んじゃいました。 引数に大いに不満がありますw が動くのが正義ということで(あまり型を気にせずにスクリプト組むので利用初期に死にまくりました
何回でもcallして大丈夫に作っているはずです。 ただ、そういったケースはまだ無かったので、ちょっと自信がない。。。
mrbc_run_mrblib()は複数回呼んでちゃんと動く模様(呼んで調べたので条件無しかどうかは不明 左2行目はmrubyc-m5のコードなので無視で、3,4行目で2度の呼び出し(もう一回mruby/cが呼んでるはず)
そうです。 マイコンごとに開発環境があり、mruby/c VM は部品に徹することによって、「どんな環境にもするりと入る」を目指しています。今のところ、この戦略はうまくいってる様子。 逆に全部入りだと思って見に来た人は、拍子抜けするかも。もう少し工夫 (document?) が必要ですね。
どうやらmruby/cは公式レポジトリを各自が必要とするフレームワークに自分で縫い付けて利用するもの、そういう世界観らしい(個人のry
String#[] メソッドで、Rangeによる範囲指定をサポートしました。 "abcd"[1..3] とか、できます。
誤解まねく仕様だとは思っているんですけど、関数から戻るのは return 句の仕事だし、mrbc_raise() で例外が起こることを「指示」した後で別の事をしたり、 mrbc_raise(...); // 普通はこの例外だけど if( exp ) mrbc_raise( ... ); // このケースだけは別 のような書きかたもできるので。
mruby/c、mrbc_raise()しても、即座にreturnしなければそのまま後ろのコードが走ってしまうのか。raiseした時点で返ってこないと思っていた NULLチェックしてもそのまま後ろまで走る
旧チェコスロバキア製のPCを見た。出力がPALだからもう動かせないそう。帰り際に「ギフトだ」といって同社製の古い電子部品をもらった。メタルキャンパッケージなんて、一度しか使ったこと無いぞ。レア品だ。 #MFTokyo2024
アセンブラならもっと悪いことができますぜ、旦那。
Module を使えるようにしました。 module Module1 class Class1 end end obj = Module1::Class1.new とか、できるようになりました。
5年ぶり位にワンライナー以上の Perl を書いているが、ほぼ完全に忘却しているのもあって、変数の種類ごとに記号を使い分けるのがまったく手になじまない。 HashにArray を入れてそれを操作をするのに、 push( @{$hash{$key}}, $val ); とか、書いた後でならなんとなく納得できなくもないが、、、
Taskクラスの試験実装を行いました。 mruby/c の特徴の一つに複数プログラムの同時実行がありますが、Taskクラスを使うと任意のタイミングでタスクを動かしたり停止したりと、一般的なRTOSと同様な事ができるようになります。 qiita.com/HirohitoHigash…
多くは無いけれど、切り捨てるほど少なくもないという感覚でいますね。 Hitachi SH, NXP ColdFire などは古い石ですが全然現役な感じがします。
United States الاتجاهات
- 1. #IDontWantToOverreactBUT N/A
- 2. $BNKK 1,010 posts
- 3. Victory Monday 3,681 posts
- 4. #MondayMotivation 38.5K posts
- 5. Good Monday 52.9K posts
- 6. Jake Paul 7,863 posts
- 7. Zelda 29.5K posts
- 8. #ChaoVendeHumo 2,972 posts
- 9. Anthony Joshua 5,780 posts
- 10. #MondayVibes 2,840 posts
- 11. #NXXT_earnings N/A
- 12. Guma 23.8K posts
- 13. Peyz 9,376 posts
- 14. Angel Reese 2,065 posts
- 15. Sanders 62.1K posts
- 16. Founders Day N/A
- 17. Happy Founders N/A
- 18. $NXXT 1,309 posts
- 19. American Education Week N/A
- 20. Taxi 20.4K posts
قد يعجبك
-
OSS-Vision Official
@OssVision -
Ruby City MATSUE
@rubycitymatsue -
Hiroshi Inoue
@Inoue_0852 -
福岡県未来ITイニシアティブ
@Fukuoka_Ruby -
RubyWorld Conference
@RubyWorldConf -
mruby/c
@mrubyc_jp -
서하린
@_hareeen -
Lチカは情操教育
@hasumikin -
Matsue.rb - 松江Ruby
@matsuerb -
kmuto
@kmuto -
kishima
@kishima -
_ko1
@_ko1 -
齋藤甚六
@jimlock -
ITOC
@itocjp -
yancya
@yancya
Something went wrong.
Something went wrong.