回答数
気になる
-
rbenvでのRUBYLIBの設定
Linux PCにrbenvをインストールしてruby2.2.3をglobalにインストールしました。 RUBYLIBの設定は、今まで .bashrc に書き込んでいましたが。rbenvを使う場合はrubyのバージョン毎にどこか別のところで設定するのでしょうか。 2015年10月11日
質問日時: 2015/10/11 09:13 質問者: RASUM2
解決済
1
0
-
プログラミング未経験者がRailsでウェブアプリを作るには?
Railsでウェブアプリを作るために、Rubyの参考書とRailsの参考書を購入しました。 順序としては、 Rubyの参考書から読み始めたほうが効率的ですか? あるいは、 Railsの参考書から入り、随所にRubyの参考書を呼んだほうが効率的ですか? 最後にMacbookでプログラミングを始めるのですがTerminal(シェル?)の勉強などはどういった参考書で始めればよいかご享受下さい。
質問日時: 2015/09/15 14:45 質問者: 俺こそ正しい。
ベストアンサー
1
0
-
実行中のJOB情報をRubyでゲットしたい
Ruby on Railsというものに挑戦中です。 そして、まずは簡単なことから始めましょうと、コマンドラインから『ps aef』と入力しますと画面出力されます『JOB一覧』をプログラムの中で実行しようと頑張っています。 そこで、以下のようなプログラムを書いてみましたけれど動いてくれませんでしたので、お詳しいかたお願できましたらと思います。 IO.popen("ps aef") do |pipe| pipe.readlines.each do |line| if line =~ /調べたいJOBの名前/ kekka = "あり" else kekka = "なし" end end ~ここから下にkekkaの中身のファイル出力記述~
質問日時: 2015/08/12 14:47 質問者: risaghon
ベストアンサー
1
0
-
プログラマーと資格
現在、ITゼネコンに属する会社に勤務しております。 ただ、ゼネコンの体質に疲れてしまい転職をずっと考えています。早くても来年の3月には今の現場を離れることが出来るので、その際に退職しようと考えております。そこで、皆様にご質問をさせて下さい。 まずはRuby、最終的にはRailsまで扱ってプログラミング出来るよう勉強しようと思っていますが、それらに関する資格は取得すべきなのでしょうか? 最後に、全くの未経験である私がRubyを扱えるプログラマーになる為に徹底してやるべきことは何があるか、教えて頂けますでしょうか。
質問日時: 2015/07/13 15:23 質問者: gatpjmgyat
ベストアンサー
2
0
-
railsチュートリアル5章の演習
タイトルのテストを下記のコードに置き換えていますが… describe "full_title" do it "should include the page title" do expect(full_title("foo")).to match(/foo/) end ここでなぜ"foo"が各ページのタイトルに置き換わるのか分かりません。 "foo"というリテラルでなく、変数なら分かるのですが… 説明よろしくお願いします。
質問日時: 2015/05/19 04:07 質問者: shin510722
ベストアンサー
1
0
-
Ruby on RailsとRuby
「たのしいRuby」を読みながらRubyを独学しております。Rubyでプログラマーになりたいという訳ではなく、最終的にはRailsでウェブアプリを作るというのが最終目的です。 上記の本でRubyを学んでいくと、結局Ruby(あるいは、プログラミング)で何が出来るのだろうと思ってしまいました。私の予定としてRubyを学んで、Rails(Ruby on Rails 4 アプリケーションプログラミングをちらっと読みましたが、これまた分かりません…)に取り掛かろうとは考えているのですが、順序としては正しいでしょうか?(質問①) Railsの参考書を読み進めていくためには、他にどういった本を読み、どういった知識を備えていけば良いでしょうか?(質問②) ウェブアプリを作るためには、質問②同様にどういった本を読み、どういった知識を備えれば良いでしょうか?(質問③)
質問日時: 2015/05/10 17:27 質問者: a1a1a1a11
ベストアンサー
1
0
-
ツクールの利用規約について、聞きたいことがあります。
http://tkool.jp/support/guideline ここにある『2. 素材利用に関して』というところにある説明には、以下のことも含まれているのかどうか教えてください。 1. RPGツクールVXを所持していない場合、その人がRGSS2を配布することは規約違反になるのか。 2. RPGツクールVXaceは所持している状態で、1の行為をした場合でも規約違反になるのか。 一応、規約違反であるという意見はある一人の方から指摘され教えられました。要約しますと 「規約違反になっている可能性があり、ツクール未所持のスクリプト素材を導入し利用しているということは、プレイヤーには良い印象を与えない」 というものでした。 ただ、今までその指摘を受けてこなかったため、実際どういう認識をツクール所持者の皆さんは持たれているのかも知りたくて、質問させて頂きました。 どうか回答お願いします!!
質問日時: 2015/03/13 22:47 質問者: ひぐらし
ベストアンサー
1
0
-
Fileの読み込み処理について
ServerspecでWindowsパッチ一覧にpatch_list.txtにまとめ、一行ずつ読み込み、そのパッチが 当たっているかをチェックしたいのですが、変数を拾えなくエラーに なります。 ■patch_list.txtの中身 KB201111 KB300000 KB39000 ・・・ ■読み込み処理 #1 File.open('C:\temp\patch_list.txt') do |patch| #2 patch.each_line do |line| #3 line2 = line.chomp #4 describe command('wmi qfe |findstr "#{line2}"’) do #5 its(:stdout) { should match /#{line2}/ } #6 end #7 end #8 end --------------------------- #5でのline2はちゃんとKBxxxと拾っているのですが、 #4では拾えなくて""の空の状態です。 変数の記載書式が間違っているのでしょうか。 教えてください。
質問日時: 2015/02/24 09:38 質問者: jj123789456
ベストアンサー
1
0
-
PHPでrailsのscaffold的なものは何にあたりますか
Railsで商品管理テーブルのようなものを作成する勉強してますが PHPやcakephpなどでrailsのscaffoldにあたるようなコマンドはありますか? これだけ主流のPHPなのでPHPで学習する方が(人口的に多い=調べやすい)いいのかなと考えてます でも一つのコマンドでscaffoldさっと出来てしまうことを最初に知ってしまったので、なかなか他の構造とやりたいことが結びつかなくてやや悩んでます。 今はxammpをまず入れてPHP開発環境は整ったかなと、でどう商品管理テーブルを構築(登録 追加 削除 保存 テキスト保存など)すすればいいのかと このような悩みですが ごアドバイス頂きたくおねがいいたします。
質問日時: 2015/02/08 14:59 質問者: ror-88
ベストアンサー
1
0
-
RubyでCSV.read()で二次元配列に読み込むと配列の要素はすべて文字列型になるのでしょうか
CSVファイルに下記のように商品の単価を記録しておいて、二次元配列に読み込んだところ、配列のどの要素もString型になっていました。数字を"(コーティション)で囲んでいなくても、文字として扱われるのでしょうか? <CSVファイルの内容> "りんご",100 "みかん",25
質問日時: 2015/02/01 23:43 質問者: akipapa
ベストアンサー
2
0
-
Ruby/DBI で.modeを使う方法
sqlコマンドで.mode htmlを使ってからselectすると テーブルで返ってくるのでそのままrubyでも出力できるとコードが短くなって楽だと思ったんですが、うまくできません。 どうかやり方をお教えください。 rubyを始めたばかりでexecuteの実行結果がどのような構造になっているかもよくわかりません。 こちらの方もお教えいただけると幸いです。 下記のような使い方をしたいです。 <%# -*- coding:shift_jis -*- %> <% require 'rubygems' # RubyGems のインストール %> <% require 'dbi' #DBIの利用 %> <% dbh=DBI.connect('DBI:SQLite3:fruits.db') %> <% #HTML形式で受け取る %> <% #dbh.do(".mode html;") %> <%# execute select statement%> <% sth=dbh.execute("select * from fruits;") %> <html> <head> <meta http-equiv="Context-Type" content="text/html;charset Shift_JIS"/> <title>フルーツ管理</title> </head> <body> <% #テーブルで出力 %> <table> <%#=sth %> </table> </body> </html> <%# relese results %> <% sth.finish %> <%# disconnect database %> <% dbh.disconnect %>
質問日時: 2015/01/18 02:36 質問者: jororo0
解決済
2
0
-
ruby 正規表現
こんばんは。 Rubyでの正規表現での質問なのですが、 例えば"hoge"という文字が含まれる行全体にマッチさせるような正規表現は存在するのでしょうか? また存在する場合はどのように記述すれば良いのでしょうか。 単純な質問で申し訳ありませんが、よろしくお願いいたします。
質問日時: 2015/01/08 18:36 質問者: alpacasan15
解決済
1
0
-
RubyでバイナリデータをIOストリームにする方法
Rubyで、バイナリデータをIOストリームに変換する方法を探しています。 Railsで、データベースに格納された アップロード済のPDFファイル(バイナリデータ)を、 PDF::readで読み込んで処理したいのですが、 PDF::readは、ファイルパスかIOストリームしか受け付けてくれないようなのです。 よろしくお願いします。
質問日時: 2015/01/02 09:59 質問者: biwa_nya-su
ベストアンサー
1
0
-
Ruby バブルソート
バブルソートのプログラムでわからないところがあるため、 質問させていただきます。 Rubyは1.9.3を使用しています。 <プログラム> --------------------------------------------------- def bsort(data) while true # swapped変数は数値の入れ替えを記憶 swapped = false for i in 0..data.size-2 if data[i] > data[i+1] temp = data[i] data[i] = data[i+1] data[i+1] = temp swapped = true end end return if !swapped end end data = [10, 9, 8, 7, 6] bsort(data) puts "ソート結果#{data}" --------------------------------------------------- return if !swapped のところで、 なぜwhileのループから抜けられるのかがよくわかりません。 return if swapped == false と書き換えて実行しても同じ結果が得られたのですが、 数値の入れ替えがなければ swapped = false であるため、 !swappedはtrueとはならないのでしょうか。
質問日時: 2015/01/01 00:09 質問者: jet888
解決済
8
0
-
DXRubyのインストールの仕方を教えてください
DXRubyのインストールの仕方が分かりません。 Rubyは2.0.0を使っています。 64bitです。 参考になるサイトなど教えていただけるとありがたいです。
質問日時: 2014/12/29 18:25 質問者: ar_nn
ベストアンサー
2
0
-
Ruby 暗号化したファイルの復号について
Rubyでファイルを暗号化し、それを復号したいのですがうまくいかないため、 質問させていただきます。 Ruby 1.9.3を使用しています。 ・ファイルの暗号化 encrypt.rb ------------------------------------------------- # encoding: cp932 require 'openssl' def encrypt(file, pass) enc = OpenSSL::Cipher::AES256.new('CBC') enc.encrypt enc.pkcs5_keyivgen(pass) File.open(file, 'rb') do |fin| File.open("#{file}.sec", 'wb') do |fout| while buff = fin.read(8000) fout.write(enc.update(buff)) end fout.write(enc.final) end end enc.reset end if $*.length > 0 print 'password: ' pass = $stdin.gets.chomp $*.each do |arg| begin encrypt(arg, pass) puts "#{arg}を暗号化したファイル#{arg}.secを作りました。" rescue puts "#{arg}の暗号化に失敗しました。" end end 0.upto(pass.length - 1) do |i| pass[i] = '\xff' end end ------------------------------------------------- ・ファイルの復号 decrypt.rb ------------------------------------------------- # encoding: cp932 def decrypt(file, pass) dec = OpenSSL::Cipher::AES256.new('CBC') dec.decrypt dec.pkcs5_keyivgen(pass) File.open(file, 'rb') do |fin| File.open("#{file}.plain", 'wb') do |fout| while buff = fin.read(512) fout.write(dec.update(buff)) end fout.write(dec.final) end end dec.reset end if $*.length > 0 print 'password: ' pass = $stdin.gets.chomp $*.each do |arg| begin decrypt(arg, pass) puts "#{arg}を復号したファイル#{arg}.plainを作りました。" rescue puts "#{arg}の復号に失敗しました。" end end 0.upto(pass.length - 1) do |i| pass[i] = '\xff' end end ------------------------------------------------- コマンドプロンプトでencrypt.rb自身を暗号化し、encrypt.rb.secの作成はできるのですが、 decrypt.rbを実行してパスワードを入力しても復号ができません。 どのようにすれば復号できるのか教えていただけますでしょうか。
質問日時: 2014/12/23 23:11 質問者: jet888
ベストアンサー
2
0
-
Rubyの正規表現、文字の追加
こんばんは。 文章の先頭に指定した文字列を指定した箇所(文頭)のみに追加したいと思っているのですが、 どうもうまくいかないため質問させていただきました。 (1)全角英数字を正規表現で取得できていない (2)unless文の後の条件の複数指定が機能せずエラーになる (3)sub!で置換する以外に文字の追加方法はないか (4)unlessで条件指定しない場合、すべての行の頭に「当事業年度」という文字がついてしまう 上記4つがうまくいっていない要因です。 (3)に関してはinsertを他の手段として考えています。 以下プログラムです。 text.each_line do |t| 56 57 case t 58 when/前事業年度\t銘 柄/ 59 flag = true 60 when/前事業年度\t当事業年度/ 61 flag = false if flag == true 62 end 63 64 t.sub!(/^(\p{Katakana}|[一-龠々]|\w|(株)|\p{Hiragana}|[:upper:]{0,20}[1-9])/) {|d| "前事業年度\t#{$1}"} unless flag == false && /当事業年度/ 65 t.sub!(/^(\p{Katakana}|[一-龠々]|\w|(株)|\p{Hiragana}|[:upper:]{0,20}[1-9])/) {|d| "当事業年度\t#{$1}"} unless flag == false && /前事業年度/ 変換したい文章は以下のものです。 前事業年度銘 柄株式数(株)貸借対照表計上額(百万円)保有目的 株式会社日本触媒6,338,000株7,726,000,000円当社グループの主要原料供給元であり、取引関係強化の一環として保有している。 ユニ・チャーム株式会社278,100株1,533,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 栗田工業株式会社572,600株1,282,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 JXホールディングス株式会社2,477,050株1,231,000,000円当社グループ製品の販売先および主要原料供給元である企業の持株会社であり、取引関係強化の一環として保有している。 KPXChemical158,621株967,000,000円KPXChemical設立時に出資しており、協力関係維持のため保有している。 株式会社ブリヂストン194,000株710,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 関西ペイント株式会社214,225株315,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有(取引先持株会による定期買付)している。 当事業年度銘 柄株式数(株)貸借対照表計上額(百万円)保有目的 KPXHoldings58,990株284,000,000円上記KPXChemicalの株式を40%保有する大株主であり、協力関係強化のため保有している。 大日精化工業株式会社524,000株250,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 高圧ガス工業株式会社424,000株241,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 サカタインクス株式会社202,000株196,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。地元企業との関係強化のため保有している。 株式会社松風138,000株120,000,000円地元企業との関係強化のため保有している。 コニシ株式会社50,000株91,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 稲畑産業株式会社66,000株69,000,000円当社グループ製品の販売および原料購入における代理店であり、取引関係強化の一環として保有している。 日本特殊塗料株式会社112,000株68,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 電気化学工業株式会社142,000株50,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 株式会社三菱ケミカルホールディングス104,500株44,000,000円当社グループ製品の販売先および主要原料供給元である企業の持株会社であり、取引関係強化の一環として保有している。 長瀬産業株式会社31,000株39,000,000円当社グループ製品の販売および原料購入における代理店であり、取引関係強化の一環として保有している。 横浜ゴム株式会社36,000株34,000,000円当社グループ製品の販売先であり、取引関係強化の一環として保有している。 前事業年度から下の7行の文頭に「前事業年度」という文字を追加し、 当事業年度から下の行の文頭に「当事業年度」という文字を追加することが目標です。 どうかご教授のほどよろしくお願いいたします。
質問日時: 2014/12/16 19:50 質問者: alpacasan15
解決済
1
0
-
ruby テキストファイル書き出しでの文字化け
ruby&mac&文字の扱い 初心者です。 mac os 10.6.8 HTMLの情報を読み込みテキストファイルに書き出したいのですが、 ターミナル上、putsではきちんと日本語で表示されるのですが、書き出したあとの txtファイルを開くと文字化けしています。 File.open("test.txt","w") do |file| @s_info.each do |data| puts data[:m_sec] file.puts data[:m_sec] end end よろしくお願いします。
質問日時: 2014/12/14 11:36 質問者: kmufo
ベストアンサー
2
0
-
Ruby 正規表現と置換
こんにちは。 Rubyで正規表現で見つかった箇所の文字列を置換するプログラムを書いているのですが、 一部うまく作動せず、その原因が分からないため質問させていただきました。 以下プログラムの置換の部分になります。 49 case text 50 when /株式数(株)\t貸借対照表計上額(千円)|株式数(株)\t貸借対照表計上額(千円)/ 51 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1}株\t#{$3},000円\t"} 52 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 53 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t(\d{1})/){|s| "#{$1}株\t#{$3}円\t"} 54 when/百万円/ 55 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)/) {|s| "#{$1}株\t#{$3},000,000円\t"} 56 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 57 when /株式数(株)\t貸借対照表計上額(百万円)/ 58 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)/) {|s| "#{$1}株\t#{$3},000,000円\t"} 59 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 60 when /株式数(株)\t貸借対照表計上額(百万円)/ 61 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1}株\t#{$3},000,000円\t"} 62 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 63 when /株式数(1000株)\t貸借対照表計上額(百万円)/ 64 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},000株\t#{$3},000,000円\t"} 65 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 66 when /株式数(1000株)\t貸借対照表計上額(百万円)/ 67 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},000株\t#{$3},000,000円\t"} 68 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 69 when/株式数(1000株)\t貸借対照表計上額(百万円)/ 70 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},000株\t#{$3},000,000円\t"} 71 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 72 when/株式数(1000株)\t貸借対照表計上額(百万円)/ 73 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},000株\t#{$3},000,000円\t"} 74 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 75 when/株式数(株) 貸借対照表計上額(百万円)/ 76 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},株\t#{$3},000,000円\t"} 77 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 78 when/株式数(株) 貸借対照表計上額(百万円)/ 79 text.gsub!(/([1-9]\d{0,2}(,\d{3})*)\t([1-9]\d{0,2}(,\d{3})*)\t/) {|s| "#{$1},株\t#{$3},000,000円\t"} 80 text.gsub!(/([1-9]\d{0,3})\t(\d{1})/){|s| "#{$1}株\t#{$2}円\t"} 81 end 以下は今のプログラムで出てくる結果です。 1つ目の数字の後ろに「株」、2つ目の数字の後ろに「,000円」がついています。 ハ保有目的が純投資目的である投資株式の前事業年度及び当事業年度における貸借対照表計上額の合計額並びに当事業年度における受取配当金、売却損益及び評価損益の合計額(a)保有目的が純投資目的以外の目的である投資株式銘柄数58銘柄貸借対照表計上額の合計額6,915百万円(b)保有目的が純投資目的以外の目的である投資株式の保有区分、銘柄、株式数、貸借対照表計上額および保有目的(前事業年度)特定投資株式 前事業年度銘 柄株式数(株)貸借対照表計上額(百万円)保有目的 (株)髙島屋1,594,657株1,527,000円事業上の関係の維持・強化 トヨタ自動車(株)220,804株1,327,000円事業上の関係の維持・強化 (株)みずほフィナンシャルグループ3,295,570株642,000円取引銀行との関係の維持・強化 ヒューリック(株)638,400株552,000円事業上の関係の維持・強化 住友商事(株)229,198株294,000円事業上の関係の維持・強化 (株)三菱UFJフィナンシャル・グループ457,750株272,000円取引銀行との関係の維持・強化 阪急阪神ホールディングス(株)316,400株170,000円事業上の関係の維持・強化 (株)クラレ86,250株125,000円事業上の関係の維持・強化 積水ハウス(株)90,950株120,000円事業上の関係の維持・強化 東海旅客鉄道(株)10,000株112,000円事業上の関係の維持・強化 (株)池田泉州ホールディングス206,963株102,000円取引銀行との関係の維持・強化 帝人(株)425,000株99,000円事業上の関係の維持・強化 東レ(株)140,000株98,000円事業上の関係の維持・強化 (株)滋賀銀行181,020株96,000円取引銀行との関係の維持・強化 ダイニック(株)459,000株81,000円事業上の関係の維持・強化 三井住友トラスト・ホールディングス(株)187,568株80,000円取引銀行との関係の維持・強化 東日本旅客鉄道(株)10,000株75,000円事業上の関係の維持・強化 近畿日本鉄道(株)155,455株65,000円事業上の関係の維持・強化 長瀬産業(株)47,124株62,000円事業上の関係の維持・強化 ユニチカ(株)1,013,200株58,000円事業上の関係の維持・強化 (株)南都銀行154,532株58,000円取引銀行との関係の維持・強化 本田技研工業(株)12,245株46,000円事業上の関係の維持・強化 西日本旅客鉄道(株)10,000株42,000円事業上の関係の維持・強化 イオン(株)32,149株38,000円事業上の関係の維持・強化 コニカミノルタホールディングス(株)51,000株37,000円事業上の関係の維持・強化 本来ならば「,000円」ではなく「,000,000円」を付加して出力するはずなのですが うまく動作せず「,000円」が付加されてしまっています。 どこを直せば正しく動作するでしょうか? ご教授の程よろしくお願いします。
質問日時: 2014/12/09 15:17 質問者: alpacasan15
解決済
1
0
-
【Ruby】shift-jisのページの置換
content="text/html; charset=shift-jis"のページを読み込んで、文字列の置換がしたいです。 #!/opt/local/bin/ruby require 'uri' require 'open-uri' url='http://hoge.hoge' open(url,'r:shift_jis'){|io| content = io.read content.gsub!(/ほげ/,'ホゲホゲ) print content } 上記の様に書いてみました。ソースコード自体はUTF-8で記述しました。 実行すると、 `gsub!': incompatible encoding regexp match (UTF-8 regexp with Shift_JIS string) (Encoding::CompatibilityError) となってしまいます。 どうしたらよいのでしょうか? rubyのバージョンは ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin12] です。 以上、よろしくご指導のほど、お願い申し上げます。
質問日時: 2014/12/08 23:35 質問者: nomorevup
ベストアンサー
1
0
-
Ruby 文字の挿入(置換)
こんにちは。 最近Rubyでスクローリングをしているのですが、その中で文字の挿入をする場面がありました。 今現在はgsub!を用いた置換で無理矢理くっつける形を取っているのですが、 どうも効率が悪く、汎用性に欠けるような気がします。 何かもっといい方法があるのでしょうか。 曖昧な質問で申し訳ありませんが、よろしくお願いします。 以下プログラムになります。 57 when /株式数(株)\t貸借対照表計上額(千円)|株式数(株)\t貸借対照表計上額(千円)/ 58 while text.match(/\d[0-9]*?\t/) 59 text.sub!(/\d[0-9]*?\t/){|s|s.concat("株1")} 60 text.sub!(/\t株1/,"株q") 61 text.sub!(/\d[0-9]*?\t/){|s|s.concat("円")} 62 text.sub!(/\t円/,",000円q") 63 end 64 text.gsub!(/q/,"\t") 改変しようとする部分の原文は以下のような文章です。 当事業年度銘 柄株式数(株)貸借対照表計上額(百万円)保有目的 (株)ナガホリ 192,000 47取引の円滑化 (株)東日本銀行 181,000 45取引の円滑化 (株)大垣共立銀行 99,000 27取引の円滑化 イオン九州(株) 16,027 25取引の円滑化 (株)名古屋銀行 37,000 14取引の円滑化 (株)みずほフィナンシャルグループ 63,800 13取引の円滑化 (株)三菱UFJフィナンシャル・グループ 22,700 12取引の円滑化 (株)桑山 8,800株 5,000,000円取引の円滑化
質問日時: 2014/12/04 14:30 質問者: alpacasan15
解決済
3
0
-
「rails s」でサーバーが起動できないです。(
railsにおいて「rails s」でサーバーが起動できないです。(以下エラー文あり) 正直、上記の件、原因がわからなく困っております。 必要な情報は都度教えて頂ければ追記致します。 railsのインストールは確認できております。 sqlite3のインストールもできております。 gemのアップデートなども試しました。 一通り、ネットで同じような症状がでた方のページを拝見し上記対策を行いましたが、 上手くいきませんでした・・・。 宜しくお願いいたします。 Usage: rails new APP_PATH [options] Options: -r, [--ruby=PATH] # Path to the Ruby binary of your choice # Default: /Users/ryouhasegawa/.rbenv/versions/2.1.5/bin/ruby -m, [--template=TEMPLATE] # Path to some application template (can be a filesystem path or URL) [--skip-gemfile], [--no-skip-gemfile] # Don't create a Gemfile -B, [--skip-bundle], [--no-skip-bundle] # Don't run bundle install -G, [--skip-git], [--no-skip-git] # Skip .gitignore file [--skip-keeps], [--no-skip-keeps] # Skip source control .keep files ・ ・ ・ Description: The 'rails new' command creates a new Rails application with a default directory structure and configuration at the path you specify. You can specify extra command-line arguments to be used every time 'rails new' runs in the .railsrc configuration file in your home directory. Note that the arguments specified in the .railsrc file don't affect the defaults values shown above in this help message. Example: rails new ~/Code/Ruby/weblog This generates a skeletal Rails installation in ~/Code/Ruby/weblog. See the README in the newly created application to get going.
質問日時: 2014/12/01 19:53 質問者: ryorrrrr
解決済
2
0
-
演算子の再定義とインスタンス変数の参照と代入
list9.1とlist 9.3をあわせた二次元の座標、xとyを持つ プログラムです class Point attr_reader :x, :y def initialize(x=0, y=0) @x, @y = x, y end def inspect # 表示用 "(#{x}, #{y})" end def +(other) # x、yのそれぞれを足す self.class.new(x + other.x, y + other.y) end def -(other) # x、yのそれぞれを引く self.class.new(x - other.x, y - other.y) end def [](index) case index when 0 x when 1 y else raise ArgumentError, "out of range `#{index}'" end end def []=(index, val) case index when 0 self.x = val when 1 self.y = val else raise ArgumentError, "out of range `#{index}'" end end end point = Point.new(3, 6) p point[0] #=> 3 p point[1] = 2 #=> 2 p point[1] #=> 2 p point[2] #=>エラー(ArgumentError) についてお尋ねしたいのですが、 def [](index)で演算子を再定義する際、値を参照する方法で def [](index) case index when 0 x : と、していますが、xp.135のアクセサの説明など では@xと「@」が要りそうな感じがするのですが、この 場合は省いて大丈夫なんでしょうか? プログラムがローカル変数と間違って処理したりという ことは無いんでしょうか。 仮にないとすれば、ここのcase文にはインスタンス変数 と同じ名前のローカル変数などは定義できないのでしょうか? ご教授願います。
質問日時: 2014/11/28 21:52 質問者: hirop0x452
ベストアンサー
2
0
-
windows7で複数のrbファイルをタスクスケジ
windows7で複数のrbファイルをタスクスケジューラで定時実行する際の効率的な方法を教えてください。 今のところファイル1かは30までを順次実行するかんじです。 実行するファイル数が膨大なので、個別にタスクスケジューラに設定するのは煩わしいので、良い方法があったら教えてください。
質問日時: 2014/11/27 19:50 質問者: tukutukuhosi
ベストアンサー
2
0
-
Ruby 改行文字の挿入
こんばんは。 Rubyにおいて、改行の無いhtmlファイル(/home/edinet/**/*.html)を読み込む際に先に改行文字を入れておき、10~15行目の正規表現の通りに文字列を取得したいと考えています。 下記のままのプログラムだと改行が無いhtmlファイルであるため余計な部分まで取得してしまいます。 以下例になります。 ”中外製薬(株)100株0,000,000円情報収集のため”の部分の後に指定した普通株式という文字があるにもかかわらずそれ以降も取得してしまっています。 当事業年度銘 柄株式数(株)貸借対照表計上額(百万円)保有目的 大正製薬ホールディングス(株)300,000株2,493,000,000円取引関係の強化のため 日本水産(株)8,000,000株1,736,000,000円取引関係の強化のため 大日本住友製薬(株)913,000株1,497,000,000円取引関係の強化のため JCRファーマ(株)550,000株1,303,000,000円取引関係の強化のため アルフレッサホールディングス(株)176,900株1,190,000,000円取引関係の強化のため (株)スズケン157,200株628,000,000円取引関係の強化のため 東邦ホールディングス(株)243,400株531,000,000円取引関係の強化のため (株)メディパルホールディングス319,100株503,000,000円取引関係の強化のため コニカミノルタ(株)445,000株428,000,000円取引関係の強化のため (株)三菱UFJフィナンシャル・グループ611,000株346,000,000円取引関係の強化のため (株)ほくやく・竹山ホールディングス251,500株176,000,000円取引関係の強化のため (株)みずほフィナンシャルグループ504,080株102,000,000円取引関係の強化のため (株)バイタルケーエスケー・ホールディングス99,600株77,000,000円取引関係の強化のため イワキ(株)29,000株5,000,000円取引関係の強化のため 塩野義製薬(株)1,000株1,000,000円情報収集のため 田辺三菱製薬(株)1,000株1,000,000円情報収集のため 小野薬品工業(株)100株0,000,000円情報収集のため (株)三菱ケミカルホールディングス1,500株0,000,000円情報収集のため アステラス製薬(株)100株0,000,000円情報収集のため 武田薬品工業(株)100株0,000,000円情報収集のため エーザイ(株)100株0,000,000円情報収集のため 第一三共(株)200株0,000,000円情報収集のため 中外製薬(株)100株0,000,000円情報収集のため 普通株式296,000,000株 計296,000,000,000,000円 普通株式132,891,217株132,891,217,000,000円東京証券取引所(市場第一部)単元株式数1,000株 計132,891,217株132,891,217,000,000円―― 平成14年8月2日(注)―132,891株―26,137,000,000円△8,735株22,454,000,000円 政府及び地方公共団体金融機関金融商品取引業者その他の法人外国法人等個人その他計 個人以外個人 株主数(人)―48株38,000,000円273株130,000,000円19株18,939,000,000円19,447株― 所有株式数(単元)―21,507,000,000円1,088株34,172,000,000円26,219株22,000,000円48,527株131,535,000,000円1,356,217株 所有株式数の割合(%)―16.35,000,000円0.83株25.98,000,000円19.93株0.02,000,000円36.89株100.00,000,000円― 以下のメソッドでそういった事をしようとする場合、どのようにして入れれば良いのでしょうか? File.openとeach_line、gsub!を用いて置換して挿入する方法では上手く取得することができませんでした。 以下プログラムになります。 1 text = "" 2 3 data = Dir.glob("/home/edinet/**/*.html") 4 5 data.each do |find| 6 7 flag = nil 8 IO.foreach(find) do |line2| 9 10 case line2 11 when /保有目的が純投資目的以外の目的である投資株式の保有区分、銘柄、株式数、貸借対照表計上額及び保有目/ 12 flag = true 13 when /保有目的が純投資目的である投資株式の前事業年度|保有目的が純投資目的|普通株式/ 14 flag = false 15 end 16 17 text << line2.chomp if flag == true 18 19 end 20 21 22 23 text.gsub!(/<\/td>/,"\t") 24 text.gsub!(/<\/tr>/,"\n") 25 text.gsub!(/<[^>]+>/,"") 26 27 text.gsub!(/前事業年度特定投資株式/,"前事業年度") 28 text.gsub!(/当事業年度特定投資株式/,"当事業年度") 29 text.gsub!(/前事業年度 特定投資株式/,"前事業年度") 30 text.gsub!(/当事業年度 特定投資株式/,"当事業年度") 31 text.gsub!(/前事業年度\t\t\t\t\n銘 柄/,"\n前事業年度\t銘 柄") 32 text.gsub!(/当事業年度\t\t\t\t\n銘 柄/,"\n当事業年度\t銘 柄") 33 text.gsub!(/^.*nbsp.*/,"") 34 text.sub!(/銘柄\t株式数/,"\t\t\t\t\n前事業年度\t銘 柄\t株式数") 35 text.sub!(/銘柄\t株式数/,"\t\t\t\t\n当事業年度\t銘 柄\t株式数") 36 text.sub!(/銘柄\t株式数/,"\t\t\t\t\n前事業年度\t銘 柄\t株式数") 37 text.sub!(/銘柄\t株式数/,"\t\t\t\t\n当事業年度\t銘 柄\t株式数") 38 text.gsub!(/前事業年度 特定投資株式/,"") 39 text.gsub!(/当事業年度 特定投資株式/,"") 40 41 print text ご回答の程よろしくお願いいたします。
質問日時: 2014/11/27 19:02 質問者: alpacasan15
ベストアンサー
3
0
-
Ruby 改行文字の認識
こんにちは。 最近質問させていただいているRubyのスクローリングの際に1行ごとに文章を判定し、flagを立てて取得しているのですが、下記のプログラムで改行文字「¥n」を事前に挿入しているにもかかわらずflagがうまく機能しないため質問させていただきました。 読み込んでいるhtmlファイルは改行が少ないファイルであるため、改行を入れてあげなければ余計な部分まで取得してしまう状態です。 以下プログラムです。 1 text = "" 2 data = "/home/edinet/E05267/S1001YX6/index.html" 3 4 flag = nil 5 6 File.open(data) do |f| 7 8 f.each_line do |file| 9 file.gsub!(/<\/tr>/,"\n") 10 11 #IO.foreach(file) do |line2| 12 file.each_line do |line2| 13 case line2 14 when /保有目的が純投資目的以外の目的である投資株式の保有区分|保有目的が純投資目的以外/ 15 flag = true 16 17 when /保有目的が純投資目的である投資株式|EOF|無議決権株式|政府及び地方公共団体|普通株式|【監査報酬の内容等】/ 18 flag = false if flag == true 19 20 end 21 22 text << line2 if flag != nil 23 break if flag == false 24 25 end 26 text.gsub!(/<\/td>/,"\t") 27 #text.gsub!(/<\/tr>/,"\n") 28 text.gsub!(/<[^>]+>/,"") 29 print text 30 31 end 32 end ご回答の程よろしくお願い致します。
質問日時: 2014/11/27 16:13 質問者: alpacasan15
ベストアンサー
4
0
-
Ruby 改行文字の挿入
こんにちは。 Rubyの質問です。 htmlの文章にrubyで改行文字を挿入してそれを認識させたいのですが、 htmlの文章内に¥nを挿入しても読み込んだ際にうまく認識してくれませんでした。 何か他に方法があるのでしょうか。 ご教授の程よろしくお願い致します。
質問日時: 2014/11/27 12:20 質問者: alpacasan15
ベストアンサー
1
0
-
Net::HTTP#get関連
楽しいRuby第4版で、Net::HTTPクラスを使ってRubyのホームページのHTMLを取得しコンソールに出力するというプログラムlist 8.13についてなんですが、 require "net/http" require "uri" url = URI.parse("http://www.ruby-lang.org/ja/") http = Net::HTTP.start(url.host, url.port) doc = http.get(url.path) puts doc と、記載通りに打ち込んで走らせても C:Ruby21/lib/ruby/2.1.0/net/http.rb879:in `initialize': no implect conversion of nil into String (TypeError) from C:/Ruby21/lib/ruby/2.1.0/net/http.rb:879: in `open' from C:/Ruby21/lib/ruby/2.1.0/net/http.rb:879: in `block in connect' from C:/Ruby21/lib/ruby/2.1.0/net/timeout.rb:76:in `timeout' from C:/Ruby21/lib/ruby/2.1.0/net/http.rb:878: in `connect' from C:/Ruby21/lib/ruby/2.1.0/net/http.rb:863: in `do_start' from C:/Ruby21/lib/ruby/2.1.0/net/http.rb:858: in `start' from C:/Ruby21/lib/ruby/2.1.0/net/http.rb:583: in `start' from http_get.rb:4: in `<main>' というエラーメッセージが出てしまいます。 いったいどうすればいいでしょうか?
質問日時: 2014/11/27 00:11 質問者: hirop0x452
解決済
1
0
-
Aptana Studioの複数ファイルの扱い2
前に投降した、Aptana Studioの複数ファイルの扱いの続きですが、どなたか Aptana Studio 3に詳しい方、情報ください。 一応、Aptana Studio 3のパースペクティブにRubyが表示されるようにまでして、 「ファイル」→「新規」→「Ruby Project」を選んで、プロジェクトを作成した後、 このプロジェクトを右クリック→「新規」→「空のRubyスクリプト」で、use_grep.rbと grep.rbのファイルを作成して保存。 このプロジェクトを右クリック→「実行」→「Rubyスクリプト」→「launchスクリプトの選択(use_grep.rb)」 を実行すると、 C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require': "\xEF\xBF" from Windows-31J to UTF-8 (Encoding::UndefinedConversionError) from C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require' のエラーが出ます。(requireのWindows-31JのコードがUTF-8のものに変換できないといっているようなのですが、)こんな簡単なプログラムをAptana Studio 3で動かせないで昨日からはまってしまっています。 ちなみに前回のものはRubyのパースペクティブが使える前の段階で、プロジェクトの下のファイルは 「New FromTemplate」→「Ruby」を選択して2つのファイルを作っています。 Aptana Studio 3でrequireコマンドを使って、2つ以上のファイルを動かした経験のあられる方、 御教示お願い致します。
質問日時: 2014/11/25 21:00 質問者: tmiyoshi
ベストアンサー
8
0
-
Ruby 正規表現による文字列取得
こんにちは。 何度か質問させていただいていたのですが、正規表現を使っても正しく取得できない部分があったので質問させていただきました。 取得したい文字列の部分にflagをたてて、そこからfalseになるまで取得し続ける形をとっているのですが、どうもfalseになってbreakするはずの部分で取得を終了してくれません。 どう直せば良いのでしょうか?ご教授お願い致します。 プログラムは以下の通りです。 2 text = "" 3 4 data = "/home/edinet/E05267/S1001YX6/index.html" 5 6 flag = nil 7 IO.foreach(data) do |line2| 8 line2.gsub!(/普通株式/,"\nEOF") 9 case line2 10 when /保有目的が純投資目的以外の目的である投資株式の保有区分|保有目的が純投資目的以外/ 11 flag = true 12 13 when /保有目的が純投資目的である投資株式の前事業年度|EOF|無議決権株式|政府及び地方公共団体|調 整 後 転 換 価 額|保有目的が純投資目的|普通株式|監査報酬の内容等/ 14 flag = false if flag == true 15 16 end 17 18 text << line2.chomp if flag != nil 19 break if flag == false 20 21 end 22 text.gsub!(/<\/td>/,"\t") 23 text.gsub!(/<\/tr>/,"\n") 24 text.gsub!(/<[^>]+>/,"") 25 print text 実行結果 ロ 保有目的が純投資目的以外の目的である投資株式の保有区分、銘柄、株式数、貸借対照表計上額及び保有目的 (前事業年度)特定投資株式銘柄株式数(株)貸借対照表計上額(千円)保有目的 アイサンテクノロジー株式会社50,00011,150取引関係の維持強化 セイコーエプソン株式会社10,0009,130取引関係の維持強化 株式会社トプコン10,0008,570取引関係の維持強化 株式会社大和証券グループ本社10,0006,560取引関係の維持強化 株式会社八十二銀行10,0005,690取引関係の維持強化 佐田建設株式会社60,0004,500取引関係の維持強化 (当事業年度)特定投資株式銘柄株式数(株)貸借対照表計上額(千円)保有目的 アイサンテクノロジー株式会社50,00043,900取引関係の維持強化 セイコーエプソン株式会社10,00032,100取引関係の維持強化 株式会社トプコン10,00016,920取引関係の維持強化 株式会社大和証券グループ本社10,0008,980取引関係の維持強化 福井コンピュータホールディングス株式会社10,0008,650取引関係の維持強化 株式会社八十二銀行10,0005,870取引関係の維持強化 ハ 保有目的が純投資目的である投資株式該当事項はありません。 (6) 会計監査の状況当社は、金融商品取引法監査について有限責任監査法人トーマツより継続的に監査を受けており、正確な経営情報・財務情報の提供に配慮しております。業務を執行した公認会計士の氏名所属する監査法人 指定有限責任社員業務執行社員五十幡 理一郎有限責任監査法人トーマツ 指定有限責任社員業務執行社員小 松 聡有限責任監査法人トーマツ 継続関与年数については、7年以内であるため記載を省略しております。また、公認会計士4名、その他2名が会計監査業務に関っております。 (7) 取締役会で決議することができる株主総会決議事項(自己の株式の取得)当社は、経営環境の変化に対応した機動的な資本政策を行うため、会社法第165条第2項の規定により、「取締役会の決議によって市場取引等により自己の株式を取得することができる。」旨を定款に定めております。 (中間配当)当社は、株主への機動的な利益還元を行うため、会社法第454条第5項の規定により、「取締役会の決議によって、毎年9月30日を基準日として、中間配当を行うことができる。」旨を定款に定めております。 (8) 取締役の定数当社の取締役は、「7名以内とする。」旨を定款に定めております。 (9) 取締役の選任の決議要件当社は、取締役の選任決議について、「株主総会において議決権を行使することができる株主の議決権の3分の1以上を有する株主が出席し、その議決権の過半数をもって行い、かつ累積投票によらない。」旨を定款に定めております。 (10) 株主総会の特別決議要件当社は、株主総会における特別決議の定足数を緩和することにより、株主総会の円滑な運営を行うため、会社法第309条第2項に定める株主総会の特別決議要件について、「議決権を行使することができる株主の議決権の3分の1以上を有する株主が出席し、その議決権の3分の2以上をもって行う。」旨を定款に定めております。 (2) 【監査報酬の内容等】 (1) 【監査公認会計士等に対する報酬の内容】前事業年度当事業年度 監査証明業務に基づく報酬(千円)非監査業務に基づく報酬(千円)監査証明業務に基づく報酬(千円)非監査業務に基づく報酬(千円) 14,600─14,600500 (2) 【その他重要な報酬の内容】該当事項はありません。 (3) 【監査公認会計士等の提出会社に対する非監査業務の内容】前事業年度該当事項はありません。 当事業年度当社は監査公認会計士等に対して、公認会計士法第2条1項の監査証明業務以外の業務である内部管理体制の整備に関する助言・指導業務について対価を支払っております。 (4) 【監査報酬の決定方針】当社の監査法人に対する監査報酬の決定方針としましては、事前に見積書の提示を受け、監査日数、監査内容及び当社の規模等を総合的に勘案し、監査役会及び関連部門と協議を行ったうえ決定することとしております。 第5 【経理の状況】 1.財務諸表の作成方法について当社の財務諸表は、「財務諸表等の用語、様式及び作成方法に関する規則」(昭和38年大蔵省令第59号。以下「財務諸表等規則」という。)に基づいて作成しております。 なお、当事業年度(平成25年4月1日から平成26年3月31日まで)の財務諸表に含まれる比較情報については、「財務諸表等の用語、様式及び作成方法に関する規則等の一部を改正する内閣府令」(平成24年9月21日内閣府令第61号)附則第2条第2項により、改正前の財務諸表等規則に基づいて作成しております。 2.監査証明について当社は、金融商品取引法第193条の2第1項の規定に基づき、事業年度(平成25年4月1日から平成26年3月31日まで)の財務諸表について、有限責任監査法人トーマツにより監査を受けております。 3.連結財務諸表について当社は子会社がありませんので、連結財務諸表を作成しておりません。 4.財務諸表等の適正性を確保するための特段の取組みについて当社は、財務諸表等の適正性を確保するための特段の取組みを行っております。具体的には、会計基準等の内容を適切に把握し、又は会計基準等の変更等について適切に対応することができる体制を整備するため、公益財団法人財務会計基準機構へ加入し、同機構が開催する研修等へ参加しております。 ※長いためこれ以降は割愛します。 よろしくお願いします。
質問日時: 2014/11/25 16:24 質問者: alpacasan15
ベストアンサー
2
0
-
エラー2401.rb:5: syntax erro
エラー2401.rb:5: syntax error, unexpected '<', expecting end-of-input <% require 'date' % >の原因がわかりません 2401.rbというプログラムを作成し、実行を致しました。 ---------------------------- # coding: utf-8 require'erb' <% require 'date' % > <h1>ERB Test Page.</h1> <p>今日の日付は: <%= Date.today %></p> ---------------------------- ターミナルで実行したのですが、 下記のエラーが発生しました。 2401.rb:5: syntax error, unexpected '<', expecting end-of-input <% require 'date' % > 何度見なおしても原因がわからなく困っております。 このエラーは何を指しているのかわかりますでしょうか? 宜しくお願いします。 必要な情報は都度教えて頂ければ、追記します。 尚、macで開発しております。 RubyのERBの使用方法を学ぶべく勉強しております。
質問日時: 2014/11/24 15:35 質問者: ryorrrrr
解決済
4
0
-
rubyにてhello worldを表示させたいの
rubyにてhello worldを表示させたいのですがNo such file or directory -- hello_world.rb (LoadError)と出てきて困ってます。解決策がわかりましたらご教示願えますでしょうか? macにてrubyのプログラミングを始めようとしているものです。 下記サイトを参照しつつ同じように行い環境構築をいたしました。 (バージョンは最新のにしました。) http://pplog.org/?p=1845 まず手始めにhelloworldという文字の表示をしたく下記サイトを参照しつつ hello_world.rbというファイルを作りました。 http://www.atmarkit.co.jp/ait/articles/1402/27/news042_2.html -------- #!/usr/bin/env ruby # encoding: utf-8 puts "Hello World!" -------- その後、ターミナルで下記の通り入力し、実行しました。 ruby hello_world.rb しかし、helloworldとでずにNo such file or directory -- hello_world.rb (LoadError) という文字が出ました。 ※原因が「hello_world.rb」ファイルの#にあるのかと考え#抜きのソースも入力し実行しましたがダメでした。 何が原因であるのかわからず途方に暮れております。 環境構築は同じステップをふみ再確認しましたが、問題がないようです。 「hello_world.rb」ファイルはFinderの「書類」という項目の中に格納致しましたが、 ここに原因があるのでしょうか? ネットで原因を調べてもよくわからず困っております。 もしわかる方がおりましたら、解説願えますでしょうか? こんな初歩的なところで躓いているようでは適正はないのかもしれませんが、 どうか宜しくお願いします。 説明不足の点があるかと思いますので、ご指摘を受けましたら、 追記致します。
質問日時: 2014/11/22 00:59 質問者: ryorrrrr
解決済
2
0
-
Ruby flagによるファイルの特定行の抽出
1 2 text = "" 3 data = "/home/edinet/E30682/S1002C62/index.html" 4 5 6 flag = nil 7 IO.foreach(data) do |line2| 8 9 case line2 10 when /保有目的が純投資目的以外の目的である投資株式の保有区分/ 11 flag = true 12 13 when /保有目的が純投資目的である投資株式|監査報酬の内容等/ 14 flag = false 15 16 end 17 18 text << line2.chomp if flag == true 19 break if flag == false 20 21 end 22 text.gsub!(/<\/td>/,"\t") 23 text.gsub!(/<\/tr>/,"\n") 24 text.gsub!(/<[^>]+>/,"") 25 print text 26 27 28 やりたいことは 「保有目的が純投資目的以外の目的である投資株式の保有区分」が含まれる行から 「保有目的が純投資目的である投資株式」「監査報酬の内容等」が含まれる行までを取得し、 textにそれらを入れ込む 「保有目的が純投資目的である投資株式」「監査報酬の内容等」が含まれる行まで行くと繰り返しが終了する です。 しかし、これを実行しても何も表示されないため解決方法について質問させていただきました。 なお、break if flag == false の部分をコメントアウトすると指定していない部分まで取得し、printしてしまいます。 どこを直せば正しく取得できるでしょうか? どうかご教授の程よろしくお願いいたします。
質問日時: 2014/11/18 14:07 質問者: alpacasan15
ベストアンサー
4
0
-
Rubyのirbでの漢字入力
コマンドプロンプトでRubyのirbコマンドを使って漢字入力を行うと、 漢字変換はしてくれるのですが、入力確定のためにEnterキーを押すと、 別の文字になってしまいます。 >irb -E Shift_JIS なども試してみたのですがうまくいきません。 何か設定の仕方とかあるようでしたら御教示ください。
質問日時: 2014/11/16 18:23 質問者: tmiyoshi
ベストアンサー
1
0
-
Ruby 正規表現による文章取得
こんばんは。 最近正規表現を用いたスクローリングを行っているのですが、 その中でうまく動かない部分があったため質問させていただきました。 プログラムは以下の通りです。 text = "" data = Dir.glob("/home/edinet/**/*.html") data.each do |find| flag = nil IO.foreach(find) do |line2| case line2 when /保有目的が純投資目的以外の目的である投資株式の保有区分、銘柄、株式数、貸借対照表計上額及び保有目/ flag = true when /保有目的が純投資目的である投資株式の前事業年度|保有目的が純投資目的|普通株式/ flag = false end text << line2.chomp if flag == true end print text end >保有目的が純投資目的である投資株式の前事業年度|保有目的が純投資目的|普通株式 この3つのどれかが含まれている場合にfalseを返し、文字列の取得が終了するはずなのですが、「普通株式」が含まれている行以降も文字列を取得し続けてしまいます。 正規表現が間違っているためなのでしょうか? ご回答の程どうかよろしくお願い致します。
質問日時: 2014/11/13 16:43 質問者: alpacasan15
解決済
2
0
-
再帰に関する質問です。
再帰に関する質問です。 class Test def fact(n) return 1 if n == 0 n * fact(n - 1) p n end end myfact = Test.new p myfact.fact(3) なぜ、"p n"をメソッドの中に入れると最後の "p myfact.fact(3)"の結果が3に なるのでしょうか。 "p n"をコメントアウトすると正常に6という結果がでます。 この再帰の構造は、 #1st loop fact(3)。 n = 3 3 * fact(2) end #2nd loop fact(2) n = 2 2 * fact(1) end #3rd loop fact(1) n = 1 1 * fact(0) end #last loop fact(0) return 1 end となってますよね。ここで最後のfact(0)から、リバースしていくわけで、 fact(1) 1 * 1 p n =>1 end fact(2) 2 * 1 p n => 2 end fact(3) 3 * 2 p n => 3 end ここまではわかります。ではなぜ最後の"p myfact.fact(3)"が3になるのでしょ うか。
質問日時: 2014/11/12 19:55 質問者: tukutukuhosi
ベストアンサー
2
0
-
メソッド定義の際の引数で
楽しいRuby第4版のp.120で def a(a, b: 0, c:0) [a, b, c] end のように、必須の引数とキーワード引数を混在 させることができると説明があったので試しに def meth(a, b: 2, c: 3, *args) [a, b, c, args] end p meth(1,2,3) のように、必須の引数とキーワード引数と不定の 引数を混在させたところエラーが返りました。 やはり、不定の引数*argsまで混在させられないの でしょうか? irbで試すとメソッド定義をendで括った瞬間に エラーが返りましたんで、きっとこれが原因だと 思うのですが。
質問日時: 2014/11/10 16:13 質問者: hirop0x452
ベストアンサー
2
0
-
メソッド定義の構文のdefって
メソッド定義の構文に出てくる「def」とは何の略でしょうか? default(デフォルト)と思えばそのようにもとれるし definition(デフィニション=定義)と思えばそうともとれるし ファイル名等に使いたいので正確な情報がほしいです。
質問日時: 2014/11/07 05:16 質問者: hirop0x452
ベストアンサー
1
0
-
{Ruby}Dir.globの結果を引数として代入
こんにちは。 当方Ruby初心者です。 最近Dir.globのメソッドを使用しているのですが、 Dir.globで取得した結果を1つずつ引数として取り出すにはどのようなメソッドを 組めば良いのでしょうか? ご教授の程よろしくお願い致します。
質問日時: 2014/11/06 15:20 質問者: alpacasan15
解決済
3
0
-
{Ruby}ディレクトリ内の全てのファイルを操作
こんばんは。 最近Rubyでファイルのスクローリングをしているのですが、 以下のようなスクリプトを全てのファイルに適用したいと考えています。 1 fpath = '/home/edinet/E30479/S1002D1W/index.html' 2 3 text = "" 4 5 6 File.open(fpath).each do |f| 7 f.each_line do |line| 8 9 line.gsub!(/前事業年度特定投資株式/,"前事業年度") 10 line.gsub!(/当事業年度特定投資株式/,"当事業年度") 11 12 end 13 end 14 15 16 flag = nil 17 IO.foreach(fpath) do |line2| 18 19 case line2 20 when /保有目的が純投資目的以外/ 21 flag = true 22 when /保有目的が純投資目的/ 23 flag = false 24 end 25 26 text << line2.chomp if flag == true 27 end Dir.globなどを使えば良いと思うのですが、具体的にはどのように記述すればよいのでしょうか? ご教授の程お願い致します。
質問日時: 2014/11/04 16:57 質問者: alpacasan15
ベストアンサー
2
0
-
Rubyのエンコードについて
エディタはsublime text 2を使っているのですが 楽しいRuby第四版のサンプルプログラムで学習を始めた当初、エンコードのエラーがでました。 プログラムの行頭に# encoding: UTF-8 とマジックコメントを打ってもエラーはなおらず、プログラムを呼び出す際に、>ruby -E UTF-8 と指定すると問題なく走りました。 で、その後も、日本語を使用したプログラムを実行する際にエンコードをプログラムの行頭で指定していないファイルでも、呼び出す際に「-E UTF-8」としなくても、問題なく走るようになったんですが。 楽しいRuby第四版のサンプルプログラムでlist6.15にstrip.rbというものがあり、内容は file = File.open(ARGV[0]) file.each_line do |line| next if /^\s*$/ =~ line #空白行 next if /^#/ =~ line #シャープで始まる行 puts line end file.close というものがあり、これはコマンドラインから指定したファイルから空白行とシャープで始まる行を抜き取って出力するプログラムなんですが、これを実行する際にまたエンコードのエラーが出てしまいます。 プログラムの行頭で# encoding: UTF-8 と指定してもエラーになり、呼び出す際に>ruby -E UTF-8 strip.rb 呼び出すプログラム名 で問題なく走ったのですが、これは毎回呼び出すたびに-E -UTF-8を指定しないと走ってくれません。 日本語は使っていないプログラムなんで正規表現の部分で何かがひっかかっていると思うんですが、何が原因なんでしょうか。 エディタの問題なんでしょうか(ネットで調べるとsublime text 2はUTF-8しか対応していないと書いてありました。 また、パソコンはプログラム学習用として米国製のAcerというノートパソコンを使っています。
質問日時: 2014/11/04 04:06 質問者: hirop0x452
ベストアンサー
3
1
-
redmineのインストール方法
さくらインターネットサーバーのスタンダードプランにインストールを試みているのですが、難しくてまったくうまく行きません。 さくっとインストールする方法はないでしょうか?
質問日時: 2014/10/31 21:32 質問者: haityaku
ベストアンサー
3
0
-
rubyのunlessで遊んでいたら
Rubyのunlessで適当にプログラムをつくって遊んでいました。 01:a = 10 #aに10を代入 02:b = 20 #bに20を代入 03: 04:unless a > b 05: puts "aはbより大きくない" 06:else 07: puts "aはbより小さくない" 08:end 09:#unless文にはelsif節等がなく、条件項目を増やせないのでaとbの値が同じ場合は 10:#どうしようかと、これをif文で補おうとしました。 11:if a = b 12: puts "aとbは同じです" 13:end 14: 15:puts "a=#{a} b=#{b}" そもそも、aとbの値が同じでない場合11行目のifが実行されることは無いだろうと思っていたのですが実効結果は ↓ aはbより大きくない aはbと同じ a=20 b=20 という結果がでました。実行結果一行目の「aはbより大きくない」と出力されたのはプログラム4行目のunless文の返した結果だろうと理解できましたが、実行結果2行目のif文の結果である「aはbとおなじ」が出力されたのか、実行結果3行目でaとbの変数内を参照しておりますが、ここでどうしてaの値が20に変更されているのか、わかりません。 詳しい方いらっしゃいましたらご教授願います。
質問日時: 2014/10/28 19:17 質問者: hirop0x452
ベストアンサー
1
0
-
オリジナルプログラムです。
楽しいRuby第四版を見ながら、独学でRuby言語を勉強している者です。 p.71に記載されているList 5.1の、西暦から平成へ変換するプログラムad2heisei.rbについてなんですが、1988年以前の西暦を入力すると平成0年になったり、マイナスになったりするという問題点をその章の課題である条件判断文を使いながら、西暦を平成から昭和まで変換できる改良版をつくってみました。 01:#西暦から平成および昭和に変換する 02: 03:ad = ARGV[0].to_i 04:if ad > 1988 05: heisei = ad - 1988 06: print "西暦", ad, "年は平成", heisei, "年です。\n" 07:elsif 1988 > ad && ad > 1925 08: syouwa = 63 - (1988 - ad) 09: print "西暦", ad, "年は昭和", syouwa, "年です。\n" 10:else 11: print "西暦", ad, "年は昭和以前です。\n" 12:end で、質問なんですが、当初3行目のad = ARGV[0].to_iを分かり易いように二段に分けて 03:ad = ARGV[0] 04:ad.to_i という風にしていたらエラーが出て走りませんでした。 ARGVはコマンドラインに入力されたものを文字列オブジェクトとして受け取ることは分かっていたのですが、何故上の記述でエラーがでるのか理解できませんでした。 irbで同じことをやってみると、2行目のad.to_iで数値オブジェクトに変換されるのですが、再びadの変数内を参照すると文字列としてオブジェクトが格納されていました。 変数に代入する再に数値に変換しておかないと、後からではいくら数値に変換してもその場かぎりで、その値が失われてしまうということなのでしょうか? 詳しい方いらっしゃいましたらご教授願います。
質問日時: 2014/10/27 16:34 質問者: hirop0x452
ベストアンサー
1
0
-
Rubyのprettyprintについて
Ruby2.1.3を使って楽しいRuby第4版を学習しているんですが ppメソッドでp.56のListの例題のとおりv = [{key00:"「楽しいRuby第4版」", key01:"「Rubyレシピブック」", key03:"「rails3レシピブック」"}]を出力しても、適度に改行してくれません。 出力結果はpメソッドと同じく横に羅列されてでてきます。 何がいけないんでしょうか?
質問日時: 2014/10/24 21:36 質問者: hirop0x452
ベストアンサー
1
0
-
Ruby flagによるファイルの特定行の抽出
こんばんは。 Rubyでファイルの特定行を抽出するプログラムを作っているのですが、 flagを立てて特定の場所から特定の場所までを指定する方法をとりたいと思っています。 ある程度までは書いたのですが、そこからどうすれば良いのかが分かりません。 なにとぞ御教授、御添削の程お願い致します。 data = File.open(fpath) do |f| 6 7 f.each_line do |line| 8 9 line.gsub!(/前事業年度特定投資株式/,"前事業年度") 10 line.gsub!(/当事業年度特定投資株式/,"当事業年度") 11 12 13 line.gsub!(/保有目的が純投資目的である/,"EOF") 14 line.gsub!(/保有目的が純投資目的の/,"EOF") 15 16 # next unless line =~ /保有目的が純投資目的以外/ .. line =~ /EOF/ 17 18 19 if $flag == 1 20 text << line.chomp unless line =~ /^\s+$/ 21 22 if line =~ /保有/ 23 $flag = 1 24 else if line =~ /EOF/ 25 $flag = 0
質問日時: 2014/10/23 17:24 質問者: alpacasan15
ベストアンサー
1
0
-
Ruby 正規表現での文字列取得
こんにちは。 先日Rubyでとあるファイルから特定の文字列を取得するプログラムを組んでおりましたところ、正規表現は合っていそうなのに取得できない場合がありましたので質問させていただきました。 <h6 class="smt_head5" style="padding-left: 27pt; padding-right: 0pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: 0pt; font-family: 'MS 明朝'; text-align: justify; letter-spacing: 0pt; line-height: 15pt;">イ 保有目的が純投資目的以外の目的である投資株式</h6><p class="smt_text5" style="text-align: justify; padding-left: 40pt; padding-right: 0pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: 9.9pt; font-family: 'MS 明朝'; letter-spacing: 0pt; line-height: 14pt;">銘柄数 5銘柄</p><p class="smt_text5" style="text-align: justify; padding-left: 40pt; padding-right: 0pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: 9.9pt; font-family: 'MS 明朝'; letter-spacing: 0pt; line-height: 14pt;">貸借対照表計上額の合計額 299,505千円</p><p class="smt_text6" style="text-align: justify; padding-right: 0pt; margin-top: 0pt; margin-bottom: 0pt; font-family: 'MS 明朝'; letter-spacing: 0pt; line-height: 14pt;"> </p><p style="page-break-before: always; line-height: 0.75pt; width: 100%; font-size: 0.75pt;"> </p><h6 class="smt_head5" style="padding-left: 36pt; padding-right: 0pt; margin-top: 0pt; margin-bottom: 0pt; text-indent: -9pt; font-family: 'MS 明朝'; text-align: justify; letter-spacing: 0pt; line-height: 15pt;">ロ 保有目的が純投資目的以外の目的である投資株式の保有区分、銘柄、株式数、貸借対照表計上額及び保有目的</h6><p class="smt_text5" style="padding-left: 36pt; text-indent: 9pt; line-height: 15pt;">(前事業年度)</p> 上記のような文字列を、 text = "" 4 5 data = File.open(fpath) do |f| 6 7 f.each_line do |line| 8 9 line.gsub!(/前事業年度特定投資株式/,"前事業年度") 10 line.gsub!(/当事業年度特定投資株式/,"当事業年度") 11 12 13 line.gsub!(/保有目的が純投資目的である/,"EOF") 14 line.gsub!(/保有目的が純投資目的の/,"EOF") 15 16 next unless line =~ /保有目的が純投資目的以外/ .. line =~ /EOF/ 17 text << line.chomp unless line =~ /^\s+$/ 18 19 20 end 21 end 以下のような文字列で取得しようとしたのですが、「保有目的が純投資目的以外」の部分にひっかかりませんでした。 また別の文字列中にある「保有目的が純投資目的である」の部分をEOFに置換する行程もおそらく作動していないと思われます。 どうしたら正しく取得できるでしょうか?ご教授お願い致します。
質問日時: 2014/10/23 14:33 質問者: alpacasan15
解決済
1
0
-
Ruby 正規表現で特定の文字を取得・挿入
こんにちは。 当方Ruby初心者です。 HTMLからの正規表現による文字列の取得のプログラムを組んでいたのですが、 分からない所があったため質問させていただきました。 やりたいことは、以下の数字の文字列の後ろにそれぞれ「株」と「,000円」という文字を追加することです。 全ての数字の後ろに株、もしくは,000円を追加する事はできるのですが、個別に追加することができません。 どうかお力添えをお願いいたします。 前事業年度銘 柄株式数(株)貸借対照表計上額(千円)保有目的 株式会社エイチーム200,400円株722,442 関係強化 株式会社ケイブ15015,900 関係強化 当事業年度銘 柄株式数(株)貸借対照表計上額(千円)保有目的 株式会社エイチーム125,300697,921 関係強化 株式会社ケイブ5,0008,475 関係強化 以下プログラムです。 if text.match('株式数(株) 貸借対照表計上額(千円)') 28 text.gsub!(/\d[0-9]*?,\d[0-9]+|\d[0-9]+/) {$&.concat('株')} 29 text.gsub!(/\d[0-9]*?,\d[0-9]+|\d[0-9]+/) {|s1| s1.concat('株')} 30 else if text.match('株式数(1000株)') 31 text.sub!(/\d[0-9]+,\d[0-9]+/) {|s| s.concat(',000株')} 32 end 33 end 34 print text
質問日時: 2014/10/16 18:34 質問者: alpacasan15
ベストアンサー
1
0
-
rubyのサンプルコードの起動について
Rubyのサンプルコードの起動方法についてお聞きしたいです。 現在、「アンダースタンディング・コンピレーション」という本のサンプルコードをダウンロードし、irbを用いて実行しながら学習しようと考えています。 しかし、irbを用いてrbファイルを起動したのですが以下のエラーがでて上手く行きません。 /home/vagrant/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- execjs/json (LoadError) from /home/vagrant/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /vagrant/share/computationbook/the_meaning_of_programs/denotational/assign.rb:1:in `<top (required)>' from /vagrant/share/computationbook/the_meaning_of_programs/denotational.rb:2:in `require_relative' from /vagrant/share/computationbook/the_meaning_of_programs/denotational.rb:2:in `<top (required)>' from the_meaning_of_programs.rb:2:in `require_relative' from the_meaning_of_programs.rb:2:in `<main>' メッセージを見たところ、requireで問題が起こっているようなのですが、 パスなどにも問題があるようには見えず。行き詰っています。 irbで実行したファイルの内容は、間接的に複数のファイルをrequireで読み込むものです。 また、その際のパスは相対パスで記述されいてるようです。 当方、Ruby初心者なのでirbやrubyの根本的な使用方法に誤りがあるかもしれません。 エラーに見覚えのある方、 アンダースタンディング・コンピレーションをサンプルコードから学習した方 などいらっしゃいましたら,助言いただければ幸いです。
質問日時: 2014/09/23 17:39 質問者: aiueo_at_okwave
解決済
1
0
-
rubyでcontinue 2;
rubyでphpの continue 2; みたいなことはできるのでしょうか? 教えてください。
質問日時: 2014/09/14 20:29 質問者: okwaver85758
ベストアンサー
1
0
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
【Ruby】に関するコラム/記事
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
(再質問)エクセルのマクロボタン...
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ルビー言語 ライブラリー 追記
-
ruby while式
-
ruby クラス・オブジェクト・インス...
-
教えてください
-
パイソンエラーについて
-
英数字を含む文字列(0-9,A-Z)の桁...
-
Rubyで掲示板は作れますか
-
初心者プログラミング
-
7セグメント LED ディスプレイ コン...
-
C言語の入力した文字を反転させるプ...
-
pandasでsqlite3にテーブル作成・追...
-
VBScriptでExcel(2019)上のデータ並...
-
ruby raise句
-
ruby begin句
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Ruby require ライブラリー
-
(再質問)エクセルのマクロボタン...
-
ruby loopメソッド 変数(再喝)
-
ruby loopメソッド 変数
-
ルビー言語 ライブラリー(再々渇)
-
ruby while式
-
ルビー言語 ライブラリー 追記
-
ビーリアルのユーザー名を変えたい...
-
ruby OpenURI::Meta
-
ruby クラス・オブジェクト・インス...
-
ruby begin句
-
ruby raise句
-
ruby ensure句
-
ruby 配列
-
ルビー言語 csvファイル part2
-
ルビー言語 csvファイル 続き(再)
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
-
パソコンのスクリーンセーバーのデ...
-
ルビー言語 ライブラリー
おすすめ情報