As configured in my dotfiles.
start new:
tmux
start new with session name:
# An octothorp (#) starts a single-line comment. | |
=begin | |
Starting with a =being and ending with a =end | |
makes it a multi-line comment. | |
=end | |
## | |
# 1. Variables and flow control. | |
# |
class MyClass | |
attr_accessor :user, :type | |
def initialize user: 'smith', type: 'pleb' | |
@user = user | |
@type = type | |
end | |
end | |
both = MyClass.new user: 'blah', type: 'pleb' | |
just_one = MyClass.new type: 'pleb' |
str = "aaa [first_name] bar [first_name] [last_name]" | |
last = str.scan(/\[last_name\]/).size | |
first = str.scan(/\[first_name\]/).size | |
remaining = str.gsub(/\[(first_name|last_name)\]/, '').size | |
first * 15 + last * 10 + remaining |
require 'benchmark' | |
hash = {} | |
Benchmark.measure do | |
1_000_000.times do | |
hash = {} | |
end | |
end.real | |
#=> 0.245904 |
def fib n | |
a, b = 1, 2 | |
sum = 0 | |
while a < n | |
sum += a if a.even? | |
a, b = b, a + b | |
end | |
sum | |
end |
array = (1..12).map &:to_s | |
class Array | |
def insert_every n, this | |
each_slice(n).inject { |r, a| r << this << a }.flatten | |
end | |
end | |
array.insert_every 3, ',' | |
#=> ["1", "2", "3", ",", "4", "5", "6", ",", "7", "8", "9", ",", "10", "11", "12"] |
require "./alfred" | |
results = Alfred::Feedback.new | |
available_outputs = `./SwitchAudioSource -a | grep "(output)" | sed 's/ (output)$//'` | |
current_output = `./SwitchAudioSource -c` | |
def ditch_line available, current | |
available.split("\n").delete_if { |line| line == current }.join("\n") | |
end |
require 'json' | |
test2 = { | |
:foo1 => { | |
:target => "Something1", | |
:alias => "some_alias1" | |
}, | |
:foo2 => { | |
:target => "Something2", | |
:alias => "some_alias2" |
As configured in my dotfiles.
start new:
tmux
start new with session name:
module AtoiString | |
refine String do | |
def atoi | |
fixed_self = fix self | |
result = 0 | |
fixed_self.each_char do |c| | |
result = result * 10 + c.to_i | |
end | |