Qiita の方に書きました。
JRubyでLibreOffice Calcのfodsファイルを読み書きするサンプル 2021
Qiita の方に書きました。
JavaでLibreOffice Calcのfodsファイルを読み書きするサンプル 2021
Qiita の方に書きました。
memo88の2020年ブックマークランキング
やってみました。調べてないけど9割方セルクマ 😅
ブクマしてくださった方、ありがとうございます。
memo88の2020年ブックマークランキングベスト24(累計30ブックマーク)
generated by 年間ブックマークランキングジェネレーター
DockerでLibreOffice Basicマクロを実行する
Qiita の方に書きました。
LibreOffice BasicでLispインタプリタ(mal)を書いた
Qiita の方に書きました。
Ruby/Racc: パースに失敗した位置(行、桁)を得る
Qiita の方に書きました。
素朴な自作言語のコンパイラをGoに移植した
やっつけなので汚いです。ライフゲームのコンパイルが通ったのでヨシ、というレベルのものです。
移植元
ベースになっているバージョン: tag:50 のあたり
(2021-06-20 追記) ステップ60 の修正まで反映しました
メモ
今回の実験コーナー。
これまで Dart への移植 のときに set を不要にし、 Java への移植 のときに call を不要にし、 Perl への移植 のときに call_set を不要にしてきました。
今回はこれらを全部適用して、さらに Python への移植 のときにやった、 Ruby っぽい見た目への変更も加えました。
trial ブランチ でやってみました。
vgコードはこんな感じ。
var
を除けばこれはもう Ruby ですね。
def calc_next_gen(current_val, count) # 注目しているセルの次世代の生死 var next_val = 0; case when (current_val == 0) case when (count == 3) next_val = 1; end when (0 == 0) case when (count == 2) next_val = 1; when (count == 3) next_val = 1; end end return next_val; end def main() var w = 5; # 盤面の幅 var h = 5; # 盤面の高さ # 初期状態の設定 vram_set(w, 1, 0, 1); vram_set(w, 2, 1, 1); vram_set(w, 0, 2, 1); vram_set(w, 1, 2, 1); vram_set(w, 2, 2, 1); var gen_limit = 0; var gen = 1; while (gen != gen_limit) make_next_gen(w, h); replace_with_buf(); gen = gen + 1; end end