Skip to content

Instantly share code, notes, and snippets.

View time_now.rb
# https://ongaeshi.github.io/rubyonbrowser/ でPC実行すると1ループ約1秒位だった
(1..10).map do
(1..10000000).each {}
Time.now
end.join("\n")
View add_lineno.rb
DATA = <<EOS
<html>
<head>
<meta charset="utf-8"/>
</head>
<script src="https://cdn.jsdelivr.net/npm/ruby-head-wasm-wasi@0.2.0/dist/browser.umd.js"></script>
<script>
const { DefaultRubyVM } = window["ruby-wasm-wasi"];
const main = async () => {
// Fetch and instntiate WebAssembly binary
View ruby_wasm_browser_insall_command.txt
$ git clone https://github.com/kateinoigakukun/ruby.wasm.git
$ cd ruby.wasm/packages/npm-packages/ruby-wasm-wasi/
$ npm install
$ npm install --save ruby-head-wasm-wasi
# Need this?
$ cp -r node_modules/ruby-head-wasm-wasi/dist/ .
$ cd example
View README.md

Ruby+VSCode+Windowsで必要最低限の開発環境を整える

基本方針

  • Ruby2.7
    • Ruby3自体は安定しているがgem周りの挙動が若干安定していなかった
  • VSCodeから使える機能
    • Linter (standard)
    • Formatter (rufo, Shift+Alt+F9)
    • Debugger (debase, ruby-debug-ide)
  • コマンドラインから使える機能
  • standardrb --fixで自動修正
View script_with_scene.rb
# SceneClipの例
script do |root|
draw_background
# Scene1
root.scene_script do |scene|
# SceneClipが生成される(scene)
t = scene.text(10, 10)
View gist:62830ebd70f88a9d58ec6f8a7e200f26
PROJECT = "name";
title = "title"
url = "sbporter://scrapbox.io/"+PROJECT+"/"+encodeURIComponent(title)+"?body="+encodeURIComponent(T.lines());
T(url,{option:"cutWhole"});
View add_link_to_textwell.js
View textwell_make_sceapbox_link.js
View scrapbox_header_textwell.js
c = T.current;
if(c){
s = "[*** " + c + "]"
if(T.range.len){
T("replaceRange", {text:s,
replacingRange:{ loc:T.range.loc, len:c.length },
selectingRange:{ loc:T.range.loc, len:s.length }
} );
}else{
T("replaceCurrent",{text:s});
@ongaeshi
ongaeshi / using_irb_as_a_programmable_calculator.md
Last active Jan 12, 2021
irbをプログラマブル電卓として使いこなす
View using_irb_as_a_programmable_calculator.md

irbをプログラマブル電卓として使いこなす

基本設定

  • .irbrcに設定する
  • ヒストリと補完は必ず動くようにする(複数行編集とかもできるようになるのでRuby 2.7以降がおすすめ)
require 'irb/ext/save-history'
require 'irb/completion'
require 'caseninja'
require 'open-uri'