Ruby
配列からキーと値を抜き出すの解決例。 Enumerable - Rubyリファレンスマニュアル Integer - Rubyリファレンスマニュアル ソース array_sample.rb として保存。 counter = ['zero', 'first', 'second', 'third', 'forth', 'fifth'] # Enumerable クラスの ea…
制御構造だけで済ませる方法はないのだろうか? サンプル counter = ['zero', 'first', 'second', 'third', 'forth', 'fifth'] max_length = counter.length - 1 for i in 0..max_length puts "#{i}: #{counter[i]}\n" end 実行結果 % ./sample.rb 0: zero 1…
簡単な比較。 % irb irb(main):001:0> require 'date' => true irb(main):002:0> from = Date::strptime('2008-01-01', '%Y-%m-%d') => #<Date: 4908933/2,0,2299161> irb(main):003:0> to = Date::strptime('2008-01-02', '%Y-%m-%d') => #<Date: 4908935/2,0,2299161> irb(main):004:0> sametime = Date::strptime</date:></date:>…
忘れやすいので備忘録として記載。 サンプル hash = {"Lemon" => 100, "Orange" => 150, "Banana" => 250} p hash print("\n") puts "キーのみを取得" key_array = hash.keys p key_array print("\n") puts "値のみを取得" value_array = hash.values p valu…
# gem install zipruby Building native extensions. This could take a while... ERROR: Error installing zipruby: ERROR: Failed to build gem native extension. /usr/local/bin/ruby18 extconf.rb install zipruby checking for zlib.h... yes checking…
Java のインストールは必須なので、Java SDK の最新バージョンをインストールする。 JRuby の公式サイトから JRuby をダウンロードするWindows なら zip アーカイブが無難。 JRuby の圧縮ファイルを展開したら、適当なディレクトリに移動させる。今回は「C:\…
$ irb irb(main):001:0> require 'date' => true irb(main):002:0> day = Date.new(2008, 2, -1) => #<Date: 4909051/2,0,2299161> irb(main):005:0> p day.to_s "2008-02-29" => nil irb(main):006:0> p day.strftime("%D") "02/29/08" => nil irb(main):007:0> p day.strftime("%d") "</date:>…
p File.expand_path(File.dirname($0)) #=> 実行中のスクリプトのパス もしくは p File.expand_path(File.dirname(__FILE__)) #=> 実行中のスクリプトのパス $0 は実行時のスクリプトのファイル名組み込み変数 __FILE__ は実行時のスクリプトのファイル名変…
必要なもの Rubygems zipruby zlib1.dll (Windows 版 Ruby を利用している場合) zipruby をインストールする # gem install zipruby zlib1.dll を入手する(Windows 版 Ruby のみ) 入手先 zlib Home Site の zlib compiled DLL をダウンロードする。zlib comp…
$ ruby -I /the/path/you/wanna/add test.rb それか PATH に直接追加してしまうか。 $ export RUBYLIB=/the/path/you/wanna/add $ ruby test.rb もしくは、ruby スクリプト中で $LOAD_PATH.push('/path/to/dir') で追加できる。
全角英数字だけではなく、半角カタカナなど文字種の揺れを修正したい。 Moji モジュールを利用してみる。 namespace gimite Ruby小物集 Moji モジュール サンプル Windows XP 上で実行。文字コードを変換しているのは、コマンドプロンプトに実行結果を表示さ…
最初は下記の内容で、全角半角を変換しようと思ったが、失敗した。 require 'kconv' str = 'abcあいうえお' str = str.tr('a-zA-Z', 'a-zA-Z') print str.tosjis しかし、結果は文字化けしてしまう。 下記のサイトを参考にしたおかげで、変換できた。 $K…
参考したリンクは下記のとおり。 open-uriは便利だがGETしかできないので何とかする話 Make open-uri capable of handling HTTP methods other than GET 元に戻したくなったら、バックアップされたopen-uri.rb.origがあると思うので、そいつでopen-uri.rbを…
クラス化して、SQL 分を書き出す箇所をメソッドにすれば、いろいろと応用ができそう。
SQL 文に接尾辞を追加した場合に対応させる まずは、接尾辞がない場合の出力結果を確認する。 config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number…
CSV から特定のフィールドを抜き出し、SQL 文を生成する config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number: 2 # CSV のフィールドの番号 name: …
CSV から特定のフィールドのみを出力する config.yaml filename: csv: sample.csv sql: sample.sql encoding: output: UTF-8 input: Shift-JIS csv: fs: ', ' quote: '"' headers: false fields: - number: 2 # CSV のフィールドの番号 - number: 3 - number…
読み込んだ CSV を保存する SQL ファイル名でそのまま保存する csv2sql.rb #!/bin/env ruby $KCODE='utf8' require 'yaml' require 'kconv' require 'rubygems' require 'fastercsv' config_file = 'config.yaml' configs = YAML.load_file(config_file) def…
openfile.rb と read_yaml.rb の機能を合わせる 読み込み元の CSV と出力先の SQL の設定を追加する。 config.yaml filename: # 保存する CSV のファイル名 csv: sample.csv # 保存する SQL ファイル sql: sample.sql encoding: output: UTF-8 input: Shift-…
YAML を読み込んだ実行結果を表示させる。 config.yaml encoding: output: UTF-8 input: Shift-JIS csv: path: sample.csv # 「,」の後ろに半角空白が入力されている。 # シングルクォーテーションで囲まないとエラーが出るため、 # シングルクォーテーショ…
FasterCSV に初期設定を行うように修正を行う #!/bin/env ruby $KCODE='utf8' require 'kconv' require 'rubygems' require 'fastercsv' csv = 'sample.csv' # CSV ファイルの文字コード input_char_encoding = 'Shift-JIS' # SQL 文を保存するファイルの文…
FasterCSV の初期設定 DEFAULT_OPTIONS = { :col_sep => ",", :row_sep => :auto, :quote_char => '"', :converters => nil, :unconverted_fields => nil, :headers => false, :return_headers => false, :header_converters => nil, :skip_blanks => false,…
FasterCSV を配列に格納する #!/bin/env ruby $KCODE='utf8' require 'kconv' require 'rubygems' require 'fastercsv' csv = 'sample.csv' # CSV ファイルの文字コード input_char_encoding = 'Shift-JIS' # SQL 文を保存するファイルの文字コード output_c…
CSV 解析に fastercsv を使う。 理由は下記の通り。 FasterCSV のベンチマーク Rubyの標準添付CSVパーサーが遅い Ruby標準csv遅い インストールは gem で行う。 # gem install fastercsv FasterCSV のドキュメントは下記のリンクから参照できる。 FasterCSV …
文字コードを変換させる 読み込みもとの CSV ファイルと出力先の SQL ファイルの文字コードが一致しない場合、文字コードを変換させる処理を行う。 fileopen.rb #!/bin/env ruby $KCODE='utf8' require 'kconv' csv = 'sample.csv' # CSV ファイルの文字コー…
CSVを読み込んでみる sample.csv "1", "myname", "myaddress", "123-4567" "2", "yourname", "youraddress", "890-1234" "3", "hisname", "hisaddress", "" "4", "hername", "heraddress", "A56-7890" fileopen.rb #!/bin/env ruby $KCODE='utf8' csv = 'sam…
目的 CSV ファイルから目的のデータを抽出し、SQL を作成する。 欲しい機能 設定ファイルの見通しを良くする CSV を読み込む CSV ファイルをパースする CSV から特定のデータだけを抜き出す 特定のデータの型を確認する CSV ファイルからSQLを生成する CSV …
例えば、 ./pragger abcd 1234 efgh 5678 と実行した場合、 p ARGV #=> ["abcd", 1234, "efgh", 5678] 独自の YAML を利用した場合だと ./pragger -c myconfig.yaml abcd 1234 efgh 5678 ARGV は p ARGV #=> ["abcd", 1234, "efgh", 5678] となる。
RubyOnRails を使ってみる【第 6 回】テストの書き方
RubyOnRails を使ってみる【第 10 回】パフォーマンスチューニング 優しいRailsの育て方 運用サーバ速度比較 Ruby on Railsのパフォーマンス向上に関する10のtips Railsでのパフォーマンスチューニング Railsで開発するときにはキャッシュを予め想定に入れて…