Tambourine作業メモ

主にスキル習得のためにやった作業のメモ。他人には基本的に無用のものです。

ruby

attr_accessorを自分で実装する

自作クラスでデータを保持しようとしていて半角カナが入ってきて発狂し、絶叫し、半角カナ絶対殺すマンが覚醒した。 といっても、Rubyで半角カナを全角カナに変換するのはとても簡単。NKFを使う。 > irb irb(main):001:0> require 'nkf' => true irb(main):0…

後輩が「RubyにC#のSingleOrDefaultがあると便利かなあ」というので作ってみた

別に要らない気がする >> module Enumerable >> @defalt_val = nil >> attr_accessor :defalt_val >> def single_or_default >> self.one? ? self.first : @defalt_val >> end >> end => nil >> a = [1] => [1] >> a.single_or_default => 1 >> a += [2,3] =…

Twitterへ投稿するスクリプト

Twitterは人間がつぶやくより、BOTがつぶやく方が面白いんじゃないかと考えたので、とりあえず、Rubyスクリプトからつぶやくテストをしてみた。こんな感じでOK require 'net/http' require 'nkf' require 'cgi' $KCODE = 's' Net::HTTP.version_1_2 # おまじ…

rakeで*.rdか*.mdからhtmlを作るタスクを作りたい

BlueFeatherが便利そうだhttp://ruby.morphball.net/bluefeather/なので、RDから乗り換えようかと思っている。そこで、RDで書いたドキュメントとMarkdownで書いたドキュメントが混在している状態で、HTMLを生成したいと考えたしかし、「.htmlは.rdか.mdから…

ファイルアップロードCGI

http://q.hatena.ne.jp/1214807688が物凄く参考になる。また、何やってるのかはhttp://www.studyinghttp.net/body#Multipartを読めばわかる。

Ruby版 sort |uniq -c

[ruby-list:45572](http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45572)は、awkで /t$ cat A yahoo goo google yahoo msn msn /t$ awk '{ class[$1]++ } END { for (i in class){print i, class[i]}}' A google 1 msn 2 goo 1 yahoo 2 の様…

常用漢字一覧

require 'jcode' $KCODE = 's' class String Joyo = <

全角カタカナを半角カタカナに変換する(SJIS限定)

てっきりNKFで変換出来るんだと思っていたら、そうでもないらしい。 手習いでコードを一個一個確認しながら作ってみた。全角カタカナ以外の文字を入れるといきなり例外になる香ばしい仕様なのでパクる時には注意してください。 Z2HMap = { 64 => [167],65 =>…

ISBNから、Amazonへの画像付きリンクを作ってくれるスクリプト

ブログにAmazonへのアサマシを貼るときに使っているスクリプト。tDiaryのAmazonプラグインからパクっていじった。 #!/usr/bin/env ruby require 'open-uri' require 'timeout' require 'rexml/document' require 'getopts' @amazon_access_key_id = '' @amaz…