by shigemk2

当面は技術的なことしか書かない

Ruby

配列に要素を追加する

逆引きRuby - 配列 a << 99 a.push(10) ってやるとよい。

通常時刻とUNIX形式時間を変換する

Klog » Blog Archive » rubyで通常時刻とUNIX timeの変換 ほとんどこっちから。 require 'time' b = Time.parse("2013-12-28 20:11:51 +0900", Time.at(0)) p b.to_i p Time.at(b.to_i).strftime("%Y/%m/%d %H:%M:%S")

n日前の日付を得る PHP vs Ruby

[image: 埋め込み画像 1] print date("Ymd",strtotime("-1 day")); require 'date' day = Date.new() day = day + 1 p day.to_s 的な。 PHPで前日の日付を算出する - あざわの備忘録 [ 逆引きRuby - 日付と時刻 ]

文字列比較

# -*- coding: utf-8 -*- a = "hogehogehogehogeほげほげほげほげ" b = "hogehogehogehogeほげほげほげほげ" c = "hogehogehogehogeほげほげほげほ" puts a == b # true puts a == c # false

yamlをロードする

Ruby/yamlを使う - TOBY SOFT wiki Rubyist Magazine - プログラマーのための YAML 入門 (初級編) aaa: hoge bbb: fuga ccc: bar require 'yaml' require 'pp' yaml = YAML.load_file "test.yaml" puts "---- yaml ----" pp yaml puts "\ndone!!" yaml ---- …

メソッド一覧と判定

method/attributeがObjectに存在するかどうか確認するには - なんとなく日記 Rubyでメソッド一覧を確認するmethodsメソッドが便利 - タブレット上のcron class Hoge def fuga print 'fuga' end def bar print 'bar' end end hoge = Hoge.new puts hoge.metho…

習作 fizzbuzz

for i in 1..100 if i % (3*5) == 0 puts 'fizzbuzz' elsif i % 3 == 0 puts 'fizz' elsif i % 5 == 0 puts 'buzz' else puts i end end

selfについてごにょごにょ

メソッド実行中は常に自分自身(メソッドが呼び出されたインスタンス)が 誰であるかという情報が保存されており、selfでその情報を取ることができる。 # -*- coding: utf-8 -*- class Hoge def get_self return self end def hoge # selfはあってもなくても…

accessorの書き方とかメモ

インスタンス変数を読み書きするときのメモ。attr_accessor (Module) - Rubyリファレンス # -*- coding: utf-8 -*- class Book attr_accessor :price attr_reader :title attr_writer :desc def initialize(title, price, desc) @title = title; @price = pr…

Rakefileでワンライナーっぽいこと

こういうふうになんかやってる。 require 'rake' task :default do `rspec stack_spec.rb -fd > stack_spec.out` `rspec shouldless_stack_spec.rb -fd > shouldless_stack_spec.out` `rspec pizza.rb -fd > pizza.out` end

Hex ColorでRegexp

How to validate Hex color code with regular expression戻り値はnil or 0 hex = '#0000000' rp = Regexp.new("^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$") puts hex =~ rp

odd number list for Hash

配列をハッシュに変換する | アルミナ解析室配列の要素数が奇数個ならエラーになってしまう。 h1 = {"value"} h2 = {"value"} h3 = {"value"} array = [] array << h1 array << h2 array << h3 p array # odd number list for Hash

可変関数をやってみよう

これは本当にすごい。 rubyで可変関数的に、オブジェクトのメソッドを文字列で指定して呼び出す。 - それマグで!PHPの可変関数と同じことをRubyで出来ないかなって思った。 class Hoge def hoge1 return 'nyan1' end def hoge2 return 'nyan2' end def hoge…

C-mで改行+インデント

(add-hook 'ruby-mode-hook '(lambda () (local-set-key (kbd "\C-m") 'reindent-then-newline-and-indent)))

アラウンドエイリアス

Don Alias的な メソッドを上書きせずに機能を追加したりできる。 # -*- coding: utf-8 -*- class Hoge def hoge puts 'Hoge#hoge!!' end end class Fuga < Hoge alias :hoge_real :hoge def hoge puts 'Fuga#hoge!!' hoge_real end end f = Fuga.new f.hoge …

GoogleDriveのスプレッドシートにアクセスするライブラリでごにょごにょ

依存しているライブラリの関係で1.9.2以上だったと思う。というか1.8は× sudo gem install google_drive例 # coding: utf-8 require "google_drive" require 'json' conf = JSON.parse(File.read './config.json') session = GoogleDrive.login(conf['mailad…

bundle

Bundler再履修: bundle execって何? gemはどこに入るの? - memo.yomukaku.net0. Gemfileを書く source 'https://rubygems.org' gem 'compass', '0.12.2' gem 'sass', '3.2.9'バージョンが変わるとエラーを起こす可能性があるから、バージョンを指定したほ…

正規表現を利用してデクリメントしてみた

正規表現でデクリメントしてみた # -*- coding: utf-8 -*- hoge = '99999999-1000' /(-\d*)/ =~ hoge tekitou = $&.to_i - 1 hoge.gsub!($&, tekitou.to_s) print(hoge) # 99999999-1001 $&が文字列なので、to_iして計算して、 gsubしたいのでto_sするという…

後方参照

後方参照は$&を使う # -*- coding: utf-8 -*- hoge = '0123-4' p /(-\d)/ =~ hoge print($& + "\n") マッチした文字列を取得($&) - 後方参照 - Ruby正規表現の使い方

gemでバージョンを指定してインストール

$ gem install compass -v 0.12.2gemでバージョンを指定してインストール - おきつです。

1行目をタイトル、2行目以降を本文として読み込むテスト

はてなAPIを利用して投稿する - by shigemk2の続きちょっとこういう風に改造してみた。さっきのは失敗 lines = 0 title = '' content = '' open('index.txt') {|file| while l = file.gets if lines == 0 title = l else content += l end lines += 1 end } …

読み込みテスト

はてなAPIを利用して投稿する - by shigemk2の続きテストテストテストテスト テスト

テスト

磯野ー テストやろうぜー >|ruby| puts ひゃああうまひいいい |

atコマンドテスト2

てすと

atコマンドテスト

てすと

atコマンドテスト

てすと

はてなAPIを利用して投稿する

はてなのAPIを利用してエントリーを投稿してみた。 はてなダイアリーAtomPub - Hatena Developer Centerサンプルコードはこんな感じ。 atomutilをgem installしたらいいです。hatena.rb require 'rubygems' require 'atomutil' module Atompub class HatenaC…

連続投稿テスト2

連続投稿テスト

連続投稿テスト1

連続投稿テスト

投稿てすと

適当なテスト # -*- coding: utf-8 -*- require 'rubygems' require 'atomutil' module Atompub class HatenaClient < Client def publish_entry(uri) @hatena_publish = true update_resource(uri, ' ', Atom::MediaType::ENTRY.to_s) ensure @hatena_publi…