- 破壊的
base = [1,2,3]
added = base.push(4)
p added
# => [1, 2, 3, 4]
p base
# => [1, 2, 3, 4]
# coding: utf-8 | |
class Range | |
def method_missing(name, *args, &block) | |
if Array.public_instance_methods.include?(name) | |
to_a.send(name, *args, &block) | |
else | |
super | |
end | |
end |
/** | |
* 指定の表現が指定されたパターンの日付として妥当かどうかを判別する。 | |
* @param expr 文字列による日付表現 | |
* @param pattern フォーマットパターン | |
* @return 妥当ならば true | |
* @throws ParseException パース失敗 | |
*/ | |
public static boolean isValidAsDate(String expr, String pattern) throws ParseException { | |
SimpleDateFormat sdf = new SimpleDateFormat(pattern); | |
// null チェックだと 2013-02-31 -> 2013-03-03 となって valid となるので、再度フォーマットして元と比較する |
# 間違えて git rm したファイルを復活させる | |
git reset HEAD hoge/hoge.rb # キャッシュ上で復活 | |
git checkout hoge/hoge.rb # ファイルの取り出し | |
# 現在のブランチ名の変更 | |
git branch -m dest_branch_name | |
# 特定のブランチ名の変更 | |
git branch -m src_branch_name dest_branch_name | |
# コミット間で変更のあったファイル一覧 |
# coding: utf-8 | |
require 'date' | |
require 'benchmark' | |
begin_date = Date.today << 12 * 10 | |
end_date = Date.today | |
range = begin_date..end_date | |
try_count = 10000 | |
Benchmark.bm(8) do |bm| |
module Enumerable | |
def count_while | |
return to_enum(:count_while) unless block_given? | |
count = 0 | |
each do |item| | |
if yield(item) | |
count += 1 | |
else | |
return count |
module Enumerable | |
def sum | |
total = 0 | |
each { |item| total += block_given? ? yield(item) : item } | |
total | |
end | |
def sum_while | |
return to_enum(:sum_while) unless block_given? |
# coding: utf-8 | |
require 'benchmark' | |
range = 1..5000 | |
try_count = 10000 | |
Benchmark.bm(8) do |bm| | |
bm.report('include?') do | |
try_count.times do | |
range.include?(rand(10000)) |
# coding: utf-8 | |
require 'benchmark' | |
range = 1.chr("UTF-8")..5000.chr("UTF-8") | |
try_count = 10000 | |
Benchmark.bm(8) do |bm| | |
bm.report('include?') do | |
try_count.times do | |
range.include?(rand(10000).chr("UTF-8")) |
# 先頭行取得 | |
cat large_file.txt | head -1 | tail -1 | |
# ランダム取得(0から32767) | |
cat large_file.txt | head -$RANDOM | | tail -1 | |
# 複数行取得(1000行目までの10行) | |
cat large_file.txt | head -1000 | tail -10 | |
# 最終行取得 |