https://goo.gl/maps/5ryNNDaE7tJ2
Tōkyō-to, Bunkyō-ku, Yushima, 3 Chome−19−11, Yushima First Building 5F
東京都文京区湯島3-19-11 湯島ファーストビル5F
require 'benchmark/ips' | |
# Because the methods avoid creating a `MatchData` object or saving backref. | |
# So, when `MatchData` is not used, use `match?` instead of `match`. | |
def fast | |
"aaacolorzzz".match?(/color/) | |
end | |
def slow | |
"aaacolorzzz".match(/color/) |
require 'benchmark/ips' | |
def fast | |
'' | |
end | |
def slow | |
"" | |
end |
$ ruby -v code/general/array-argument-vs-splat-arguments.rb | |
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin16] | |
Warming up -------------------------------------- | |
Function with single Array argument | |
172.485k i/100ms | |
Function with splat arguments | |
3.260k i/100ms | |
Calculating ------------------------------------- | |
Function with single Array argument | |
3.448M (±23.6%) i/s - 16.214M in 5.005600s |
https://goo.gl/maps/5ryNNDaE7tJ2
Tōkyō-to, Bunkyō-ku, Yushima, 3 Chome−19−11, Yushima First Building 5F
東京都文京区湯島3-19-11 湯島ファーストビル5F
eval$s=%w'b="BAhsKwJFAQAAAAAAAH7wAQAAAIAPAAAAAAAAAAAAAAAAAMD/BwAAAH7wAwAAAAAfAAAAAAD4HwD8Af74/4D/PwAAAPzgAwAAAAAfAAAAAAD8/wD+B/74/wH//wAAAPjBBwAAAAA+AAAAAAD8/wP+H/7x/wP+/wMAAFCADwAAAAB8AAAAAAD8/Q/+P/7j/wf++gcAAAAAHwAAAAD4AAAAAAD46B/+f4zHgw/8wA/4H+AHP4A/AAD+wR/84AfwAz/+/4CPBw/4gR/8/8APfsD/AcD/4//+9z/AAX788wEPBh7wAz/4/4MPfOD/D+D/z/////8AAPz4wwc/AD7gBz/w+wcf+OD/P/D/n/vPf/4BAPzwhwc+AD7gB38gwA8+8OEPf/j/H8EPfvAD8PzBDx9+AH7A/38AAD9+8MMP/PD/f4A//OEH+P/BHz74AHiA/z8A/j/84McfwPEP/wA/+MEP8P+AH3z4AfwA/z8A///4wY//A+AH+AH+8Icf4P8AP3jwA/gB/v+A///wgQ/+P8AP8AP84Ac/4P8BfvDgA/AB/vgDf/zhAx/4/88P4AP84Q9/wB8A/vDBB+AD/OAHP/DjBz+A/58fwAf4wx/+gB8A/OPDD+AH+IEfPuDHD34YAD8/gA/whz/8AT8A+MOHH8AP8AM/fuCPH/z4AX7+gA/gD3/4A34A8McPH4Af8Ad++OEPH/jgB3744z/gD3/4A/4AwN8PfoAf4Af48f8fPvDB///w/3/AH/7wN/wAhv8ffAA/wA/w4/8/fvAD///B//+AP/zhP/jfDv8//AB+gB/gh/9+/OAH/P8B//cBf/jDf/D/H/x/+AH8AD/ADzx8+MEP4D8A+OMDfvCDP2D+P+Ab8AP4";n=Marshal.load(b.unpack("m")[0]);e="eval$s=%w"<<39<<($s*3);o="";j=-1;0.upto(31*217-1){|i|o<<((n[i]==1)?e[j+=1]:32);o<<((i%217==216)?1 |
# frozen_string_literal: true | |
a = '' | |
b = String.new | |
c = String.new('') | |
d = String.new('hello_') | |
e = a.dup | |
# a << "hello_a" | |
b << "hello_b" | |
c << "hello_c" | |
d << "hello_d" |
rails new app --skip-action-cable --skip-action-mailer --skip-bundle --skip-javascript --skip-listen --skip-puma --skip-spring --skip-test --skip-turbolinks
などとして色々落とした構成で rails new して react_on_rails を使おうとた場合に遭遇したあれこれ。
### react_on_rails の lib/task とかで assets precompile がはしるようで、
### sprockets を外していたら途中でこけてしまった。
### vendor/bundle/ruby/2.3.0/gems/react_on_rails-6.1.1/lib/tasks/assets.rake
### 以下の部分をコメントアウトしたら db:create / migrate できた
class Array | |
def insertion_sort | |
return self if size < 2 | |
1.upto(size - 1) do |i| | |
# tmp = self[i] | |
i.downto(1) do |j| | |
if self[j - 1] > self[j] | |
self[j - 1], self[j] = self[j], self[j - 1] | |
p self | |
else |
#!/usr/bin/env ruby | |
class Array | |
def quicksort | |
return self if size <= 1 | |
pivot = self[self.size / 2] | |
puts "# -------------------------------------------------------------------------" | |
puts "pivot: #{pivot}" | |
puts "self: #{self}" | |
i = 0 |