在這幾天的實作過程中,我們逐漸發現一個情況的出現,每當增加一個 OPCode 的處理就會有不少重複的程式碼需要輸入,而在 C 語言要對應這樣的狀況使用巨集就可以...
在前面的實作中,我們是直接對 OP_SEND 放入 printf 的處理將結果印出來,但這樣就表示我們在 Ruby 不論呼叫任何方法都只會將他印出來,這並不是我...
在上一篇我們已經能夠利用 mrb_state 去儲存整個 Ruby VM 運行時共有的狀態,接下來我們要利用 mrb_state 將 Ruby 中呼叫的方法和...
現在大多數的人在入門程式語言的時候大多是從物件導向語言開始入門,而工作也是以使用物件導向語言為主。但是在 C 語言或者函數式語言中,並沒有「物件」的概念,又是如...
在 mruby 中,我們想知道目前的方法傳入了哪些資訊,會像這樣子使用 mrb_value mrb_puts(mrb_state* mrb, mrb_value...
不知道大家有沒有思考過「強型別」語言跟「弱型別」語言的差異在哪邊,在強型別語言中每一種變數的「型別」都是固定的,也就是說當我們「編譯」的時候就會知道「類型」不對...
我們在上一篇已經可以製作 MRB_TT_FIXNUM 這類整數型的變數,但是必須透過下面這種方式手動去製作 mrb_value mrb_value v = {...
大多數時候我們使用 Arduino 這類開發板的時候都會使用 Arduino 提供的 IDE或者像是 ESP32/ESP8266 官方提供的開發工具,不過當有一...
雖然我們已經可以使用 pio test 對我們撰寫的 Ruby VM 進行測試,但是使用 pio run 編譯的時候還是會出現無法正常運作的錯誤,我們需要對原始...
因為我們的目標是要能讓自製的 Ruby VM 運行在微控制器上並且在螢幕上顯示訊息,這次使用的是 TFT 螢幕型號是 ST7735 因為不同的硬體會有差異,在設...