ソースコードの美醜
C: 風力観測 - AtCoder Beginner Contest 001 | AtCoder
if文の羅列しか思いつかず、カオスになった。
勉強になったコード
dirs = [ "N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", ] ws = [3, 16, 34, 55, 80, 108, 139, 172, 208, 245, 285, 327, 1.0/0] deg, dis = gets.split(" ").map(&:to_i) v = (dis.to_f / 6).round w = ws.find_index { |wl| wl > v } dir = w == 0 ? "C" : dirs[((deg * 10 + 1125) / 2250) % 16] puts "#{dir} #{w}"
まだ、ちゃんと分かっていないコード
gets=~/ /;puts (?C[w=[3,16,34,55,80,108,139,172,208,245,285,327,$$].index{|x|$'.to_i<x*6-3}]||%w[NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW N][($`.to_i-113)/225])+" #{w}"
人のコードなので、コピペしてだめだったら教えてください
AtCoder始めた
競技プログラミング、BiginnerContestの過去問解くところから。 まずは問題に慣れたい。
if文を?だけで書く技法
n = gets.to_i printf("d\n", (n<100?0:n<=5000?n*10:n<=30000?(n+50000):n<=70000?((n-30000)/5+80000):89000)/1000)
桁埋めとかちゃんとやったはずなのに、忘れてた(´・ω・`)
puts "d"%s
Rubyでつくる人工無能(前半)
恋するプログラム―Rubyでつくる人工無脳 (プレミアムブックス版)
- 作者: 秋山智俊
- 出版社/メーカー: マイナビ出版
- 発売日: 2016/11/28
- メディア: 単行本
- この商品を含むブログを見る
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、ドットインストールで半分くらいささっと。ポスグレ入れるのがだるい
下記ちゃんと入れてみよう。ライブラリもしっかり理解しておかないと。
初めてのRuby、本日には読了か
薄くて助かったし、何よりわかりやすい。
詳説正規表現を開いた SQL書き方ドリルを開いた。これ日曜に頑張って、お題自分で決めてすべて出せるようにしたい DB構造はしっかり理解しておこう
初めてのRubyはP137まで。残り60ページ
師匠から教わったSinatra、ドットインストールにあるから見始めた。7まで。ラクだなこれ