Ruby 初心者スレッド Part 58 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2016/03/23(水) 21:16:44.36ID:6HedlyzC質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 57
http://peace.2ch.net/test/read.cgi/tech/1426165733/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0694デフォルトの名無しさん
2016/08/10(水) 22:31:03.23ID:uPyxj/T5http://www.tdb.co.jp/tosan/syosai/4191.html
0695デフォルトの名無しさん
2016/08/11(木) 12:06:30.15ID:v2n9djjr0696デフォルトの名無しさん
2016/08/12(金) 00:04:15.74ID:YUzYFiQucronでシェルからrubyを起動した際、requireしてるgemの一つが読み込みエラーしており困っております。
実行パスが違うからなのでしょうが、こういった場合どう解決すればよいでしょうか?
0697デフォルトの名無しさん
2016/08/12(金) 00:30:51.28ID:3GviCvck環境変数PATHも見てみ
Rubyの起動オプションなら、-Idirectory かな?
0698デフォルトの名無しさん
2016/08/14(日) 16:05:38.95ID:qlcn2KoZprintf "%s %s\n", tmp
とやると`printf': too few arguments (ArgumentError)
というエラーになるのですがPrintfに配列は渡せないのでしょうか
0699デフォルトの名無しさん
2016/08/14(日) 16:53:42.36ID:MHXGGTGkprintf "%s %s\n", *tmp
好きな方をどうぞ
0700デフォルトの名無しさん
2016/08/14(日) 18:00:18.07ID:qlcn2KoZありがとうございます
配列としてのObjectじゃなくって配列のポインタを渡すかしないといけないんですね
全てがObjectだからあかんと・・・ありがとうございました
0701デフォルトの名無しさん
2016/08/14(日) 18:03:55.65ID:MHXGGTGkprintf "%s", tmp # => ["a", "b"]
単純に%sが2つあるのにそれに対する引数が1つしかないからtoo few argumentsってなってるんだよ
0702デフォルトの名無しさん
2016/08/14(日) 18:12:25.22ID:qlcn2KoZ展開する用の指示が*なわけですよね、だから参照を渡してやればいいって話ですよね?
基本的にLLにしろなんにしろポインタは意識させない作りになっているだけでないわけじゃないですよね。
0703デフォルトの名無しさん
2016/08/14(日) 18:13:36.98ID:DMp4bkRPhttps://analytics.twitter.com/
Mechanizeを使ってログインするところまでは出来たのですが、
そこから「データをエクスポート」をクリックし、csvのダウンロードまで実行する手順がわからず行き詰まってしまいました。
これはどのように対処すればよいのでしょうか?
0704デフォルトの名無しさん
2016/08/14(日) 21:12:38.18ID:Mh5ntfj4何が困ってるのか全然分からん
もっと困ってるところを具体的に書いてくれ
0705デフォルトの名無しさん
2016/08/14(日) 21:21:33.21ID:DMp4bkRP↓のコードで、とりあえずログイン後のページまではいけていることを確認できたんですが
require 'mechanize'
agent = Mechanize.new
agent.user_agent_alias = 'Windows Mozilla'
url = "https://analytics.twitter.com/user/【ID】/tweets"
agent.get(url) do |page|
form = page.form_with(action: 'https://twitter.com/sessions')
form.fields[0].value = '【ID】'
form.fields[1].value = '【パスワード】'
p form.submit
end
ここから
・「データをエクスポート」ボタンを押す
・csvファイルをダウンロードする
まですすめる手順がわからない状況です。
jsがきかないとダメなようにも見えて、その場合Mechanize以外の手段を組み合わせる必要がありそうな感じですが・・・
0706デフォルトの名無しさん
2016/08/14(日) 22:52:24.64ID:SaGN03aV参照じゃないよ…
Rubyにはポインタの概念がそもそもないから…
0707デフォルトの名無しさん
2016/08/15(月) 17:05:00.37ID:g49T5w75一方、IronRubyは、2011年が最終リリース
0708デフォルトの名無しさん
2016/08/15(月) 17:13:52.08ID:g49T5w75tmp = ["a","b"]
配列という外側のオブジェクトが1つと、
a, b は文字列という内側のオブジェクトが2つ
コンテナには、コンテナを展開する演算子がある
0709デフォルトの名無しさん
2016/08/15(月) 17:16:50.45ID:g49T5w75Seleniumデザインパターン&ベストプラクティス、2015
OSSのブラウザ自動テストツール、Selenium WebDriver を使って、
Rubyでテストを書いた本
0710デフォルトの名無しさん
2016/08/15(月) 18:00:37.84ID:GUZ7DBqH0711デフォルトの名無しさん
2016/08/16(火) 12:24:35.22ID:Bu7T/V8i9/3までに頼む
0712デフォルトの名無しさん
2016/08/16(火) 14:36:31.71ID:laX+qstW環境はWindows7
Rubyは2.177P400
を使っています。
0713デフォルトの名無しさん
2016/08/16(火) 14:57:25.67ID:uRC9VBAFその質問で解決法がわかる人間がいたらスーパーエスパーだわw
・なにをしたいのかを具体的に
・どういうコードを書いたのか
・なんというエラーが出たのか
これぐらいは書こうなw
0714デフォルトの名無しさん
2016/08/16(火) 19:28:20.15ID:laX+qstWコードはまだ書けていない
たぶん、rubyのXMLでエラーじゃないかと思ってます。
一番最新のバージョンでもエラーが出る。
感じです
バージョンがあれば、それに越してみたいです。
0715デフォルトの名無しさん
2016/08/16(火) 19:32:20.09ID:mJ7ra1LVrequire "open-uri"
xml = open("hoge.xml")
0716デフォルトの名無しさん
2016/08/16(火) 20:32:56.86ID:h6WvQyhwrequire 'rexml/document'
require 'open-uri'
doc = REXML::Document.new open('http://example.com/example.xml')
0717デフォルトの名無しさん
2016/08/16(火) 22:35:47.88ID:uRC9VBAFコード書けてないならエラーなんて出ないと思うんですが…w
0718デフォルトの名無しさん
2016/08/20(土) 02:58:26.06ID:5fdRiIgV常識じゃないか
0719デフォルトの名無しさん
2016/08/20(土) 08:12:29.76ID:3vDaga3A0720デフォルトの名無しさん
2016/08/20(土) 18:27:12.48ID:UXRRqxP7貴方のデバッカー 奪ったLove-letter(Virus)
0721片山博文MZ ◆T6xkBnTXz7B0
2016/08/20(土) 18:50:44.26ID:ea4xV4wU0722デフォルトの名無しさん
2016/08/24(水) 01:28:41.63ID:u8a4LAYjタイトルテキストを抽出しようとしても空白の出力しか表示されません。
環境はWIN7でコマンドプロンプトで入力してます。
単純に記述ミスなら、「syntaxerror」という警告が出てくるのですが今回はそれもないです。
それかjavascriptが邪魔をしているのか・・・
ちなみにサイトは「pornhub」ですw
0723デフォルトの名無しさん
2016/08/24(水) 07:58:12.59ID:TVgqKey20724デフォルトの名無しさん
2016/08/24(水) 09:54:36.61ID:fznfg9zuディレクトリにlocalで指定するとそのディレクトリに移動しないとならないし
イメージ
/usr/local/aaa -v1.9
/usr/lical/bbb -v2.0
これをワーキングディレクトリがどこであろうと
aaaは1.9で bbbは2.0としたいのですが
0725デフォルトの名無しさん
2016/08/24(水) 10:00:03.83ID:lMhQNpu5おそらくクローラ対策に一定時間内に一定回数以上アクセスすると(?
jsでクッキーに何かを設定させて認証してるみたいね
0726デフォルトの名無しさん
2016/08/24(水) 10:10:08.13ID:lMhQNpu5環境変数 RBENV_VERSION を用いる
RBENV_VERSION = 1.9 /usr/local/aaa
これで1.9環境でaaaを実行するはず
0727デフォルトの名無しさん
2016/08/24(水) 10:12:13.68ID:fznfg9zu0728デフォルトの名無しさん
2016/08/24(水) 11:47:26.61ID:wj/dhjvFどういうこと?
0729デフォルトの名無しさん
2016/08/24(水) 13:57:51.07ID:zACxNHAZshebangに実行したいバージョンのrubyのパス書いときゃいいんじゃないの
0730デフォルトの名無しさん
2016/08/24(水) 14:45:07.43ID:9+kSfiVXこんなんじゃあかんの?
ルビーのパス/ruby コマンド
0731uy ◆e6.oHu1j.o
2016/08/25(木) 07:13:14.50ID:AFb0RLFlurl =
0732uy ◆e6.oHu1j.o
2016/08/25(木) 07:15:35.87ID:AFb0RLFlなんかソースコードの書き込みが失敗してる
もうやだ
0733デフォルトの名無しさん
2016/08/25(木) 12:11:25.26ID:i3bEIs7l確認画面が出る際、" を使うと、
サーバーで受け取った文字列の " を、エスケープしていないから、
そこで文字列の終了とみなされる
投稿する際、こちらでわざわざ、\" とエスケープしてから投稿してやれ
0734デフォルトの名無しさん
2016/08/25(木) 15:17:07.10ID:b4YfCPkDすごい、明解
頭いい
0735デフォルトの名無しさん
2016/08/25(木) 18:11:50.12ID:fNn06GGZideoneみたいなコードサービスで書けば?
0736デフォルトの名無しさん
2016/08/25(木) 19:32:47.82ID:7trdSkIV0737デフォルトの名無しさん
2016/08/25(木) 21:35:41.81ID:/4caYD7N0738デフォルトの名無しさん
2016/08/25(木) 21:43:19.34ID:KJBRfXOD0739デフォルトの名無しさん
2016/08/26(金) 10:21:27.00ID:QNADLP5Tメソッドの継承チェーンが分からないのにどうしてメソッドを持ってこれる
の?
0740デフォルトの名無しさん
2016/08/26(金) 11:08:39.63ID:3gDvt2/NでわかるけどトップレベルのActiveRecordは中身がないよ。
> ActiveRecord::Relation.ancestors
だとズラズラでるずら。
0741デフォルトの名無しさん
2016/08/26(金) 12:05:29.40ID:WnsDsp7+0742デフォルトの名無しさん
2016/08/29(月) 18:18:22.91ID:UFqwTsI30743デフォルトの名無しさん
2016/08/29(月) 18:52:16.97ID:bxq98iQ50744デフォルトの名無しさん
2016/08/29(月) 20:29:24.48ID:MIStvaWn0745デフォルトの名無しさん
2016/08/29(月) 21:20:24.86ID:EgxA66z30746デフォルトの名無しさん
2016/08/29(月) 21:44:35.95ID:5rjuE4vI0747デフォルトの名無しさん
2016/08/30(火) 02:57:33.40ID:CJ2Efr2dこのサイトを参考にして頑張っているんですが
jruby -S rake rawr:jarを実行すると
SyntaxError: /Users/kuni/.rbenv/shims/rake:3: syntax error, unexpected tSTRING_BEG
[ -n \"$RBENV_DEBUG\" ] && set -x
と出てしまい実行できないでいます。
rubyプログラムを.app化したいんです。
何が原因なのでしょうか、
他に何かいい方法があるでしょうか
0748デフォルトの名無しさん
2016/08/30(火) 03:38:25.10ID:KipFr26h0749デフォルトの名無しさん
2016/08/30(火) 04:44:33.60ID:CJ2Efr2d~/.rbenv/shims/rake の3行目[ -n "$RBENV_DEBUG" ] && set -x
の何が問題なのかわかりません。
インストールされたファイルで、""を消してみたけどダメでした。
0750デフォルトの名無しさん
2016/08/30(火) 08:47:39.64ID:KipFr26h取りあえず対処法はあるみたい
ttp://github.com/rbenv/rbenv/issues/467
0751デフォルトの名無しさん
2016/08/30(火) 08:58:41.19ID:TaoYiOttエラーメッセージは、unexpected tSTRING_BEG で終わりかい?
その後に、expecting 解答、と続かないのか?
検索するため一言一句、正確なエラーメッセージがいる
>747では、[ -n \"$RBENV_DEBUG\" ]
>749では、[ -n "$RBENV_DEBUG" ]
これは、シェルスクリプトのtest コマンドだろ。
だったら、\ は付かないから、749が正しい。[ -n "文字列" ]
だから、変数RBENV_DEBUG内に、" ' ! \ や全角文字など、
文字列ではない、よほど変なものが入っているのかも
それか、3行目より前にバグがある。
カッコの対応が取れていないか、全角空白・全角文字(日本語)を使っているとか
それか、ファイルの最後に、制御文字が入っているとか
0752デフォルトの名無しさん
2016/08/30(火) 12:59:38.73ID:CJ2Efr2d>749 の形であってます。
エラーメッセージもunexpected tSTRING_BEGで終わりです。
%% jruby -S rake rawr:bundle:app
SyntaxError: /Users/kuni/.rbenv/shims/rake:3: syntax error, unexpected tSTRING_BEG
[ -n "$RBENV_DEBUG" ] && set -x
0753デフォルトの名無しさん
2016/08/30(火) 20:31:13.62ID:yZN34uL0インスタンスメソとかクラスメソの違いだけじゃなくて、
例えば .xxx? みたいにハテナがつくメソッドは「ハテナメソッド」とか
自然言語の動詞や形容詞助詞みたいに使い方でもっと細かく
分類してほしい。分類が分かれば、記法がある程度特定されて
メソッド名から推測してぶっつけ本番で使ってもシンタックスエラー
なく使える命名規則があれば便利じゃないかな?
0754デフォルトの名無しさん
2016/08/30(火) 20:40:18.59ID:KipFr26h0755デフォルトの名無しさん
2016/08/30(火) 21:16:54.15ID:sNUA7e93はてなメソッドってただ返り値がBool型なメソッドってだけなのに他と区別する意味が見いだせん
0756デフォルトの名無しさん
2016/08/30(火) 22:17:09.84ID:JoG6iYvQハテナメソッドと、そうでないメソッドに
違いがないので分ける必要ありません。
0757デフォルトの名無しさん
2016/08/31(水) 00:29:51.70ID:BLd6Di5/$RBENV_DEBUG には、何が入っている?
他には、ホスト名・ユーザー名・パスに、日本語を使っているので誤動作しているとか
0758デフォルトの名無しさん
2016/08/31(水) 00:35:55.12ID:ezWZD1bGメソッド名を列挙する操作と正規表現組み合わせればいくらでも出来る気がする
0759デフォルトの名無しさん
2016/08/31(水) 02:49:08.99ID:BLd6Di5/戻り値がBool型
非破壊的関数は、const
マルチスレッドに対応する関数は、multi_thread
0760デフォルトの名無しさん
2016/08/31(水) 08:39:59.91ID:mqymnS7Z0761デフォルトの名無しさん
2016/08/31(水) 10:30:15.54ID:aGvvWmav逆フィンランド記法で
int i を int ii みたいに定義する馬鹿さ加減
0762デフォルトの名無しさん
2016/08/31(水) 10:37:12.32ID:LUuLSP6C0763デフォルトの名無しさん
2016/08/31(水) 11:37:17.00ID:mqymnS7Z0764デフォルトの名無しさん
2016/08/31(水) 14:04:42.57ID:hktlAWEt0765デフォルトの名無しさん
2016/08/31(水) 14:06:39.13ID:LUuLSP6C0766デフォルトの名無しさん
2016/08/31(水) 14:31:38.27ID:PJmqkaeb0767デフォルトの名無しさん
2016/08/31(水) 23:21:21.50ID:VrI1x3gR0768デフォルトの名無しさん
2016/09/01(木) 00:42:21.07ID:4EaPp0tJ0769デフォルトの名無しさん
2016/09/01(木) 02:23:39.56ID:u/ZMrN1Z0770デフォルトの名無しさん
2016/09/01(木) 03:11:44.86ID:Bl3p1IFz可能ならリファレンスの文法の項目は全部読んだ方が良いよ
>仮引数の直前に * がある場合には残りの実引数 (後述の post 引数を除く) はみな配列とし てこの引数に格納されます。 可変長引数、rest 引数などと呼ばれる機能です。 このような引数は 1 つしか作れません。
ttp://docs.ruby-lang.org/ja/2.3.0/doc/spec=2fdef.html
0771デフォルトの名無しさん
2016/09/01(木) 15:14:09.12ID:GAgoRnb90772デフォルトの名無しさん
2016/09/01(木) 16:41:53.55ID:lxKZC7pdgem install sqlite3-ruby
0773771
2016/09/01(木) 17:23:18.43ID:dI9CGFDXwindowsの2.3対応はまだじゃないですか?
githubの最新版だと対応してるっぽいんですが、導入の仕方がよくわかんないです
0774デフォルトの名無しさん
2016/09/01(木) 17:30:15.13ID:u2weFoMG単にデータを保存したいだけならPStoreやMarshalでgem使う必要が無い
0775デフォルトの名無しさん
2016/09/01(木) 17:35:10.99ID:lxKZC7pdごめん、使えるんじゃないかなーレベルで書いてしまった
0776デフォルトの名無しさん
2016/09/01(木) 19:34:04.12ID:UWb4BubAそれを元にメソッドを調べるときってまず何を見る訳?
0777デフォルトの名無しさん
2016/09/01(木) 20:19:22.98ID:Xz8sejsgローカルのDBが欲しいな→SQLiteがあったな→ruby sqliteでググろう
となる
0778デフォルトの名無しさん
2016/09/01(木) 20:48:24.77ID:4EaPp0tJ逆引き
0779デフォルトの名無しさん
2016/09/01(木) 20:50:54.60ID:Uog0CqGCどんなメソッドがあるかぐらいは一通りさらっと見て脳内でインデックスを作っておく
細かい使い方まで覚える必要はない。そんなのは後で調べればいい
0780デフォルトの名無しさん
2016/09/01(木) 23:24:31.38ID:u2weFoMGttp://docs.ruby-lang.org/ja/2.3.0/library/_builtin.html
ttp://docs.ruby-lang.org/ja/2.3.0/library/index.html
の一覧を見て、大体何があるかを把握しておく
Array Hash String Enumerable あたりはメソッドも一応目を通しておく
0781デフォルトの名無しさん
2016/09/03(土) 02:48:37.27ID:uJ1wm+Vmありがとうございます読み込んでおきます
0782デフォルトの名無しさん
2016/09/03(土) 08:05:24.94ID:wEDYvGbdp "aaa
bbb
ccc
".split("\n")
["aaa", "bbb", "ccc"]
# 望む結果: ["aaa", "bbb", "ccc", "", ""]
"...".scan(/(.*(?:\n|$))/).flatten.map{|i| if i == "" then i else i.chomp end}
だと一応出来たんですが無様すぎる…
0783デフォルトの名無しさん
2016/09/03(土) 08:15:03.42ID:yBtBzV43最近、GitやVagrant、ChefなどWeb関係で
必須ともいえるアプリケーションがありますが、
それらはRubyで書かれております。
何故、Rubyがこれらに採用されているのでしょうか。
以前、言語間の性能比較したもので、
処理速度に関しては、PHPの方が処理速度が速いとありました。
にもかかわらず、Rubyが採用されているのか気になったのですが、
どうしてでしょうか?
0784デフォルトの名無しさん
2016/09/03(土) 08:36:23.97ID:Hj3S1o7Zstr.split($/,-1)
長くもないんだからString#splitのマニュアルくらい読むと良いよ
ttp://docs.ruby-lang.org/ja/2.3.0/method/String/i/split.html
0785デフォルトの名無しさん
2016/09/03(土) 09:54:12.22ID:AtgdG5E3探したけど、ちゃんと理由を話してくれる記事見つからないな。
個人的な回答だけど参考に
Ruby DSL でぐぐるとわかると思うが、
Rubyの文法で設定ファイルを作ってもプログラムコードっぽく無いようにかけるんだよね。
だからユーザはコード詳しくなくても内容読める。アプリの開発者はRubyだから設定ファイルの解析の必要もない。
あと、VagrantfileもChefの設定ファイルもあれ、素のRubyの文法にしたがってるから
拡張がしやすいとかRubyが採用された理由なのかも
こんな風にかけたりね。
Ruby初学者はちんぷんかんぷんだけどw
%w{vim unzip git mlocate lsof wget}.each do |pkg|
package pkg do
action :install
end
end
0786デフォルトの名無しさん
2016/09/03(土) 13:18:38.92ID:G3gUtM0z処理速度だけが選択基準ならみんなCを選ぶよ
選択基準は開発者のそれぞれだからね
開発速度とかメンテのしやすさとか好き嫌いとか
0787デフォルトの名無しさん
2016/09/03(土) 13:49:20.66ID:RiDSsLxh設定ファイルを書く際、プログラミング言語っぽくなくて読みやすい。
さらに手続きも書ける
SASS もRubyだろ。
Gradle は、Groovy
0788デフォルトの名無しさん
2016/09/03(土) 16:56:47.72ID:w8mOGCX10789デフォルトの名無しさん
2016/09/03(土) 17:03:34.98ID:vCC0oq7q一言でいうと、Rubyは遅いけど書きやすいから
0790デフォルトの名無しさん
2016/09/03(土) 17:04:16.68ID:vCC0oq7q後継だから似てるだろうけど
PerlよりかはRubyの方が
読み書きしやすいと思う
0791デフォルトの名無しさん
2016/09/03(土) 18:05:32.81ID:0ZHQPGtd0792デフォルトの名無しさん
2016/09/04(日) 09:39:54.24ID:pVjNdAS+スクリプト言語の速度なんか目糞鼻糞。
(JavaScriptやLuaあたりだけは別格だけど)
多くのスクリプト言語の用途においてボトルネックになるのは言語の処理速度ではなくIO(ネットワーク、DB、ファイル)。
IOはとんでもなく重い処理なので、
スクリプト言語の実行速度の差なんか誤差レベルで全く無視できる。
あとはちょっとしたツールやバッチだと仮に0.01秒が0.1秒に伸びたところで問題にならないケースも多い。
0793デフォルトの名無しさん
2016/09/04(日) 12:31:44.31ID:C66L8/dkその後、GUIが作られる
次にPythonなどで、類似のフレームワークが作られる。
大規模なサイトでは、速度向上するため、Goなどで作られる
だから、Ruby, Groovy には、文系のアイデアマンが多い。
試行錯誤する実験的な人達が集まる
一方、Pythonでは、理系の数学領域の人が多い
0794デフォルトの名無しさん
2016/09/05(月) 02:22:06.60ID:SdDvLzP6Windows 10
ruby 2.3.1p112 (2016-04-26 revision 54768) [i386-mingw32]
http://fast-uploader.com/file/7028564377998/
Rubyで書いたのは、引数で渡されたファイル名の末尾に
■ このスレッドは過去ログ倉庫に格納されています