2015年2月19日木曜日

【Ruby】 クラスインスタンス変数の使いどころ

TwitterでストリーミングAPIを利用する際は、gemの tweetstream さんに大変お世話になっています。
ところでこのtweetstreamさん、コンシューマーキーやアクセストークンをリスト1のように設定します。

リスト1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require 'tweetstream'
 
TweetStream.configure do |config|
  config.consumer_key       = 'consumer_key'
  config.consumer_secret    = 'consumer_secret'
  config.oauth_token        = 'oauth_token'
  config.oauth_token_secret = 'oauth_token_secret'
  config.auth_method        = :oauth
end
 
TweetStream::Client.new
# => #<TweetStream::Client:0x00000001525a98
#     @auth_method=:oauth,
#     @consumer_key="consumer_key",
#     @consumer_secret="consumer_secret",
#     @oauth_token="oauth_token",
#     @oauth_token_secret="oauth_token_secret",
#     以下略

するとなんとインスタンスを生成した時点で TweetStream.configure でセットした各値がインスタンス変数に反映されているではありませんか。今まで特に疑問を抱いたことが無かったのですが、そう言えばこれはどのように実装されているのかふと気になって今回調べてみました。

2015年2月18日水曜日

Rubyで数独を解く

数独(ナンプレ)を解くコードをRubyで書いてみました。
バックトラック法というアルゴリズムで解いていきます。

2015年2月9日月曜日

Bot開発日記 分割投稿

RubyでTwitterBotをなんやかんや書いているのですが、
新しい知見を得た時やいい感じの処理が書けた時にそれをメモとして残そうと思いました。

今回は140文字を超える投稿をしなければならない場合、どうやって分割投稿するかみたいなことを試行錯誤したメモです。