Rubyでつくる人工無能(前半)

恋するプログラム―Rubyでつくる人工無脳 (プレミアムブックス版)

恋するプログラム―Rubyでつくる人工無脳 (プレミアムブックス版)

こんなの読んでる。オウム返しするプロンプト。写経してみた

class Responder
  def initialize(name)
    @name = name
  end

  def response(input)
    "#{input}ってなに"
  end

  def name
    @name
  end
end

class Unmo
  def initialize(name)
    @name = name
    @responder = Responder.new('What')
  end

  def dialogue(input)
    @responder.response(input)
  end

  def responder_name
    @responder.name
  end

  def name
    @name
  end
end

def prompt(unmo)
  unmo.name + ':' + unmo.responder_name + '> '
end

puts('Unmo System Prototype : proto')
proto = Unmo.new('proto')
while true
  print('> ')
  input = gets
  input.chomp!
  break if input == ''

  response = proto.dialogue(input)
  puts(prompt(proto) + response)
end

Effective Rubyを読む

Struct.newのところ。本質とはそれるが、どうすれば表示できるか悩み、強引にいれた

initializeのファイルネームに何を入れるべきなのか、イメージがついていない。

require 'csv'

class A
  Reading = Struct.new(:aaa, :bbb, :ccc)

  def initialize (fliename)
    @readings = []

    CSV.foreach("company.csv", headers: true) do |row|
      @readings << Reading.new(row[1], row[4], row[5])
    end
  end

  def out
    puts @readings
  end
end

i = A.new(1)
i.out

スクレイピング

nokogiriでギコギコ

CSSセレクタ/xpathという知らなかった概念と格闘。

Rubyによるクローラー開発技法をちゃんと読み進め用。P65くらいまで。

堅苦しくて読みにくかったEffective Rubyも読み進め始める

Herokuやら何やら

pixivエンジニアが教えるプログラミング入門

Rubyだったなあと思い出して。rubyからのSQL呼び出し。ちょっと復習になる

初めてのRubyは読み終わる。分かりやすかった。

SQL本はお風呂で読み進めよう。

Heroku、ドットインストールで半分くらいささっと。ポスグレ入れるのがだるい

下記ちゃんと入れてみよう。ライブラリもしっかり理解しておかないと。

studio-andy.hatenablog.com

初めてのRuby、本日には読了か

薄くて助かったし、何よりわかりやすい。

詳説正規表現を開いた SQL書き方ドリルを開いた。これ日曜に頑張って、お題自分で決めてすべて出せるようにしたい DB構造はしっかり理解しておこう

初めてのRubyはP137まで。残り60ページ

師匠から教わったSinatra、ドットインストールにあるから見始めた。7まで。ラクだなこれ

1週間はあっというまや

師匠に聞いたらSQLやれという。なのでそれも課題に含める。データはたくさんあるので、なんでもできそうだけど、selectですべてひっぱってきてエクセルでガリガリやりたくなる。生粋のエクセラーだから、分析はこっちのほうが早い。。。

パーフェクトRuby P160まで。正規表現がわかるように

初めてのRuby 読み始めだが、いい。P35。1月中に読み終わりたい