Ruby 初心者スレッド Part 58 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
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/
0002デフォルトの名無しさん
2016/03/24(木) 04:01:05.34ID:FJvNCHp3Effective Ruby、2015
メタプログラミング Ruby 第2版、2015
Rubyのしくみ、2014
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
0003デフォルトの名無しさん
2016/03/24(木) 19:11:14.30ID:5a9zwPTf0004デフォルトの名無しさん
2016/03/25(金) 09:00:13.57ID:amKPWQ2XOSSのブラウザ自動テストツール、Selenium WebDriver を使って、
Rubyでテストを書いた本
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説
Rubyのしくみ、2014
Rubyの実装系、Ruby1.9のRuby仮想マシンの本
0005デフォルトの名無しさん
2016/03/27(日) 10:04:22.49ID:zeXJFeRN0006デフォルトの名無しさん
2016/03/28(月) 02:19:58.22ID:NlvcQEtD0007デフォルトの名無しさん
2016/03/30(水) 08:52:01.47ID:8NmKCzQm0008デフォルトの名無しさん
2016/03/30(水) 10:23:11.00ID:pubF0BCKa.count"\\"をやると1とでます
文字列で\¥を\だけにするほうほうおしえくてださい
0009デフォルトの名無しさん
2016/03/30(水) 11:09:52.71ID:14q3t0GC0010デフォルトの名無しさん
2016/03/30(水) 12:05:39.08ID:R5AIxfw4p a #=> "\\"
puts a #=> \
puts a.count('\\') #=> 1
p はデバッグ用関数だから、内部に入っているものが見えているだけ。
ちゃんと、puts a すれば、\ と1文字になる
0011デフォルトの名無しさん
2016/03/30(水) 12:19:47.60ID:MbRjE7fGよくある言語実装のように代入時のままの順序かどうかは保証されていないんでしょうか?
http://stackoverflow.com/questions/17355316/hash-ordering-preserved-between-iterations-if-not-modified
・Ruby1.9 からは保証されてる。信頼してよい。RubySpecのココ見たらいいがな (←リンク切れ) Jun 28 '13 at 0:29
って意見と
・Ruby 2.2.0 からは別に rubyspec に従ってるわけじゃないからな。(実装次第で保証されないって事?) Mar 20 '15 at 4:06
があります。現在はどうなってるんでしょうか?
0012デフォルトの名無しさん
2016/03/30(水) 12:32:31.71ID:MbRjE7fGri Hash してみたら
〜
Hashes enumerate their values in the order that the corresponding keys were
inserted.
〜
と出てきました。
これは今後も保証されると思っていいんでしょうか?
0013デフォルトの名無しさん
2016/03/30(水) 12:55:41.31ID:R5AIxfw4Rubyは知らない
0014デフォルトの名無しさん
2016/03/30(水) 13:29:51.33ID:S0HkEiDsArrayは順番を必ず保証する
なぜなら取り出す順番が保証されていることが配列の存在意義だから
Hashは順番を必ずしも保証しない
なぜなら取り出す順番は連想配列の存在意義じゃないから
それ以上の意味はない
現在の実装は「たまたま」順番が保証されているけどそれはオマケとか親切とかそういうレベルの話
p Time.nowで確実なのは現在時刻を表示することだけであって
表示される文字列を決め打ちして処理にかけてはいけないというのと似たようなものだ
将来ユーザーフレンドリーに日本語で表示されるかもしれない
0015デフォルトの名無しさん
2016/03/30(水) 13:48:45.91ID:mQiL8UBv順番固定で勝手に出てくること自体は構わない
だけど、それを頼りになにか処理を記述するのは非常に奇妙で不快に映る
繰り返すけど、出てくる順番が揃ってるのはいい
それを利用するようなコードを見ると吐き気がする
HashArrayとかOrderdHashとかそういう名前のオブジェクトなら納得するけど、Hashという名前では歴史的名前的にダメ
001612
2016/03/30(水) 14:34:26.61ID:MbRjE7fG0017デフォルトの名無しさん
2016/03/31(木) 00:11:32.35ID:SXg61G2F0018デフォルトの名無しさん
2016/03/31(木) 01:39:56.18ID:hZH1pyKxGUIを用いたりexeにまとめて配布するものまでRubyで行おうとすると、結果的に別言語を習得するのよりコストかかるでしょうか?
試みたことある方いらっしゃいましたら意見くださると嬉しいです
0019デフォルトの名無しさん
2016/03/31(木) 12:59:43.70ID:yy0681Erそれを使う人が勝手に、システムにインストールして使う
RoRのようなWebアプリならあるけど、
Rubyで作った、デスクトップGUIアプリってあるのか?
0020デフォルトの名無しさん
2016/04/01(金) 07:05:17.08ID:6aCBXilE素直にC#とか学んだ方がいいのかもしれませんが、RGSSのようなものを知ってしまったので微妙に未練が……
0021デフォルトの名無しさん
2016/04/02(土) 18:12:28.67ID:CqWvTnZRエラーが出ていて調べたのですが原因がよくわかりません
wsdlは下記を使用しています
http://h-invitational.jp/hinv/hws/varysysdb/soap_search_rs_number.php?wsdl
そして下記のコマンドを実行しました
[root@localhost www]# wsdl2ruby --wsdl 'http://h-invitational.jp/hinv/hws/varysysdb/soap_search_rs_number.php?wsdl' --type client
[root@localhost www]# ruby search_rs_number_execServiceClient.rb
/usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/streamHandler.rb:268:in `send_post': 404: Not Found (SOAP::HTTPStreamError)
from /usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/streamHandler.rb:172:in `send'
from /usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/rpc/proxy.rb:179:in `route'
from /usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/rpc/proxy.rb:143:in `call'
from /usr/lib/ruby/gems/1.8/gems/soap4r-1.5.8/lib/soap/rpc/driver.rb:181:in `call'
from (eval):6:in `search_rs_number_exec'
from search_rs_number_execServiceClient.rb:27
0022デフォルトの名無しさん
2016/04/02(土) 19:33:53.20ID:cgCmjNww「スッキリわかる Java入門 第2版」2014 を読めば?
>>21
HTTP 404は、ホームページ(のデータ)が見つかりません
0023デフォルトの名無しさん
2016/04/02(土) 21:10:59.86ID:0eiGAsV40024デフォルトの名無しさん
2016/04/03(日) 02:37:49.45ID:RpcNuWJWありがとうございます
プログラム側の問題というよりはホームページ側の問題みたいですね
0025デフォルトの名無しさん
2016/04/03(日) 09:43:35.27ID:T0KKITG1ちがう
あなたにHTTPとHTML(やJavaScript(や一般的なサイト運用技術知識))の知識がないがために普通のブラウザの挙動をエミュレートできてない
必要なのはRubyの知識じゃなくってWebブラウザの挙動とHTTP通信とHTMLでのサイトの書かれ方の知識
0026デフォルトの名無しさん
2016/04/03(日) 15:55:17.04ID:RpcNuWJWすみません、指摘していただいたことがうまく理解できないのですが
サーバにリクエストを送って帰ってきたHTMLファイルをブラウザが解析して
表示がされるという程度の認識でした。
自分の想定していた挙動は
>>21の
>[root@localhost www]# wsdl2ruby --wsdl 'http://h-invitational.jp/hinv/hws/varysysdb/soap_search_rs_number.php?wsdl' --type client
を実行して作られたクライアントクラスの中を修正して
>[root@localhost www]# ruby search_rs_number_execServiceClient.rb
を実行すればXML形式で期待する結果が返ってくると思っていました。
0027デフォルトの名無しさん
2016/04/03(日) 16:58:38.52ID:OaDtSrzOその前後の変数の内容を、片っ端から見てみれば?
0028デフォルトの名無しさん
2016/04/04(月) 07:02:52.26ID:UUnGIXWsこういう0..fで構成されたハッシュ値を
>tp://i.imgur.com/nOBxnDb.jpg
>nOBxnDb
みたいな短縮URL風に短くするコード教えて下さい
0029デフォルトの名無しさん
2016/04/04(月) 09:10:25.66ID:jvwKdFAZどこからわからんのかくらいは言って欲しい
16進数を(10進数に置き換えてから)26進数なり52進数なりに計算し直して文字を当てはめる
0030デフォルトの名無しさん
2016/04/05(火) 13:10:42.86ID:wRkvpogr0031デフォルトの名無しさん
2016/04/05(火) 13:12:49.42ID:wRkvpogr0032デフォルトの名無しさん
2016/04/05(火) 13:52:47.37ID:Uvoa8jl9別に切羽詰まった話ではありません、ふと浮かんだ疑問です。
class SecretHeart
def initialize(feeling="")
@feeling = feeling
end
private
def feeling=(any) end
private
def feeling() nill end
end
john = SecretHeart.new("悲しい")
print john.feeling # → error
print john.instance_eval{@feeling} # → "悲しい"
print john.instance_eval{@feeling = "楽しいです!"}
print john.instance_eval{@feeling} # → "楽しいです!"
BasicObject#instance_eval を使えばなんでもアリじゃないですか?
private
def instance_eval() end
こんなoverrideをしても、きっとまだ裏道ありますよね。
0033デフォルトの名無しさん
2016/04/05(火) 14:12:22.26ID:F6iG++QKary = $stdin.readlines
# 1行ずつ処理する
ary.each_line do |line|
line.chomp!
end
0034デフォルトの名無しさん
2016/04/05(火) 14:16:14.23ID:Wtb6QTFr>Rubyで真にprivateなインスタンス変数を作るにはどうしたらいいんでしょうか?
Rubyでは絶対的なアクセス制御はできない
なぜなら「普通に」アクセスした時に拒まれさえすれば用は済むからだ
0035デフォルトの名無しさん
2016/04/05(火) 14:20:10.18ID:Uvoa8jl9了解。 そういう文化なんですね。
0036デフォルトの名無しさん
2016/04/06(水) 00:23:46.52ID:q1HrDxSz0037デフォルトの名無しさん
2016/04/06(水) 01:43:49.90ID:SreJMpRzWin10にしてUbuntu on Windows上でRuby動かすってのはいつからできるんだっけか。
0038デフォルトの名無しさん
2016/04/06(水) 02:33:03.12ID:kRFLofHqわざわざcygwin導入しなくてもコマンドプロンプトで十分
導入してるのならお好きに
0039デフォルトの名無しさん
2016/04/06(水) 07:38:43.97ID:BFsTf7eA環境構築もいらん
0040デフォルトの名無しさん
2016/04/06(水) 11:05:30.04ID:vURaTx4xそしてIDやパスワードを自分からお漏らしするまでがセットか
ttp://codepad.org/recent
初心者向け「だからこそ」ローカルで完結するべき
0041デフォルトの名無しさん
2016/04/08(金) 21:35:25.29ID:/jXs509Gvalidates :password, format: { with: /\A([^@\s]+)\Z/ }
devise :database_authenticatable, :registerable,
:validatable
end
スキャッフォルドで何かアプリケーションを作りたいと思い、scaffoldを使ってdeviseをインストールしました。
そこで編集ページできちんとパスワードが打てるようにvalidateも設定して空白禁止処理を施そうとしましたが、ユーザー登録やユーザーログインで空白をデフォルトで禁止されていて、
編集ページではデフォルトで禁止されておらず、空白が許可されています。
validateでpassword指定して空白禁止すると編集ページで変更するためのパスワードが省略できず、確認用パスワード、現在のパスワードの3回連続で打たなければなりません。
validate、またはほかの場所にどのような処理を施せばよろしいでしょうか?
0042デフォルトの名無しさん
2016/04/08(金) 23:24:07.46ID:R25zKOdT0043デフォルトの名無しさん
2016/04/09(土) 00:40:43.27ID:d9XDMAzzbefore_action とかで空白禁止のバリデーションを edit のときのみ適用すればよいのでは?
0044デフォルトの名無しさん
2016/04/09(土) 23:00:32.93ID:O9j9lH5Y>>19
GUIとEXEもわりと低コストでできるぞ
0045デフォルトの名無しさん
2016/04/10(日) 05:59:09.98ID:QHKhqpLvよければ詳しく
0046デフォルトの名無しさん
2016/04/10(日) 07:24:02.68ID:WTOWAaLYたとえばGUIはTk、EXEはOcraでできる
0047デフォルトの名無しさん
2016/04/11(月) 00:47:25.00ID:zoLHrFMRhttp://i.imgur.com/LrHWsVu.png
0048デフォルトの名無しさん
2016/04/11(月) 01:03:31.98ID:WJsT15xh0049デフォルトの名無しさん
2016/04/11(月) 01:10:55.06ID:uBEcAuw50050デフォルトの名無しさん
2016/04/11(月) 02:21:36.55ID:JpybrsSq0051デフォルトの名無しさん
2016/04/11(月) 06:36:47.71ID:zoLHrFMRhttp://www.rubylife.jp/railsinstall/rails/index1.htmlの手順に従ってやって
その次にhttp://rubyonrails.org/行ってみたけどrailsダウンロードできない
0052デフォルトの名無しさん
2016/04/13(水) 16:29:53.43ID:372sz71r真ん中の10ビットを、上書きするにはどうすればよい?
上書きする演算子が見つからない
0053デフォルトの名無しさん
2016/04/13(水) 17:42:17.15ID:oU5fSDxgbitset = bitset & 0b111111111100000000001111111111 | 0000000000(上書きしたい10ビット)0000000000
ではいかんのか
005452
2016/04/13(水) 18:12:34.54ID:372sz71r元のビットの上書きしたい部分を、0&でマスクしてから、
ORで上書きすれば良かったのか
0055デフォルトの名無しさん
2016/04/15(金) 21:02:46.68ID:qyn/7G/H例えば
puts "Hello, World!"
って左から順に打った場合、"、H、W、!、"のどれかを押した瞬間に固まってそのまま数十秒動かなくなる
その間はCtrl+cとかも無反応
Pry version 0.10.1 on Ruby 2.2.3
Windows 8.1
0056デフォルトの名無しさん
2016/04/15(金) 21:43:29.46ID:kJz9a6FQ0057デフォルトの名無しさん
2016/04/15(金) 22:08:30.22ID:dCoxeauz複雑あるいは面倒な処理を簡単かつ直感的なメソッドチェインで扱えるところが嬉しい
0058デフォルトの名無しさん
2016/04/15(金) 23:38:46.31ID:pdQdC9Xbxor だったら入力のマスクも簡単にできる
bitData ^= ((1 << bitOffset + bitLen) - (1 << bitOffset)) & (bitData ^ (setVal << bitOffset))
0059デフォルトの名無しさん
2016/04/17(日) 00:33:18.57ID:v9XO8+KJ0060デフォルトの名無しさん
2016/04/17(日) 00:55:07.10ID:7GcoLz9W予断持たずにきちんと体系的に学習することをお勧めします
なお「RubyはC++でもJavaでもCでもVBでもない」というのは煽りじゃなく本気のアドバイスです
0061デフォルトの名無しさん
2016/04/17(日) 01:07:34.17ID:BiZQs4Waここまで流行ったのが不思議なほど
0062デフォルトの名無しさん
2016/04/17(日) 22:49:27.40ID:DiLcHZEv>>59
ブロックでは、do 〜 end は複数行で、{ } は1行のみの処理で、使うことが多い
0063デフォルトの名無しさん
2016/04/18(月) 00:49:33.87ID:zxdOCIHuいろんな言語を折衷してるから
書きやすいと思う
書きやすいから流行った
0064デフォルトの名無しさん
2016/04/18(月) 23:52:27.01ID:IbVy+CTe一番最初の検索結果のページに飛ぶやり方がわからない。
検索後ie.document.links.item(0).clickとかやってみたけど全然ダメだった。
ソースを見てみても複雑なjavascriptでよくわからん。
0065デフォルトの名無しさん
2016/04/19(火) 06:12:04.67ID:Zv7m44nm・相手のサーバに目的のHTMLをきちんと表示させられる程度のHTTPの知識
・目的のリンクなり画像なりテキストなりの位置を判断できる程度のHTMLの知識
・目的のリンクなり画像なりテキストなりの位置を表現できる程度のXpathの知識
・通常のWebブラウザではどういう動作をしているのかを分析できる程度のJavaScriptの知識
・通常のWebブラウザでのクリックでどういうことが起こっているかを説明できる程度のWebブラウザ挙動の知識
の5つだ! Rubyスクリプトを作るはずなのにRubyと利用ライブラリの知識という項目が軽視されてることに注目だ!
どういう対象をどういう操作して通常のWebブラウザでいうところのどういう動作にあたるのかを理解せず盲目的に
> 検索後ie.document.links.item(0).clickとかやってみたけど全然ダメだった
とかやってるようでは道程は遠いぞ!
っていうかWebクローラーは初心者的な用途イメージの割にはWeb利用の統合的な技術知識が要求される上に
Googleは超絶効率化のために超絶高度な遣り取りやってるから練習やサンプルには全く適してないんだ! ご愁傷様だったな! Yahoo使えYahoo!
0066デフォルトの名無しさん
2016/04/19(火) 06:20:43.61ID:fF4GXe730067デフォルトの名無しさん
2016/04/19(火) 15:19:46.53ID:DoDYnfhi0068デフォルトの名無しさん
2016/04/19(火) 19:12:04.08ID:kcmoRlAu`method_missing': unknown property or method: `value' (NoMethodError)
0069デフォルトの名無しさん
2016/04/19(火) 21:14:24.24ID:+csqt/Waドキュメント読もう
0070デフォルトの名無しさん
2016/04/19(火) 21:50:54.87ID:kcmoRlAuググれば見つかるもんなの?
0071デフォルトの名無しさん
2016/04/19(火) 22:44:13.44ID:+csqt/Wa浸かったことないが検索したら出たぞ
2.1.0だけど http://docs.ruby-lang.org/ja/2.1.0/library/win32ole.html
0072デフォルトの名無しさん
2016/04/20(水) 06:55:31.98ID:w5hbs5qXエラーになる可能性が無数にあるので、言語どうこうの話じゃない
Rubyで、anemoneの物足りない部分を補完するクローラーを自作した
ttp://qiita.com/tkosuga@github/items/7c1b7bf98a697de66b68
るびきちが、Rubyによるクローラーの本を出している
>>64
そもそも他人の作ったプログラムは、簡単に解析できない。
APIの使い方を、公開していなければ、まず使うのは無理
企業はアプリを解析するのに、普通、1人月百万円以上払う。
それくらい難しいってこと
0073デフォルトの名無しさん
2016/04/20(水) 07:40:43.74ID:IJSlkgxqRubyistの仕事としては最底辺の部類
0074デフォルトの名無しさん
2016/04/20(水) 11:21:11.72ID:TvagBB0uやっちゃだめだぞ。俺はやらされてたが。
0075デフォルトの名無しさん
2016/04/20(水) 22:04:01.92ID:+P5uzrzEまあ、ぼちぼち頑張るか。
0076デフォルトの名無しさん
2016/04/21(木) 09:09:15.15ID:636JdrjZ置換するリネームプログラムってないですか?
Windowsで使えない文字は「< > : * ? " / \ |」。
Linuxで使えない文字は、「/」(他はNull)で
Macで使えない文字は、「 : /」。
ファイルやフォルダはfindで検索するとして、指定ディレクトリの
ファイルやフォルダを「< > * ? " \ |」半角文字を検索し
全て全角に置換したいです。ruby1.8.7希望。
0077デフォルトの名無しさん
2016/04/21(木) 13:53:08.49ID:IzmoSDzeとかで検索したら出てくるけどいくつかあるよ
find の結果の文字列を gsub で置換してやればいいんじゃね?
0078デフォルトの名無しさん
2016/04/21(木) 16:32:18.89ID:636JdrjZどうもです。ファイル名に複数のダメ文字がある可能性があるので一つの記号にgsubするしかないですね。
0079デフォルトの名無しさん
2016/04/21(木) 19:52:32.92ID:iEWNQ8UBってそういう話じゃないか?
0080デフォルトの名無しさん
2016/04/21(木) 20:36:07.43ID:636JdrjZ【Ruby】gsubで複数文字を置換したかった話 | カイトズズキ
http://www.kaitosuzuki.com/posts/406909
str = 'abcdef'
hash = {'a'=>'A', 'b'=>'B', 'c'=>'C'}
puts str.gsub(/a|b|c/, hash)
こんな感じかな。雰囲気はつかめたのでよかった。(^_^;) 楽できそうです。
0081デフォルトの名無しさん
2016/04/21(木) 20:57:51.29ID:/vBm71ZPp '12345'.tr('15', 'lS')
↓
"l234S"
0082デフォルトの名無しさん
2016/04/22(金) 20:35:54.49ID:2DzgCe5nループで回すだけだと思うんだが。
0083デフォルトの名無しさん
2016/04/22(金) 21:25:13.47ID:lAvb/AZz正規表現をキー、一致した文字列を置換する文字列をバリューにとかなら便利なのに
0084デフォルトの名無しさん
2016/04/22(金) 23:51:19.95ID:++t+RWP3require "jcode"
で全角の tr ができるようになる
0085デフォルトの名無しさん
2016/04/23(土) 10:34:50.94ID:5AJaEQrL正規表現だと置換前の文字列が重複しかねなくない?
0086デフォルトの名無しさん
2016/04/24(日) 14:22:44.47ID:Uo+BTEtc存在するドライブやディスクに対して
f = File::open(
0087デフォルトの名無しさん
2016/04/24(日) 14:29:36.53ID:aqqgpD8T0088デフォルトの名無しさん
2016/04/24(日) 18:01:19.78ID:+9N3vohH復号化した後に文字列になったJSONをJSONに戻す良い方法が分からなくて困ってるんだけど、なんか良い方法ない?
0089デフォルトの名無しさん
2016/04/24(日) 18:41:24.15ID:+9N3vohHお目汚し失礼しました
0090デフォルトの名無しさん
2016/04/25(月) 23:22:01.75ID:VbK9UkJ/for i in 10..0
print i
end
ではまちがっているんですか??
0091デフォルトの名無しさん
2016/04/26(火) 00:09:41.02ID:c1+pgvSl10.downto(0){|i| puts i}
0092デフォルトの名無しさん
2016/04/26(火) 01:15:49.37ID:du3QkmSG使うらしいんですけど
0093デフォルトの名無しさん
2016/04/26(火) 01:34:24.43ID:XcjXnWraそんな書き方したことないから自信ないけど、範囲式は逆順指定できないんじゃないかな?
もしかしたら俺が勘違いしてるだけでできるかもしれないけど、普通しない
並びにfor文はあまり使われない
一応あるけど91のようにイテレータを使うのが一般的
詳しくはイテレータで調べてくれ
0094デフォルトの名無しさん
2016/04/26(火) 01:39:20.39ID:XcjXnWra更新してなかった
10.downto 0 → 10から1ずつ減らしてループする
0..10.to_a.reverse → 0から10の範囲オブジェクトを作って配列に変換
それからその配列を逆順に並び替えて、要素それぞれを対象にループ
後者は無駄に長いし、処理時間も増えるし、メモリも食うし、
特別な理由がなきゃわざわざそんなことする意味ない
0095デフォルトの名無しさん
2016/04/26(火) 17:28:12.49ID:6COxB88I一般的なコードに for in なんてないのに。不思議だ。
0096デフォルトの名無しさん
2016/04/26(火) 17:42:42.60ID:du3QkmSGprint iの後になんというコマンドを追加すればいいのですか?
>>90を訂正したヤツだと改行しない結果になるらしいんですけど
0097デフォルトの名無しさん
2016/04/26(火) 17:52:41.48ID:hodGhGMXprint i.to_s + "\n"
print "%d\n" + i
0098デフォルトの名無しさん
2016/04/26(火) 17:53:50.31ID:hodGhGMX修正ミス
0099デフォルトの名無しさん
2016/04/26(火) 18:35:38.41ID:du3QkmSGfor i in 1..9 #ここに範囲
puts i
end
でどう偶数抜いて表示すればいいんですか?
0100片山博文MZ ◆T6xkBnTXz7B0
2016/04/26(火) 18:38:58.99ID:P4FlrKEbfor i in 1..9
puts i if i % 2 == 1
end
0101デフォルトの名無しさん
2016/04/26(火) 18:44:56.52ID:c1+pgvSl0102デフォルトの名無しさん
2016/04/26(火) 19:55:33.70ID:x2RHMR6gawk
0103uy
2016/04/26(火) 20:29:48.28ID:4KSOxSiLこういうとこ住みたいんですけど
1日どのくらいRubyのソースコード書いてれば住めますか?
>>99
ha?
p (1..9).reject(&:even?)
0104デフォルトの名無しさん
2016/04/26(火) 23:11:59.29ID:HvJUwHuI1.step(9,2){|x| puts x}
0105デフォルトの名無しさん
2016/04/27(水) 05:43:58.05ID:dtd6C8pN0106デフォルトの名無しさん
2016/04/27(水) 16:37:59.42ID:wyNXRpNW序盤の標準出力ラッシュで飽きてやめたけど
0107デフォルトの名無しさん
2016/04/28(木) 01:06:23.99ID:QkuSJykk問題はくそなのに、初見だとたまに☆2つとかになってついイライラしてしまう
0108デフォルトの名無しさん
2016/04/28(木) 02:05:42.82ID:cNgqnPtuシンプルで高速なコードが書けるようになる70問、増井 敏克、2015
CodeIQに掲載された問題を、Rubyで解説
「ITエンジニアに読んでほしい!技術書・ビジネス書 大賞(ITエンジニア本大賞)」の受賞作
0109デフォルトの名無しさん
2016/04/28(木) 11:42:25.74ID:B+IQUyxU「Smile Game Builder」を発表。GDC 2016へ出展
http://www.4gamer.net/games/337/G033741/20160317004/
0110デフォルトの名無しさん
2016/04/28(木) 13:22:26.24ID:1hszbTkN0111デフォルトの名無しさん
2016/05/01(日) 08:49:23.40ID:tKi6j9CTBitTorrentがオープンソースで開発されています
言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?
Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al
ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw
The Covenant Project
概要
Covenantは、純粋P2Pのファイル共有ソフトです
目的
インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します
特徴
Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)
接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
e
0112デフォルトの名無しさん
2016/05/01(日) 23:26:41.59ID:GuNd9hsH例えばこれとか
def test
if true
result = 1
end
result
end
#=> 1
なんかめっちゃ違和感ある
0113デフォルトの名無しさん
2016/05/02(月) 00:24:57.68ID:703evd9b0114デフォルトの名無しさん
2016/05/02(月) 00:29:59.79ID:o2fcY4RJ0115デフォルトの名無しさん
2016/05/02(月) 05:30:37.04ID:zpJUdxcqそういや初心者スレだったなココ
というかifの前で変数定義しないと変数持ち出せない言語なんてそうそうないと思うのだが
>>114
最後がendかどうかで構造を判断するのやめれ
君は「endで括られている範囲なのに」と考えているはずだ
endは終了を示すただの記号でしかない
最後の文字ではなく def とか if とか do とか先っぽ見てスコープというか制御構造かどうかを判断しろ
0116デフォルトの名無しさん
2016/05/02(月) 07:19:53.61ID:fVfRKiIw前段どういう話か教えてくんろ
そのあたり疎いんだ
0117デフォルトの名無しさん
2016/05/02(月) 07:28:06.01ID:R0ulJHCeその挙動で良いと思うが
>>114
そっちの方が違和感ある
0118デフォルトの名無しさん
2016/05/02(月) 08:11:00.54ID:HJ2xVTJl実際一貫性がなくて紛らわしいところだから、今設計しなおしたら全部ブロックになりそう
0119デフォルトの名無しさん
2016/05/02(月) 09:56:51.18ID:o2fcY4RJうーん理由としてはあんま納得できないわ
俺も一貫性に欠けてると思う
ちなみに Ruby ではほぼ使われないけど for や while もスコープ作らないからその判別方法は良くない
0120デフォルトの名無しさん
2016/05/02(月) 13:02:10.27ID:s90URipo「ローカルスコープを作るのはdefのみ」でいいよ
外側の名前を上書きするバカはほっとけ
0121デフォルトの名無しさん
2016/05/02(月) 13:22:44.05ID:Nwnpiy9mそういう意味でもやっぱりforやらwhileにスコープある方がしっくりくるわ
0122デフォルトの名無しさん
2016/05/02(月) 15:50:36.97ID:tHMT3Y4S0123デフォルトの名無しさん
2016/05/02(月) 16:03:03.37ID:75TgGWvQまじか知らなかったわサンクス
0124デフォルトの名無しさん
2016/05/02(月) 16:26:43.85ID:R0ulJHCe宣言しておく必要があるとムダだからな
0125デフォルトの名無しさん
2016/05/02(月) 20:35:25.61ID:703evd9bwhen foo then ...
when bar then ...
...
end
とか
a = if x then ... else ... end
とか書けるけどあまりにないしね
0126デフォルトの名無しさん
2016/05/03(火) 00:23:18.99ID:Hk0ecHR9調べたらuruというツールでRubyInstallerでインストールしたRubyを切り替えるようです
しかし現状ActiveScriptRuby1.8.5が入っていて、その1.8.5と新しいバージョンのRubyを使いたいのです
ActiveScriptRubyとuruで管理するRubyInstallerのRubyって共存できるんでしょうか
0127デフォルトの名無しさん
2016/05/03(火) 00:24:59.57ID:9WoSDP+1大人しくrbenvにしとけ
0128uy ◆e6.oHu1j.o
2016/05/03(火) 03:24:55.90ID:gzQ2BK1K日本語の挨拶を例にしてみても
端から一貫性なんて持たせる気が無いように思える
「おはよう」「ございます」
「こんにちは」「NULL」
「こんばんわ」「NULL」
「おやすみ」「なさい」
しかも、「おはよう」「ございます」の対になるのって「こんばんわ」「NULL]なのか「おやすみ」「なさい」なのかどっちだよ?
しかし我々は何不自由なく使ってしまっている
0129デフォルトの名無しさん
2016/05/03(火) 11:26:54.83ID:wFmBMyJC1 :以下、無断転載禁止でVIPがお送りします:2016/04/28(木) 08:01:56.231 ID:EVnE4ji20
ツクツクボーシッ!!!!ツクツクボーシッ!!!!ツククツ、ツククククククク……!!!
アッ ヴィーナス!!!! ヴィーナス!!!!ヴィヴィヴィヴィッ!!!!!
8 :以下、無断転載禁止でVIPがお送りします:2016/04/28(木) 08:05:05.180 ID:rZ8gq0650
ツクツクホーシ!ツクツクホーシ!ッツクツク、ツクツクホーシ!
ッ!ツクツクヴィーヨー!ツクツクヴィーヨー!ツクツクツクツクアアアアア゙ア゙ア゙ア゙ア゙…天
12 :以下、無断転載禁止でVIPがお送りします:2016/04/28(木) 08:24:50.425 ID:SYCMGSQFa
ツクツクウィーヨーンwwwwwwツクツクウィーヨーンwwwwwwウィーヨーンwwwwwwウィーヨーンwwwwwwあああああああああああああああ あ!!!!!!!
0130デフォルトの名無しさん
2016/05/03(火) 11:46:22.66ID:1U/0N7SV変数宣言は、if文よりも前でするべき
そうしないと、ちょっと、if文を修正するだけで、バグが生じる
0131デフォルトの名無しさん
2016/05/03(火) 12:42:53.56ID:9WoSDP+1そういう問題じゃないでしょ
本質掴めてなさすぎ
0132デフォルトの名無しさん
2016/05/03(火) 20:45:46.51ID:gAzicoKMclass Hoge
end
class_name =
0133デフォルトの名無しさん
2016/05/03(火) 20:47:32.30ID:gAzicoKM0134デフォルトの名無しさん
2016/05/03(火) 20:52:05.06ID:KyaiRmb1hoge_class = Module.const_get 'Hoge'
hoge_instance = hoge_class.new
0135デフォルトの名無しさん
2016/05/03(火) 20:53:17.97ID:obzBgI3Nbar = Foo.new
0136デフォルトの名無しさん
2016/05/03(火) 20:54:33.61ID:obzBgI3N0137デフォルトの名無しさん
2016/05/03(火) 21:01:46.16ID:gAzicoKM即レスどうもありがとうございます、助かりました
0138デフォルトの名無しさん
2016/05/04(水) 03:37:31.28ID:/fPdRPlyRubyでエディタのアウトライン表示の見出しになるようなサインみたいのないですか
例えばですけどこんな感じのもので習慣的に使われてるようなもの
#<h1>メインの処理</h1>
0139デフォルトの名無しさん
2016/05/06(金) 16:40:28.33ID:V+H0dCvPhttpから始まらない文字列がメール本文にあって、これをサファリなりクロームなりで開きたいのですがリンクになっていないので、コピペしないといけない状態です。
これをハイパーリンク扱いにしてブラウザに飛ばしたいのですがいい方法ないでしょうか?
ちなみにブラウザに渡るとスマホアプリが呼ばれる仕組みになっています。(引数で個別の画面が呼ばれる)
0140デフォルトの名無しさん
2016/05/06(金) 16:53:28.81ID:j3Cd+A950141デフォルトの名無しさん
2016/05/06(金) 17:16:14.42ID:GOfm3Be0PC版Chromeなら機能拡張で普通にできる
スマホ版と他ブラウザはしらん
0142デフォルトの名無しさん
2016/05/06(金) 17:35:40.79ID:V+H0dCvPすみません、ローカルプロキシ作った後のギミックが、ピンときません。もう少しヒントを。。
>>141
スマホから操作する前提なんです。
htmlメール形式にしたらいけるのかなぁとも思ってるんですがググってもよくわからん。タグが本文に入ってたら勝手にリンクにしてくれるんかなぁ。後でやってみます。
0143デフォルトの名無しさん
2016/05/06(金) 20:16:12.86ID:j3Cd+A95そもそもスマホでwebrickが動くかは知らないが
0144デフォルトの名無しさん
2016/05/06(金) 20:34:26.84ID:j3Cd+A95SSL通信だったらプロキシじゃ無理かもしれないね
0145デフォルトの名無しさん
2016/05/07(土) 01:25:53.16ID:DyCM9yowrubyとGmailとハイパーリンクのどこに共通性あるのかイミフ
メーラーの設定とか機能の話じゃないのかこれは。
0146デフォルトの名無しさん
2016/05/07(土) 02:19:53.44ID:eXsPGCaeRubyでどこをどうしたいのか書いてないのでアドバイスしようがない
0147139
2016/05/07(土) 04:09:28.68ID:TTqm4Ng+スマンカッタ。出直してくる。
0148デフォルトの名無しさん
2016/05/07(土) 05:45:30.51ID:FoUXFEM8メールのリンクからウィルス仕込みサイトに飛ばされるのは感染定番コース
0149デフォルトの名無しさん
2016/05/07(土) 05:52:34.89ID:v072DMKURubyでメーラー自作すれば
好きな挙動できるだろ
0150デフォルトの名無しさん
2016/05/14(土) 19:09:00.68ID:qUyPqMWH#a.rb
require 'logger'
#b.rb
require 'logger'
require 'a.rb'
a.rb,b.rbともに、Logger.info(msg) などで「msg」部分のログへの出力はされるのですが、
↓のような行ごとにログの頭についていた情報が出力されなくなってしまいました。
・Before
I, [2016-05-04T18:00:01.791856 #24646] INFO -- : msg
・After
msg
これは何故出力されなくなってしまったのでしょうか?
また、可能であればrequireの状態は変えずにBeforeのように戻したいのですが、どのようにすれば戻せるでしょうか?
0151デフォルトの名無しさん
2016/05/14(土) 19:21:41.36ID:qUyPqMWHすみません、完全に前提が間違っていました。
正確には、以下をrequireした時にloggerの出力するログが150のようになってしまうようです。
require 'active_support/core_ext'
このログ出力を元に戻す方法を知りたいという質問に変更させて下さい
0152デフォルトの名無しさん
2016/05/14(土) 19:42:21.70ID:/R7YTKmRactive_support/core_ext/logger ってのが logger を上書きしてそうなので、active_support/core_ext/format の方のlogger のフォーマットを指定してあげれば任意の形式で出力できそう
0153デフォルトの名無しさん
2016/05/14(土) 21:51:29.64ID:qUyPqMWHhttp://rubyist.g.hatena.ne.jp/rochefort/20100310
を参考にフォーマット設定したら出力できるようになりました
ありがとうございました
0154デフォルトの名無しさん
2016/05/15(日) 21:09:22.74ID:QEJW4alD0155デフォルトの名無しさん
2016/05/15(日) 21:19:47.57ID:YqlS4XMa0156デフォルトの名無しさん
2016/05/15(日) 21:44:53.64ID:NJhXH/sG俺が見た範囲だと、適性ある奴は一ヶ月もすれば仕事できるレベルになったりもする
逆に駄目な奴は何年やっても使い物にならない
0157デフォルトの名無しさん
2016/05/15(日) 21:56:39.89ID:QEJW4alD俺は作りながら学ぶみたいな本写経してエラーになっても、自分でどうにかしてエラーを取り除いて実行できるくらいしか能がない@2か月目
0158デフォルトの名無しさん
2016/05/16(月) 01:11:03.22ID:RYpks96x質問に回答なんてボランティアで
自分の作りたいものを作れることが重要だと思う
期間は人によって違うので一概に言えないが
まずは小物でいいのでアプリを作れるまではひたすら修行
作れたら後は好きに作ってるとある程度は勝手に上手くなる
0159デフォルトの名無しさん
2016/05/16(月) 12:46:48.74ID:DkcwsRla簡単な質問には群がりますが
難しい質問には答えられません
0160デフォルトの名無しさん
2016/05/16(月) 14:14:17.34ID:aQMyk4Hoあの条件式だけ入れるみたいなの以外
どうプログラムの全体像みえるようにするために
forとかランダム式以上の知識いれていけば
いいの???
0161デフォルトの名無しさん
2016/05/16(月) 14:31:01.74ID:OrJq5QDghttp://store.toyokeizai.net/magazine/toyo/20160516/
今すぐ始めるプログラミング
小学校にプログラミング教育を導入する
rubyだと年収600万円、本当かいな
0162デフォルトの名無しさん
2016/05/16(月) 14:38:16.89ID:rbeFnNS90163デフォルトの名無しさん
2016/05/16(月) 14:38:55.54ID:DkcwsRla0164デフォルトの名無しさん
2016/05/16(月) 15:03:24.52ID:IBGTyv6pその複合のプログラミングなんか出来るわけねーだろ
義務教育の留年制度さきにつくれや
0165デフォルトの名無しさん
2016/05/16(月) 18:26:58.17ID:lq1JqEcP0166デフォルトの名無しさん
2016/05/16(月) 21:56:49.34ID:NgImICvk何か次にやったら良さそうなおすすめなことをおしえてください
0167デフォルトの名無しさん
2016/05/16(月) 22:00:46.70ID:tTjqYMnb0168デフォルトの名無しさん
2016/05/16(月) 22:50:40.11ID:RYpks96x自作コマンド作ってみるとか
たのしいRuby読んでたらできるでしょ
0169デフォルトの名無しさん
2016/05/16(月) 23:18:09.63ID:NgImICvk0170デフォルトの名無しさん
2016/05/17(火) 11:15:55.60ID:NWTAtPGBOSや実行環境の知識だからなー
0171デフォルトの名無しさん
2016/05/17(火) 12:26:40.03ID:DX0ymGPY言語やインフラの細かいことなんか他人やGoogleに聞けば済む話だけど、
設計だけは個人の経験や能力に強く依存する
0172デフォルトの名無しさん
2016/05/17(火) 15:25:50.55ID:aNTJjeU00173デフォルトの名無しさん
2016/05/17(火) 17:08:38.12ID:9orynTFq勉強する?
0174デフォルトの名無しさん
2016/05/17(火) 18:00:08.28ID:CnuAkB4H0175デフォルトの名無しさん
2016/05/17(火) 18:55:21.66ID:eRIY89eq0176デフォルトの名無しさん
2016/05/17(火) 19:24:53.34ID:0ndBRKVSひとつ、ふたつ、みっつ、よっつ、いつつ!
0177デフォルトの名無しさん
2016/05/17(火) 23:42:54.72ID:cKpkeDSB0178デフォルトの名無しさん
2016/05/17(火) 23:54:52.00ID:PFL7J48p0179デフォルトの名無しさん
2016/05/18(水) 00:11:20.05ID:ot/2Utg30180デフォルトの名無しさん
2016/05/18(水) 00:47:52.39ID:K/5XOq2K最近ruby始めたばっかりなんですが
rubyの変数って一般的な言語における変数とは全然概念が違うんですね…
i = 5
i = i +1
ってやると
一つめの実行式で5というオブジェクトにiという付箋をつける
二つめの実行式でiの付箋を6というオブジェクトに貼り替えるって感じでいいんです?
なんか他の言語とは概念が逆な感じで驚いてます
0181デフォルトの名無しさん
2016/05/18(水) 00:51:31.83ID:ot/2Utg3え?
有名どころの言語でも大体一緒だけど…
0182デフォルトの名無しさん
2016/05/18(水) 00:59:26.97ID:K/5XOq2Kあれ、そうなんですか…
C言語だと宣言するとメモリのスタック領域に変数型分の領域が確保されて
その中身の数値が入れ替わるっていう風に習ったので…
逆にCの方が特殊と思った方がいいんでしょうか…
0183デフォルトの名無しさん
2016/05/18(水) 01:30:34.37ID:BFM6WmVS考え方が違うだけで起こることは大体一緒。
代入は代入で変わらないけど、代入するものが必ずオブジェクトなだけ。
0184デフォルトの名無しさん
2016/05/18(水) 04:34:37.35ID:BFM6WmVS混乱の元は、数値、文字列がオブジェクトだってところに
あるんだと思うけど、そこは慣れたら逆にわかりやすい。
0185デフォルトの名無しさん
2016/05/18(水) 11:13:44.00ID:tltkMhqB0186デフォルトの名無しさん
2016/05/18(水) 14:49:34.18ID:yDy1hpmHCが特殊
0187デフォルトの名無しさん
2016/05/18(水) 16:55:42.20ID:u7J2zmglrubyのintはobjectでありかつprimitiveでもある
0188デフォルトの名無しさん
2016/05/18(水) 22:39:52.30ID:fCMOVnrJこの本は初心者にはむずかしいですか?
英語は大丈夫です
0189デフォルトの名無しさん
2016/05/18(水) 23:33:07.26ID:+FiiBQuR英語で勉強したほうがいい
0190デフォルトの名無しさん
2016/05/19(木) 01:35:45.58ID:6QrHkYGVprimitiveにメソッドを呼ぶと、オブジェクトに変換する。
Boxing, Unboxing
ただし、ループ内で大量に変換されると遅くなるため、この変換は避けた方がいい
一方、Rubyではすべてがオブジェクトだから、1つに付き、16バイト?を使うが、変換はしない。
ただ、数値などは直接ポインタに納めて、メモリを節約している
0191デフォルトの名無しさん
2016/05/19(木) 01:38:12.77ID:sIW2z0LAなんで初心者に嘘ついてんだ。
>>188
元々rubyは日本出身の言語で日本語の情報が充実してるから、
rubyに限っては日本語書籍の方が良い可能性もある。
その本は読んだ事無いから知らないけど
0192デフォルトの名無しさん
2016/05/19(木) 07:32:25.18ID:l7SG7AlgDir.glob("/Users/xxxxx/Desktop/**/*", "/Users/xxxxx/test/**/*") do |filename|
記述すると
test.rb:11:in `glob': can't convert String into Integer (TypeError)
でエラーになります。片方だけにするとエラーはないのですが、
Dir.globで複数ディレクトリの指定は出来ないのでしょうか?
0193デフォルトの名無しさん
2016/05/19(木) 08:06:41.37ID:JUfHMrn+http://docs.ruby-lang.org/ja/1.8.7/method/Dir/s/=5b=5d.html
0194デフォルトの名無しさん
2016/05/19(木) 08:46:18.92ID:JUfHMrn+Dir.glob("/Users/xxxxx/Desktop/**/*\0/Users/xxxxx/test/**/*")
Dir["/Users/xxxxx/Desktop/**/*", "/Users/xxxxx/test/**/*"]
0196デフォルトの名無しさん
2016/05/19(木) 17:09:52.29ID:l7SG7Alg0197デフォルトの名無しさん
2016/05/19(木) 17:20:38.74ID:JUfHMrn+(おそらく)どのバージョンでも>>194は動くよ
あとDirはメドッソ名じゃなくてクラス名だよ
たぶんDir.[]のことを言いたいんだろうけど
0198デフォルトの名無しさん
2016/05/19(木) 20:10:11.72ID:uWcto14Q0199デフォルトの名無しさん
2016/05/19(木) 20:15:57.16ID:X6Uyl1SE> …… 感じでいいんです?
そんな感じでだいたい合っているよ
あと以下でも引数渡しにおける変数の概念が丁寧に解説されている
・Rubyist Magazine - 値渡しと参照渡しの違いを理解する
http://magazine.rubyist.net/?0032-CallByValueAndCallByReference
> なんか他の言語とは概念が逆な感じで驚いてます
たしかにC/Pascal/Fortran/Cobolといった手続き型言語における
変数の概念とは大きく違っているね
ただしRubyにおける変数の概念は、Lisp/MLといった(破壊的代入を許容する)
関数型言語における変数と類似している
というか、オブジェクト指向Lispを手続き型言語風の構文糖で包んだのが
Rubyの本質なんだと思う
・Lisp から Ruby への設計ステップ | プログラマーズ雑記帳
http://yohshiy.blog.fc2.com/blog-entry-250.html
0200デフォルトの名無しさん
2016/05/19(木) 20:46:38.83ID:MKa/yUEp0201デフォルトの名無しさん
2016/05/19(木) 20:50:13.84ID:0NGD4TAz0202デフォルトの名無しさん
2016/05/19(木) 22:33:03.86ID:MKa/yUEpこんなかんじ?
0203デフォルトの名無しさん
2016/05/19(木) 22:38:09.82ID:8tkESgzVそうじゃない
0204デフォルトの名無しさん
2016/05/20(金) 00:04:24.82ID:o172VlqL0205デフォルトの名無しさん
2016/05/20(金) 01:15:23.68ID:KIw+nUhS0206デフォルトの名無しさん
2016/05/20(金) 03:14:06.44ID:5Uv57k1E0207デフォルトの名無しさん
2016/05/21(土) 00:15:47.42ID:TJV+wjVxHeroku の笹田耕一が、命令を中間コードに折りたたむ、
Ruby仮想マシン(RubyVM)を作ったのは、2004年のRuby 1.9 から
0208デフォルトの名無しさん
2016/05/22(日) 17:09:47.75ID:xX01J0kV勉強中だからとか若いからとかいうのを免罪符にして
わかったふりして嘘を垂れ流すクズ
傀儡っていう自覚あるのかな
0209デフォルトの名無しさん
2016/05/22(日) 20:11:08.18ID:gMsVcx92プログラム芸人って?
0210デフォルトの名無しさん
2016/05/22(日) 21:54:03.17ID:yMwTDWKPそういうタレントなんか、相手すんな、気にするな。
0211デフォルトの名無しさん
2016/05/24(火) 22:57:15.19ID:XEe/ObJRRuby用のGUIはTKを一緒にインストールしました。
ウェブアプリケーション用の記事やレイルズ関連の話が多く、自分で使う用の簡易なデスクトップアプリはRubyで作成可能なのかよくわかりません。
選択やプルダウンをいくつか選ぶと、エクセル等に計算結果が自動出力されるものをつくりたいのです。
0212デフォルトの名無しさん
2016/05/24(火) 23:02:11.55ID:Zf7m21lMただしなにかめっちゃテキスト処理するというならそこはRubyのほうがいいかも
0213デフォルトの名無しさん
2016/05/24(火) 23:11:29.51ID:XEe/ObJRそもそもデスクトップ上でのみ動くようなもの(特にGUI)を作るのには、初心者にはあまり優しくはないですよね
0214デフォルトの名無しさん
2016/05/24(火) 23:14:10.63ID:2NWdMlbv0215デフォルトの名無しさん
2016/05/24(火) 23:15:38.91ID:XVnpS8ZnVBとかはWindowsに特化してる分だけ簡単になるんよ。
Linuxでも動かしたいとかの場合は逆にRuby/TKになるけどね
0216デフォルトの名無しさん
2016/05/24(火) 23:28:05.99ID:XEe/ObJR全然アプリ作成がイメージできないから、結構買っちゃったRubyの本たちどうしよう。
0217デフォルトの名無しさん
2016/05/24(火) 23:56:26.69ID:ODiJmRGM0218デフォルトの名無しさん
2016/05/25(水) 00:04:55.01ID:0fASXL2x近場なら買取に行くのにな
0219デフォルトの名無しさん
2016/05/25(水) 08:35:17.92ID:bbq7lHBGてかJavaScriptにすれば?Electronとか流行ってていいんじゃね?
0220デフォルトの名無しさん
2016/05/25(水) 12:32:03.88ID:RqoGasre凝ったUIにしようとすると死ねるけど
0221デフォルトの名無しさん
2016/05/25(水) 12:43:12.66ID:ECOeuz5z解説も多いし
0222デフォルトの名無しさん
2016/05/25(水) 14:51:30.25ID:JMqhkYJXテンプレートをエクセルで作っておいて
Rubyなりで選択やプルダウンした結果をテンプレに挿入して
出力する造りにすると楽
0223デフォルトの名無しさん
2016/05/25(水) 14:52:11.16ID:JMqhkYJXそれな
0224デフォルトの名無しさん
2016/05/25(水) 17:30:55.16ID:pZYZ14wu0225デフォルトの名無しさん
2016/05/25(水) 18:09:07.32ID:wY/Wnuvz言語自体は簡単だろ
0226デフォルトの名無しさん
2016/05/25(水) 18:13:47.52ID:UjzgjwETこういう勘違いして時間を無駄にする被害者を増やさないためにも、
Ruby開発陣はもうWindows相手にする気無いんだからはっきりそうアナウンスするべき
0227デフォルトの名無しさん
2016/05/25(水) 18:13:57.93ID:JMqhkYJX0228デフォルトの名無しさん
2016/05/25(水) 18:17:31.67ID:JMqhkYJX明言しちゃったら予算税金ぶんどれなくなるからじゃね
0229デフォルトの名無しさん
2016/05/25(水) 18:19:31.06ID:CBm2j+F0今ではコミュニティが完全にRailsに乗っ取られちゃってもうダメだね
公式のVer.Upアナウンスで「Railsのパフォーマンスを改善しました」とか普通に言っててもう完全にRails専用スクリプト
0230デフォルトの名無しさん
2016/05/25(水) 20:09:42.99ID:o7owtJWOつかったことないけど。
0231デフォルトの名無しさん
2016/05/25(水) 21:15:35.26ID:ijFGsv4R彼らの目は覚まさせなければならない
どんな犠牲を払ってもね
不快とかではなく害悪だ
0232デフォルトの名無しさん
2016/05/26(木) 00:01:52.65ID:HY9T5R8V0233デフォルトの名無しさん
2016/05/26(木) 00:03:07.06ID:HY9T5R8V結局perlな気がする
0234デフォルトの名無しさん
2016/05/26(木) 01:24:50.33ID:UjMbTLsxだから、VS Code, Bash on Windows でも、Python, Ruby のサポートが最優先
0235デフォルトの名無しさん
2016/05/26(木) 01:39:34.33ID:/SAceF4R0236デフォルトの名無しさん
2016/05/26(木) 13:42:44.17ID:PPtVZd97終わってんな
0237デフォルトの名無しさん
2016/05/26(木) 13:43:38.01ID:PPtVZd97放送大学のプログラミングの授業はRuby使っとった
0238デフォルトの名無しさん
2016/05/26(木) 14:15:25.09ID:looUebM70239デフォルトの名無しさん
2016/05/26(木) 15:54:40.68ID:QgXVvdFH0240デフォルトの名無しさん
2016/05/26(木) 16:09:51.98ID:PPtVZd97自己責任
0241デフォルトの名無しさん
2016/05/26(木) 20:43:44.33ID:kf6+V6jXこちとらC, Scheme, Javaだったぞ…
0242デフォルトの名無しさん
2016/05/26(木) 21:04:26.33ID:gEBgfilRみたいなのを東大出身者にやられてから10年程度しか経ってないと思うと感慨深い
0243デフォルトの名無しさん
2016/05/27(金) 10:05:35.18ID:M1a78pSKお前、東大の理系の学生だろ
0244デフォルトの名無しさん
2016/05/27(金) 11:51:43.10ID:+931Hxzrどこの學校?
0245デフォルトの名無しさん
2016/05/27(金) 16:26:46.66ID:HURQQ888http://gigazine.net/news/20160524-hello-ruby-review/
プロジェクトの開始からわずか3時間で目標額の1万ドル(約100万円)に到達
0246デフォルトの名無しさん
2016/05/27(金) 17:03:59.14ID:a5zDK+Zd0247デフォルトの名無しさん
2016/05/27(金) 17:40:10.41ID:yYwIsK/3某田舎の高専
0248デフォルトの名無しさん
2016/05/28(土) 00:20:50.45ID:PtZBoQp9小学生はそろばんとか、1+1=2 とか、言語能力など、暗記型の単純なものしかできない
判断や思考は、できない
0249デフォルトの名無しさん
2016/05/28(土) 00:53:58.83ID:HvcbCyzV小学生舐めすぎ
0250デフォルトの名無しさん
2016/05/28(土) 08:30:37.99ID:87dv3xOx0251デフォルトの名無しさん
2016/05/28(土) 11:28:04.15ID:GLCLhEM2おまわりさんこっちです
0252デフォルトの名無しさん
2016/05/28(土) 12:00:38.49ID:YkPoIoOS親や環境の影響によると思う
0253デフォルトの名無しさん
2016/05/28(土) 12:01:49.75ID:YkPoIoOS出来ないやつは大人になっても出来ない
もちろん多くの人間はその中間でしかない
0254デフォルトの名無しさん
2016/05/28(土) 23:14:33.76ID:vZatrWbmrubyを始めようと思っているのですが、基礎から教えてくれるサイトなどを教えていただきたいです
0255デフォルトの名無しさん
2016/05/29(日) 00:06:18.34ID:VvL70MFqサイトは知らない
本ならテンプレ参照
0256デフォルトの名無しさん
2016/05/29(日) 04:14:13.12ID:RrRCCmyQ0257デフォルトの名無しさん
2016/05/29(日) 12:12:31.80ID:9WWbP5OA0258デフォルトの名無しさん
2016/05/29(日) 12:32:35.29ID:fkiT89OT芸人?
0259デフォルトの名無しさん
2016/05/30(月) 01:22:02.02ID:3DZnNVRd0260デフォルトの名無しさん
2016/05/30(月) 13:39:12.86ID:JuVY621L&.とか全然メソッドじゃないですか
うそじゃないですか
0261デフォルトの名無しさん
2016/05/30(月) 15:50:13.85ID:sT3Um2rG0262デフォルトの名無しさん
2016/05/30(月) 16:45:26.45ID:sT3Um2rG>再定義できない演算子(制御構造)
>演算子の組合せである自己代入演算子は再定義できません。
> = ?: .. ... not && and || or ::
http://docs.ruby-lang.org/ja/2.3.0/doc/spec=2foperator.html
0263Ruby初心者
2016/05/30(月) 21:37:38.47ID:FFEidQWcRubyの勉強を始めようと思いhttp://rubyinstaller.org/からRubyのインストーラーを
ダウンロードしたのですが、rubyinstaller-2.2.4.exe など
KINGSOFT Internet Securityでマルウェア潜伏を検知しました。(tclpip85.dll)
これは誤検知なのでしょうか?
ご存じの方、よろしくお願いします。
0264デフォルトの名無しさん
2016/05/30(月) 22:40:36.17ID:IRxQFxClKINGS○FT Internet Securityとかいう、
某特亞ソフトがマルウェアですぞい。
ということで、窓OSでRubyを使うのもやめなはれ。
マジレスすると、誤認識。
所詮、アレは特亞だから、さっさとアンインストールしはなれ。
0265デフォルトの名無しさん
2016/05/30(月) 23:40:12.61ID:CvrnMKOQ卵を残しているからuninstallしたあと、有料ソフトを入れて全スキャン
norton eset カスペルスキーなどを推奨
0266デフォルトの名無しさん
2016/05/31(火) 20:06:20.39ID:wtf3ir0YNEC特殊文字がないか検索したいんだけど、
str.encode('Windows-31J') =~ /[�@-�I]/
みたいな式を書いてもIncompatibleだと怒られます
どうすればいいのでしょうか?
0267デフォルトの名無しさん
2016/05/31(火) 20:59:36.26ID:7tSTm6mV0268デフォルトの名無しさん
2016/06/01(水) 00:14:51.04ID:91rys83Lせっかくなので答えると
&は
def &(other)
end
で定義可能
.は演算子でなく区切り文字
0269デフォルトの名無しさん
2016/06/01(水) 04:44:46.68ID:bpjRczp90270デフォルトの名無しさん
2016/06/01(水) 12:25:44.58ID:dPnMKqYG0271デフォルトの名無しさん
2016/06/01(水) 12:30:21.40ID:Fp4IytvVそもそもなぜ演算子すべてがメソッドじゃないと「嘘吐き」になるのかもわからない
0272デフォルトの名無しさん
2016/06/02(木) 07:24:34.00ID:lxZxN/+Hプログラミングとはそういうもんだし安全側に倒した検知というのもそういうもんだ
キングソフトのアプリケーションの使用を勧めるものではないが
0273デフォルトの名無しさん
2016/06/02(木) 12:24:43.10ID:hpz40EtU分からないんだね
0274デフォルトの名無しさん
2016/06/04(土) 01:10:14.44ID:5FXvcCojrbenvをインストールしたいんだけど、gitの基本を学ぶのに良い書籍かサイトを教えて下さい。
ruby 2.1.xか2.0.x系でgitのインストールが書かれている本でも可です。
0275デフォルトの名無しさん
2016/06/04(土) 01:35:12.26ID:3lsMjWzhローカルPC内に、コピーしてあるファイルに、上書きできる
そして、ネット回線がつながった時に、サーバーにあるリポジトリに保存すればいい
このように、皆がローカルファイルに対して、上書きしているから、
リポジトリに保存する際、他者とのコンフリクトがよく起きるので、うまく調整すべし
0276デフォルトの名無しさん
2016/06/04(土) 02:51:29.78ID:n5pCla5O0277デフォルトの名無しさん
2016/06/04(土) 03:27:04.44ID:C4qvAlJn0278デフォルトの名無しさん
2016/06/04(土) 04:04:36.35ID:HeBl+5ND例えばpythonで書くなら下記のようなイメージです。
if sys.version_info < (3, 4):
sys.exit('version error')
0279デフォルトの名無しさん
2016/06/04(土) 04:14:00.42ID:5FXvcCojrbenvをインストールするためにgit clone出来るところまででOKです。
rbenvでrubyのバージョン管理をする - Qiita
http://qiita.com/MasahiroSakoda/items/b66f92df80b375f7c786
git clone [email protected]:sstephenson/rbenv.git ~/.rbenv
The authenticity of host 'github.com (192.30.252.128)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.252.128' (RSA) to the list of known hosts.
Permission denied (publickey).
0280デフォルトの名無しさん
2016/06/04(土) 05:59:42.06ID:kjZDZHcigitの事は調べられないのか
ついでに言っとくと、rbenvは良いとしてもgitはスレ違い
gitの事はgitのスレ行って聞いた方が良い
0281デフォルトの名無しさん
2016/06/04(土) 07:34:17.81ID:n5pCla5Orbenvの作者はgitを
「rbenvをいんすとーるするぷろぐらむ」
「rbenvをあっぷでーとするぷろぐらむ」
としか使ってない(少なくとも利用者に向けては)
現時点では全く難しいこと考えずに上記の2つのコマンドラインを呪文として使うといい
その探求心はあとあと君を助けるだろうし呪文じゃないものを呪文として積み残さないことにもつながるだろう
プログラミングにはオマジナイなんて存在しないのさ ※ローカルレガシー解明職業者以外向けの文言
んでとりあえず今はrbenvを入れることのほうを優先しろw
0282デフォルトの名無しさん
2016/06/04(土) 11:28:20.81ID:X9sTQ23fRUBY_VERSION か `ruby -v`でバージョン情報を取得すれば?
0283278
2016/06/04(土) 18:00:02.31ID:SsvSKySHできました!ありがとうございます。
perlからの移行なのですが、perlの use warnings; (一度も定義されていない関数を使用するとワーニングを出す)に相当するものはありますか?
0284278
2016/06/04(土) 18:02:18.28ID:SsvSKySH0285デフォルトの名無しさん
2016/06/04(土) 18:09:56.30ID:X9sTQ23fhoge rescue 例外処理
例外オブジェクトは$!で得られる
0286デフォルトの名無しさん
2016/06/05(日) 04:51:30.39ID:bEHxSIM9RUBYOPT環境変数 -w
$VERBOSEグローバル変数 true
これらのウォーニングは?
0287284
2016/06/05(日) 13:26:35.11ID:Nzi0oWQlありがとうございます。
シェバンを使ってるので下記のようにしたところ、エラーになりました。
#!/usr/bin/env ruby -w
そこで、下記のようにしたところ、うまく動きました。
#!/usr/bin/env ruby
$VERBOSE=true # nil false true
この $VERBOSE 以外にもおすすめの設定などありますでしょうか?
$-W は $VERBOSE と同じようですが、下記2つを設定しても特に変化はなさそうでした。
$-v=true
$-w=true
0288デフォルトの名無しさん
2016/06/05(日) 13:42:43.61ID:sTpf+U42なんでマルチしようと思ったの?
0289デフォルトの名無しさん
2016/06/05(日) 16:47:36.99ID:V1+RWzEFdef <=>(other)
〜〜
end
end
というのを定義したとして、
<=>の左右を取り換えても同じ結果になるように
class Array
def <=>(other)
return 〜〜 if Foo === other
ここに<=>の古い定義による処理
end
end
みたいに書きたいんですが、可能でしょうか?
イメージとしてはsuperみたいな感じを思い浮かべています
0290デフォルトの名無しさん
2016/06/05(日) 16:58:06.72ID:yB2MQIFp> <=>の左右を取り換えても同じ結果になるように
その考え方自体がおかしい
あと>>288はテストケース書くことを覚えるといいぞ
0291デフォルトの名無しさん
2016/06/05(日) 17:08:54.52ID:V1+RWzEF左右取り換えても同じ結果っていうのは
Fooオブジェクトfoo <=> Arrayオフジェクトarray
が 1 なら
Arrayオブジェクトarray <=> Fooオフジェクトfoo
は -1 になる、っていう意味でした(0の時は不変)
すみません
テストケースというのも調べてみます!
0292デフォルトの名無しさん
2016/06/05(日) 23:24:46.76ID:bEHxSIM9$VERBOSEグローバル変数は、プログラム実行時に設定されるから、
コンパイル時には警告が見れないらしい
コンパイル時・実行時で、使いわけてくれ
>>289
9 <=> "9" → nil
Effective Ruby の項目13に書いてあるけど、
異なるクラス間では、<=> 宇宙船演算子は比較不能で、nil を返すのが無難
型変換か、ダックタイピングで考えた方が、無難
0293デフォルトの名無しさん
2016/06/06(月) 10:29:45.98ID:4LJvtaQKいくつか方法がある
http://d.hatena.ne.jp/rubikitch/touch/20080504/1209835550
0294デフォルトの名無しさん
2016/06/06(月) 11:05:15.34ID:4LJvtaQKリンク先よく見ずに貼っちゃったけど
そういう場合はprepend/superだな
Module FooExt
def <=>(other)
return 〜〜 if Foo === other
super
end
end
class Array
prepend FooExt
end
0295デフォルトの名無しさん
2016/06/06(月) 11:47:47.85ID:MfRp00K1Rubyではなんでもできるなにしても許されるなんて思い上がってた時代の遺物ではある
今は標準クラスの拡張をしなくて済むような方法をなんとか模索するのが普通
普通の言語になっちゃったって? まあねえ
0296デフォルトの名無しさん
2016/06/06(月) 12:13:03.09ID:G3lOY9F4Yahoo!知恵袋みたいな回答だな
0297デフォルトの名無しさん
2016/06/06(月) 12:55:43.54ID:uH2v6H5pどうもありがとうございます!
prependがちょうど想定していたようなものでした!
0298デフォルトの名無しさん
2016/06/06(月) 13:06:00.10ID:LOH+gXPe十年前はムダに意識高かったな
0299デフォルトの名無しさん
2016/06/06(月) 15:33:00.64ID:MfrgUwdVちなみに多分関係ないと思うけど、
数値っぽいクラスを作るときはNumeric#+とかを再定義するんじゃなくてFoo#coerceを定義するんだぞ
http://docs.ruby-lang.org/ja/2.1.0/method/Numeric/i/coerce.html
0300デフォルトの名無しさん
2016/06/06(月) 17:30:53.24ID:uH2v6H5pcoerceを知らずに、まさにやらかそうとしてました
重ねてありがとうございます!
0301デフォルトの名無しさん
2016/06/09(木) 20:20:07.54ID:biKmaAAlNet::HTTP クラスというのが出て来たのですが、ここで使われている::の記号はNetクラスのHTTPメソッドを呼び出しているとみて良いのでしょうか?
0302デフォルトの名無しさん
2016/06/09(木) 20:28:02.35ID:OsIQiMsDFOO$bar Fooクラスのbarメソッド
0303デフォルトの名無しさん
2016/06/09(木) 20:28:44.66ID:XKw/hvPS面倒なら階層区切りの記号だとでも思ってくれ
Windowsエクスプローラーの\
URLの/
0304デフォルトの名無しさん
2016/06/09(木) 20:28:48.01ID:OsIQiMsD$じゃなくて#ね
0305デフォルトの名無しさん
2016/06/09(木) 20:46:09.43ID:biKmaAAlあるクラスのインスタンスメソッド名は
マニュアルではクラス名#メソッド名
クラスメソッドの名前表記には
クラス名.メソッド名
クラス名::メソッド名
というのがだいぶ前のページにありまして、それに従って解釈すると
Net::HTTPはNetクラスのHTTPメソッド
って事になるのだけれど、irbでNetクラスが呼び出せないのでおかしいなと。
0306デフォルトの名無しさん
2016/06/09(木) 20:51:52.35ID:OsIQiMsDhttp://docs.ruby-lang.org/ja/2.3.0/library/net=2fhttp.html
0307デフォルトの名無しさん
2016/06/09(木) 21:50:59.90ID:bVgVhSJZ0308デフォルトの名無しさん
2016/06/09(木) 22:07:37.30ID:c+D8jpow0309デフォルトの名無しさん
2016/06/09(木) 22:35:18.52ID:j0nSzaIT○自宅検索員
0310デフォルトの名無しさん
2016/06/10(金) 00:58:53.85ID:w12bLHXo>ここで使われている::の記号はNetクラスのHTTPメソッドを呼び出しているとみて良いのでしょうか?
いや、それは間違いだよ
正しくは「::の記号はNetモジュールのHTTPクラスを参照している」と読む
・Rubyでは、名前空間として階層的な(=入れ子になった)モジュール構造を定義できる
・Rubyでは、クラスClassはクラス Modouleを継承している(=サブクラスである)から、クラスも(モジュールと同様に)階層的なモジュール構造を定義できる
・記号::は、この階層的な名前のパスを区切るために用いられる(>>303)
たとえば Net::HTTP::Getは、モジュールNet内で定義されたクラスHTTPの
更にその中で定義されたクラスGetを指す
くわえて Net::HTTP::Get::METHODは、前記のクラスGet内で定義された
定数METHODを指す
http://www.h6.dion.ne.jp/~machan/tmdoc/example/net.book/html/tmdoc.def.Net.HTTP.Get.html
$ irb
>> require 'net/http'
=> true
>> Net::HTTP.new('127.0.0.1')
=> #<Net::HTTP 127.0.0.1:80 open=false>
>> Net::HTTP::Get::METHOD
=> "GET"
>>
0311デフォルトの名無しさん
2016/06/10(金) 01:05:31.69ID:w12bLHXo>それに従って解釈すると
>Net::HTTPはNetクラスのHTTPメソッド
>って事になるのだけれど、
Rubyでは:
・モジュール/クラス/定数は、英大文字で始まる
・メソッド/ローカル変数は、英子文字で始まる
という決まりがあるから、記号HTTPは
(メソッドではなくて)モジュールもしくは
そのサブクラスであるクラスを表すものと推測すべき
0312デフォルトの名無しさん
2016/06/10(金) 03:03:40.39ID:1r2/ZPeGこれの2つめは初心者混乱するだろ
どうしても2つめを書きたいならFoo#barとFoo.barの違いと一緒に伝えるべき
0313デフォルトの名無しさん
2016/06/10(金) 23:17:05.17ID:bspATi8a昔のMacOSでは:がフォルダ階層のパス区切り記号に使われていたらしいから、開発者はAppleUserだった?
0314デフォルトの名無しさん
2016/06/11(土) 06:13:16.75ID:Z1WdmHmpC++由来
残念でした
0315デフォルトの名無しさん
2016/06/11(土) 11:55:15.68ID:peVuG0iDhttps://pbs.twimg.com/media/Cko0bn9VAAANiKM.jpg
https://pbs.twimg.com/media/Cko0cHtUUAAvUQo.jpg
https://pbs.twimg.com/media/Cko0cbrUYAYeAnc.jpg
0316デフォルトの名無しさん
2016/06/11(土) 19:18:48.19ID:iSPIsEmM0317デフォルトの名無しさん
2016/06/11(土) 20:06:42.47ID:tJYHO1Aeたぶんこいつ
https://chomado.com/
0318デフォルトの名無しさん
2016/06/12(日) 02:29:41.59ID:GVmUZEwV0319デフォルトの名無しさん
2016/06/12(日) 11:23:16.13ID:xN9NR8mnちょまどの絵は好みじゃないけど、
CPUの創り方
の絵を描いた絵師さんを知りたい。
0320デフォルトの名無しさん
2016/06/12(日) 14:16:10.54ID:5Z+bF2WO0321デフォルトの名無しさん
2016/06/12(日) 16:09:48.75ID:nE4rQ5a5http://livedoor.blogimg.jp/rogyweb314/imgs/3/b/3b3ad6de.png
0322デフォルトの名無しさん
2016/06/12(日) 17:10:50.81ID:cSvEa/akストーキングしたいので教えてくださいって。
0323デフォルトの名無しさん
2016/06/12(日) 21:14:18.29ID:4Gt33m04スレチだけど
本文イラスト 須田 都 って書いてた
0324デフォルトの名無しさん
2016/06/13(月) 01:42:21.85ID:BHwe7pwoビルドの進捗状況を報告させることってできます?
時間かかってるときに固まってるのか進んでるのかわからない・・・
0325デフォルトの名無しさん
2016/06/13(月) 03:03:23.43ID:I6MCNyjd0326デフォルトの名無しさん
2016/06/13(月) 15:11:26.91ID:zgrawcOEスレチだけど
本文執筆者と絵師は同一人物ってことになるな
0327デフォルトの名無しさん
2016/06/13(月) 18:07:35.31ID:3kyYR2Nyスレチだけど
著者は渡波 郁 になってたよ
0328デフォルトの名無しさん
2016/06/13(月) 18:18:33.22ID:LOYYlPRQいい加減黙れ
0329デフォルトの名無しさん
2016/06/13(月) 19:09:49.77ID:Q+rjY21+スレチだけど、下の名前が同じだから、ペンネームかもね
0330デフォルトの名無しさん
2016/06/13(月) 20:10:53.27ID:EyvJcWZd出版毎に
行くぞ幽霊作家
ゴーストライター
0331デフォルトの名無しさん
2016/06/14(火) 01:09:38.96ID:6xiZrmBIRuby/GSLだとちょっとオーバースペック過ぎて…
0332デフォルトの名無しさん
2016/06/14(火) 10:21:33.16ID:dYSnVaKQ規模は、Model数でいうと20個くらいです。
Controller的なものもRubyで、Viewはありません。
で、データベースアクセスにActiveRecordを使ってみようと思ったんですが、establish_connection()に
250msくらいかかってしまいます(localのPostgreSQLに対して)。
これだと、Model用のテストで、データベース接続だけで250*20=5秒もかかってしまいます。
これを改善する方法はありますか?
・establish_connection()そのものを速くする方法
・test/unitを使ったテストでデータベース接続を共有する方法など
環境は、
ruby 2.3.1p112
activerecord (4.2.6)
CentOS release 6.8
0333デフォルトの名無しさん
2016/06/14(火) 13:07:34.64ID:Xw3W+KJl割とマジで
0334デフォルトの名無しさん
2016/06/14(火) 13:58:36.80ID:dYSnVaKQ情報サンクス。
irubyはハードルが高そうなので、とりあえずjrubyで試してみるかと思ったけど、jruby + pg + activerecordな
環境を作るのさえハードルが高そうです。
$ irb
irb(main):001:0> require 'pg'
=> true
irb(main):002:0>
となるのに、
$ ruby test.rb
Gem::LoadError: Specified 'postgresql' for database adapter, but the gem is not loaded. Add `gem 'pg'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).
というエラーが。
$ ruby -v
jruby 9.1.2.0 (2.3.0) 2016-05-26 7357c8f Java HotSpot(TM) 64-Bit Server VM 25.45-b02 on 1.8.0_45-b14 +jit [linux-x86_64]
ちょっとあきらめモードです。
0335デフォルトの名無しさん
2016/06/14(火) 14:05:30.93ID:bPd6E78Aこれよくわからんのだけどデータベースはひとつじゃないの?
モデルはテーブルに当たると思うのだが
0336デフォルトの名無しさん
2016/06/14(火) 14:24:28.45ID:dYSnVaKQモデルの数=models/*.rbのファイル数=test/*_test.rbのファイル数
となると思ってます。
*_test.rbを1プロセスでまとめて実行できれば、データベース接続も共有できそうな気がするんですが、
現状では*_test.rbそれぞれを別プロセスで実行し、それぞれデータベースに接続してます。
全体的にActiveRecordを使った方が楽になりそうではあるんですが、ノウハウが無いのと接続が
遅いということで、現状はPG::connect()して直接pgのメソッドを使ってコーディングを進めてます。
0337デフォルトの名無しさん
2016/06/14(火) 22:17:59.99ID:Kzbvzu4bDBMS(PostgreSQLサーバ)への接続にいくらかの時間を要するのは当たり前のこと
普通はDBMSにはアプリ起動時(あるいは初回のアクセス時)に接続してそれを維持する
また、すこし規模が大きくなれば(=「それほど小さくはない」規模になれば)、
コネクションプールといった技法も要求される
それから「250*20=5秒」という計算式について、この20という定数は何の値かな?
もしModel(=テーブル)の数ということであれば、根本的なところで勘違いしてるよ
DBMS上で複数のデータベースを定義して、そのデータベース単位にコネクションを確立する
だからデータベース内に存在する複数のテーブル(=Model)をアクセスするのに、
あらたにコネクションを張る(=データベースに接続する)必要は無い
0338デフォルトの名無しさん
2016/06/15(水) 02:30:34.57ID:Gm0oH8T8だいたいRuby やワイスの格好見てみろ
フリフリのミニスカとか戦闘する気あんのかと
0339デフォルトの名無しさん
2016/06/15(水) 10:14:53.09ID:0Hf+sg/L> DBMS(PostgreSQLサーバ)への接続にいくらかの時間を要するのは当たり前のこと
その「いくらか」のオーダーは、直接接続するのとactiverecordを使用するのとでは大きく異なります。
--
t = Time.now
PG::connect(:host => 'localhost', :user => '**', :password => '**', :dbname => '**')
puts Time.now - t
--
=> 0.003679357
> それから「250*20=5秒」という計算式について、この20という定数は何の値かな?
test-unitを使ったテストファイルの数です。
user_test.rbとか。それがModelの数分できるので20ファイルくらいできる予定です。
> だからデータベース内に存在する複数のテーブル(=Model)をアクセスするのに、
> あらたにコネクションを張る(=データベースに接続する)必要は無い
現状では、20ファイル(できる予定)のテストを1プロセスで実行できる方法が見つかっていないので、
それぞれ別プロセスで実行していて、そのためデータベースへの接続も20回必要になります。
0340デフォルトの名無しさん
2016/06/16(木) 22:27:32.05ID:DrR6OXvdnil[0]=0
が例外にならないんだけど、なぜだろう?
Ruby2.2だと、ふつうに例外になるのに。
Ruby2.3.0でも、nil[0]なら例外になる。
なんかおかしい気が。
0341デフォルトの名無しさん
2016/06/16(木) 22:46:45.58ID:lq2RMnrwバグ報告しましょう
0342デフォルトの名無しさん
2016/06/16(木) 23:21:17.48ID:T2EM03jj0343デフォルトの名無しさん
2016/06/16(木) 23:36:15.65ID:G8mFGz+4とかしてもNameErrorにすらならないんだな
0344デフォルトの名無しさん
2016/06/16(木) 23:54:18.82ID:neKk6sZN0345340
2016/06/17(金) 10:43:12.89ID:SNT89ii+お、たすかる。
2.3.1のWindows版バイナリはまだ配布されてないので。
やっぱりバグで、修正されたんやね。
0347デフォルトの名無しさん
2016/06/17(金) 11:50:15.28ID:wk6+tOOo0348デフォルトの名無しさん
2016/06/17(金) 12:57:18.13ID:hG7B1m7h>nil[0]=0
1.8.7 だと無事エラーになった
0349デフォルトの名無しさん
2016/06/17(金) 13:29:02.01ID:WSjlHFjC0350デフォルトの名無しさん
2016/06/17(金) 14:21:01.72ID:SYFwm9MP231で修正されてるならあんまり気にしなくて良さそうだね
0351uy ◆e6.oHu1j.o
2016/06/17(金) 16:33:46.05ID:GkjZw5OCYAMLで読み書きをしてるコードをしばらく動かしていたら
c:/ruby/lib/ruby/2.3.0/psych.rb:377:in `parse': (<unknown>): did not find expected key while parsing a block mapping at line 2 column 1 (Psych::SyntaxError)
ロードエラーが出てきて、
ファイル開いてみると確かにデータのインデントが変な風に書き込まれていました(20回分くらいのデータは正常に書き込まれています
読み書きは
YAML.load_file( YAML_FILE )
と
YAML.dump( yaml , open( YAML_FILE , 'w') )
でやっています
間違ったデータを書き込んでる原因は模索中です
YAML.dumpで書き込んだデータが
YAML.load_fileで読めないケースってあるんですか?
書き込まれていたのはこんなデータです
http://echo.2ch.net/test/read.cgi/tech/1458735404/:
uy:
- '9999'
http://echo.2ch.net/test/read.cgi/tech/1458955459/:
uy:
- '9999'
- '2'
http://echo.2ch.net/test/read.cgi/tech/1462970810/:
uy:
- '9999'
- '9999' ← これが間違って書き込まれているデータ
0352uy ◆e6.oHu1j.o
2016/06/17(金) 16:36:29.12ID:GkjZw5OCインデントがおかしくなりました 修正
http://echo.2ch.net/test/read.cgi/tech/1458955459/:
uy:
- '9999'
- '2'
http://echo.2ch.net/test/read.cgi/tech/1462970810/:
uy:
- '9999'
- '9999'
0353デフォルトの名無しさん
2016/06/17(金) 17:24:52.68ID:WSjlHFjC再現するソースを貼りなさい
0354デフォルトの名無しさん
2016/06/17(金) 17:34:13.83ID:8Hiy7fy+>YAML.dumpで書き込んだデータが
>YAML.load_fileで読めないケース
>← これが間違って書き込まれているデータ
自分で論理的に原因の切り分けも出来ないくせに原因特定するなんて馬鹿のすることです。
0355uy ◆e6.oHu1j.o
2016/06/17(金) 18:48:19.99ID:GkjZw5OCuy式会社uyの守秘義務があるので貼れません
>>354
もう少しわかりやすくお願いします
自分が知りたいのは
YAML.dump( yaml , open( YAML_FILE , 'w') )
↑ の時
変数:yaml にどのような値を入れて .yamlファイルを作成した場合に
この c:/ruby/lib/ruby/2.3.0/psych.rb:377:in `parse': (<unknown>): did not find expected key while parsing a block mapping at line 2 column 1 (Psych::SyntaxError)
エラーが出現するかという事ですが
一般的な方法で再現する方法は存在しないという事で良いですか?
いま現在いくつかのエラーチェックを入れ再び同スクリプトを稼働し
原因特定のため全変数を.txtでdumpしながら走らせて3時間程になりますが
今のところエラーは出現していません
0356デフォルトの名無しさん
2016/06/17(金) 19:13:18.67ID:YpnIY8DDRubyがPythonのようなポジションを得られなかったのはなぜか
http://developers.srad.jp/story/16/06/17/0827240/
最近日本でもPython本急に増えた印象あるよね。
やばいのかなRuby。
0357uy ◆e6.oHu1j.o
2016/06/17(金) 21:55:15.96ID:GkjZw5OCほぼ同じ別のスクリプトで再発し今度はさらに状態の悪いデータになっていたので原因は確定しました
どうバグを回避し表面化させないかというフェイズに移行します
ありがとうございました
本番環境はruby1.9.3なので古いバグを踏んだものと思う事にします
0358デフォルトの名無しさん
2016/06/18(土) 15:29:35.92ID:AGMP56QnPythonに負けた理由なら
1. 実行速度が遅かった
2. Windowsへの対応がひどかった
じゃね
他にもあるかも知れん
0359デフォルトの名無しさん
2016/06/18(土) 15:37:16.15ID:Au7MFafKそもそも勝負にすらなってない
0360デフォルトの名無しさん
2016/06/18(土) 15:59:35.05ID:RKqldoZsただ、あれで終わり。
みんなの記憶にしか残らない散った存在。
Ruby はまだこれから成長する。
この差は大きい。
0361デフォルトの名無しさん
2016/06/18(土) 16:49:47.95ID:SI6NucGb長けてる領域が違うだけの話
0362デフォルトの名無しさん
2016/06/18(土) 19:27:38.85ID:AGMP56Qnこんなにたくさんレスが付くとは思わなかった
0364デフォルトの名無しさん
2016/06/18(土) 20:10:04.10ID:SI6NucGbなんかすまん
個人的にdisってるわけじゃないので気にしないでくれ
ちなみに俺はRubyの方が好き
0365デフォルトの名無しさん
2016/06/18(土) 21:19:07.41ID:bpHrap68Ruby に謝れ
0366デフォルトの名無しさん
2016/06/18(土) 21:45:00.52ID:QKdVDmdUGUIに対応させるのは、面倒
一方、黒魔術(メタプログラミング・実装)系の良本が多い
メタプログラミング Ruby 第2版、2015
Effective Ruby、2015
Rubyのしくみ、2014
0367デフォルトの名無しさん
2016/06/19(日) 12:37:38.12ID:5KvSKdL/黒魔術でもpythonの方が書きやすいな
0368デフォルトの名無しさん
2016/06/19(日) 16:46:12.80ID:rmVET6vi0369デフォルトの名無しさん
2016/06/20(月) 01:21:45.09ID:HoUv0dJ2http://img01.deviantart.net/c0e3/i/2013/346/1/5/rwby_genderbent_by_mechanicale-d6xq7tb.jpg
0370デフォルトの名無しさん
2016/06/20(月) 09:01:35.78ID:XE/E5M6R勉強しなおしています。以下のコードで理解できない場所があります。
n cats = [] = 1
cats[0] = "Kuro"
cats[1] = "Tama"
cats[2] = "Mike"
cats[3] = "Tara"
puts(cats[n])
cats[0] = "Shiro"
2〜4行目は配列catsに4つの要素を代入しているんだろうということはわかります。そして6行目は0番目の要素にShiro
を代入したのでKuroが消えている?のだろうということもわかる気がします。ところが、5行目のputs(cats[n])「は配列0〜3
までの要素をすべて表示する」と私は考えたのですが、本に「はcats[1]の値を表示」となっています。知りたいことは以下の2点です。
1.そもそもn cats = [] = 1とはどういう意味なのか、n cats = []は空配列を作るという意味ではないのか。なぜそのあとに=1と続くのか。
2..puts(cats[n])としか書いてないのになぜ、1番目が入るのか。
基本的なところから理解していなくて申し訳ありません。詳しい方のご教授をお願いします。
0371デフォルトの名無しさん
2016/06/20(月) 09:12:09.51ID:Kk80zM3kSyntaxError: unexpected '=', expecting end-of-input
n cats = [] = 1
5冊読む前に1冊でも理解した方が良いよ
0372デフォルトの名無しさん
2016/06/20(月) 09:24:31.93ID:XE/E5M6Rありがとうございます。そうですよね、エラーが出るんです。おかしいな、間違って書いてないとおもうのですが。
あとはあなたのおっしゃる通りなのですが、プログラム自体が初めてでなるべく簡単そうな本を探して自学しています。
でおどの本も途中から猛烈に難しくなって「こりゃ駄目だ」と思ったら次の本という繰り返しで弱っています。
0373デフォルトの名無しさん
2016/06/20(月) 09:25:44.54ID:Kk80zM3kn cats = [] = 1
はまず [] = 1 ってのが実行されようとするからその時に構文エラーになる
n, cats = 1, []
の見間違いじゃない?
0374デフォルトの名無しさん
2016/06/20(月) 09:40:16.81ID:Kk80zM3kn cats = [] = 1 は結局は
n = 1
cats = []
としたかったんだろう
この前提の下なら370の言っていることは概ね正しい
そして n = 1 なので
puts(cats[n]) は
puts(cats[1]) ってことで1番目の要素が出力されることになる
0375デフォルトの名無しさん
2016/06/20(月) 09:43:21.95ID:XE/E5M6Rおお、すごい。ありがとうございます。ちゃんとTamaが表示されました。うれしい。
今、改めて本を読みなおしてみたんですが、やっぱりn cats = [] = 1となっていました。
自分のようなど素人がこれをやられるとどうにもなりません。どこがわからないのかわからない
というのは情けない限りですが、おかげさまで納得して先に進むことができました。ありがとうございました。
0376デフォルトの名無しさん
2016/06/20(月) 09:45:26.19ID:XE/E5M6Rおお、わかりやすい説明ありがとうございます。助かりました。
0377デフォルトの名無しさん
2016/06/20(月) 09:51:56.08ID:Tc3CU3LQ0378デフォルトの名無しさん
2016/06/20(月) 10:29:34.75ID:OWUJ8xtdせっかくこれから新しいのを覚えるというチャンスなのに10年後廃れている
言語を学ぶのはもったいない
0379デフォルトの名無しさん
2016/06/20(月) 11:06:36.37ID:XE/E5M6Rそうですね、何で最初から出版社のホームページを見なかったんだろう…
>>378
いや、実はRubyが学びたいのではなくて人工無能を作成して将来、人工知能の勉強へとつなげられればと思って勉強しています。
そもそもなんでRubyなのかというと、10年ほど前に「恋するプログラムRubyでつくる人工無能」という本を購入しまして、
最初は「おお、面白い」と呼んでいたのですが、その内、配列?ハッシュ?インスタンス変数?とつぎつぎにわけのわからない
言葉がでてきました。これはもう本格的にRubyってやつを勉強しないとどうにも読めないなと考えて一念発起して、Rubyの解説書を
買いまくりました。ところがこれがさっぱり何を言ってるのかわからない…。なんせ、プログラムと言えば大学の時にちょろっとベーシックを
かじった程度でそのまま放置でしたから。
とりあえず、3冊買って読みましたが、「これは自分には無理だ」とあきらめ、数年が過ぎたのです。ところが幸か不幸か、今年は自由な時間が
取れまして(理由は深くは突っ込まないでください)、ふと本棚を見ると、ああこんなの買ったなあと思い出しました。よし、せっかくの機会だ。
なんとかがんばってRubyってやつをマスターしてやろうと今に至った次第です。とにかく、なんとしても「恋するプログラムRubyでつくる人工無能」
という本が理解できるようになりたいです!
長々とすみませんでした。
0380デフォルトの名無しさん
2016/06/20(月) 12:33:22.39ID:6a0VacLi0381デフォルトの名無しさん
2016/06/20(月) 15:04:19.05ID:zSeivZg9> Rubyは、Windows対応で負けている。
> GUIに対応させるのは、面倒
気になったので試してみました
mswin版は1.8で少し調べてオワコンっぽい感じがしたので
動作確認したものはx86-mingw版のみで以下の組み合わせ
[2.3] fxruby gtk2 gtk3
[2.2] fxruby qtbindings-4.8.6.1 gtk2 gtk3
[2.1] fxruby qtbindings-4.8.6.1 gtk2-3.0.7 gtk3-3.0.7
[2.0] fxruby qtbindings-4.8.6.1 gtk2-3.0.7 gtk3-3.0.7
[1.9] fxruby qtbindings-4.8.3.0 gtk2-2.2.0 gtk3-2.2.0 wxruby-ruby19
[1.8] fxruby qtbindings-4.8.3.0 gtk2-1.2.1 wxruby
fxruby : まったく問題なし。
wx : 2系で使えないのが残念。
qt : QtSDKが300MB超とデカイのが気になるところ。
gtk : 依存パッケージのバージョン解決が甘いので
(gtk3自体はruby1.8に対応しているが依存パッケージがruby>=1.9を求めるので不可だったり
依存パッケージのバージョン上限が設定なされていない為
--ignore-dependencies, gem sp xxxなどしながら個別に入れる必要があった)
古いバージョンを使う時には少々手間がかるのがネック。
自分の場合は慣れたqtかgtkかの二択だけど
fxrubyが http://rubyinstaller.org/downloads/ にも明記されてるぐらいなので無難だと思う。
0382デフォルトの名無しさん
2016/06/20(月) 16:37:55.79ID:RVn5oxXAその本読んだけど
無脳本は目標として良いと思うよ
人工知能は最先端だから超難しいけど
人工無脳は基本が分かれば難しくない
マルコフ連鎖だけちょっと
何やってるか分かりにくいけど
ハッシュでしりとりみたいなこと
させる仕組みは単純で感心する
コードを読んで動作をイメージ
できるようになれば分かる
0383デフォルトの名無しさん
2016/06/20(月) 16:41:50.02ID:RVn5oxXAGUIキットは本の(Visualu Ruby)にこだわらず
今の新しいライブラリ使った方が便利
0384デフォルトの名無しさん
2016/06/20(月) 16:47:39.38ID:78XmmaUtもしこれが本当なら
かなり恥ずかしい部類の
誤植だな
0385デフォルトの名無しさん
2016/06/21(火) 12:37:52.56ID:na89rYIQ0386デフォルトの名無しさん
2016/06/21(火) 13:24:02.94ID:LE9F52CG首吊ってくるレベル
0387デフォルトの名無しさん
2016/06/21(火) 17:03:07.87ID:W3C4RKeOありがとうございます。まあ、他の言語を試せばいいのでしょうけど、こうやってわからなかったら次の言語とやってると、同じことがあった時にまた引越しなきゃならなくなる
のでがんばってRubyをマスターすることにします。
さて、「Rubyの絵本」のループの中断まで勉強が進みましたが、以下のコードの違いがよくわかりません。どなたかご教授よろしくお願いします。#の部分は自分が理解しやすいように
かってにコメント文章をつけたものです。よろしく願します。
a = 0
while a < 5
if a == 2
a = 10
next
end
print(a, "")
a += 1
end
aの値がwhile文の条件に合致している間はループ。
(1回目ループ)aに0が入っているが、if文が成立しないのでnextの下へ行き、a0と表示されてaが1になり、2回目のループに入る。
(2回目ループ)aに1が入っているが、if文が成立しないのでnextの下へ行き、a1と表示されてaが2になり、3回目のループに入る。
(3回目ループ)aに2が入っているが、if文が成立するのでaの値が10になるが、nextが発動し今の処理はなかったものとされ、aの値は2のまま?
似たようなプログラムがredoでもあるのですが、そちらはまあなんとか理解できます。問題はnextのほうで、今一つ理解できません。a=2のままなら無限ループするんじゃないかと自分では思ったのですが、
実際の出力結果は
a0
a1
となっているので、何か勘違いをしているのだと思いますがそれがなんなのかわかりません。長文申し訳ありませんがよろしくお願いします。
0388デフォルトの名無しさん
2016/06/21(火) 17:27:16.66ID:rdnhr1yO1 と出力してから a += 1 によって a == 2 になって2行目へ行く。
次のループでは a == 2 なので a == 10 になってまた2行目へ行く。
a < 5 は false なので while〜end は実行されずに終了する。
0389デフォルトの名無しさん
2016/06/21(火) 17:28:05.78ID:397g3bwN言語の引っ越しはしないで正解
C++、Javaとか他のメジャーな言語は
だいたいRubyより難しいよ
実行速度を速くしたいときとかに使う
コードの方は
nextについて「勘違いをしている」
nextの後whileの条件節で
偽になるから無限ループしない
0390デフォルトの名無しさん
2016/06/21(火) 17:29:54.69ID:LE9F52CG0391デフォルトの名無しさん
2016/06/21(火) 17:36:43.51ID:397g3bwN5でもいいよ
>nextが発動し今の処理はなかったものとされ
これが勘違いね
0392デフォルトの名無しさん
2016/06/21(火) 17:39:26.71ID:rdnhr1yO元は print(a, "\n") だったのかな
0393デフォルトの名無しさん
2016/06/21(火) 18:01:59.82ID:MNNlgPEV0394デフォルトの名無しさん
2016/06/21(火) 18:09:39.05ID:mjvOmEo60395デフォルトの名無しさん
2016/06/21(火) 18:10:26.89ID:W3C4RKeOそっか、なるほど!条件文がfalseになってるからwhile文のendまですっ飛ばされるわけですね!
すっごくよくわかりました。ありがとうございます。「a=10がなかったことになる」のではなくて、
a=10のままwhile文の条件文を吟味するんですね。やっとわかりました。
それから今頃なんだと怒られるかもしれませんが、今一度本を読み返してみたら、nextとredoで
戻る場所が違ってたんですね。めんぼくない。redoだと条件文にジャンプしないからa=10のまま出力される
というわけですね。なんでもいいけど、難しいなあ。皆さんよくこんな複雑なものをマスターできましたね。
自分の頭が悪いのかな。まあ、とにかくがんばります!そのほかの皆さんの回答もありがとうございました。
0396デフォルトの名無しさん
2016/06/21(火) 19:01:29.78ID:VP/Q8JMz元の本を知らんからアレだが…
あとRubyは簡単ではないと思う
それなりのことをサクッとやるのは簡単だけど
0397デフォルトの名無しさん
2016/06/21(火) 19:08:43.11ID:rdnhr1yOまあ俺ならこう書くが
5.times{|i|
break if i == 2
puts i
}
0398デフォルトの名無しさん
2016/06/21(火) 19:21:50.55ID:gJMymMte5.times{|_|-~p(_)!=2||break}
0399デフォルトの名無しさん
2016/06/21(火) 19:48:13.62ID:mn7QpJSfわけワカメ
0400デフォルトの名無しさん
2016/06/21(火) 20:30:33.33ID:gJMymMtep *(0..5).first(2)
0401デフォルトの名無しさん
2016/06/22(水) 06:25:24.35ID:jdKVcriHdef a
p 'A'
end
end
module B
def b; a; end
def a
p 'B'
end
end
class X
include B
include A
end
p X.ancestors #=> [X, A, B, Object...]
p X.new.b
"A"
"A"
なぜ、2回もAが表示されたの? Bが表示されない
モジュールB内で、aを呼んだときは、静的スコープのB.a を読んでくれないな。
常に動的に、X, A, B の順に、aを探すのか
「メタプログラミング Ruby」1.6章より
0402401
2016/06/22(水) 06:34:16.68ID:jdKVcriH静的スコープのB.a を呼ぶ方法はないの?
動的言語だから、無理なのか?
0403デフォルトの名無しさん
2016/06/22(水) 08:04:36.14ID:AQa0dSs+ひっかけ問題かな。p の数を数えてみろ。
0404デフォルトの名無しさん
2016/06/22(水) 08:07:48.65ID:AQa0dSs+C++ みたいなクラス名修飾は無いね。別の名前を付けるしか
0405デフォルトの名無しさん
2016/06/22(水) 11:45:54.25ID:yBOVYSweその考え方は良くない
0406デフォルトの名無しさん
2016/06/22(水) 12:30:51.61ID:3DCeoZi+わけワカメ
0407デフォルトの名無しさん
2016/06/22(水) 17:17:51.11ID:7oRMeHhGfoo bar, baz { 0 }
これって動作違うのな、テスト書いてたらエラー出てびっくりしたわ
0408デフォルトの名無しさん
2016/06/22(水) 18:15:16.93ID:gUQq/XMB考え方として良くない
短くなっても保守しにくくなる
0409401
2016/06/22(水) 20:22:56.84ID:jdKVcriH自己レス
>p X.new.b
ここにも、p を付けていたから、2回表示された
>>407
意味わからん。カッコで囲んで
0410デフォルトの名無しさん
2016/06/22(水) 20:31:09.09ID:1DvIaRNW>モジュールB内で、aを呼んだときは、静的スコープのB.a を読んでくれないな。
>常に動的に、X, A, B の順に、aを探すのか
p X.ancestors #=> [X, A, B, Object...]
この結果を見れば明らかで、B, A の順序で include したのだから
Rubyの仕様に従った振る舞いな訳だけど、何が問題なの?
リファレンスを熟読してRubyの仕様を理解したほうがいいと思うよ
基礎ができていないのにメタプログラミングに手を出すのが挫折の原因だ
>>402
> 静的スコープのB.a を呼ぶ方法はないの?
ないよ
やるならクラス X の定義において、 include の順序を逆にする
> 動的言語だから、無理なのか?
いや、動的言語のRubyでも(モジュールやクラスを含む)定数の宣言は静的だよ
【ここで静的とは、一度宣言した値を後から(破壊的に)更新できないことを意味する】
できない理由は、上で書いたように「Ruby の仕様」だから
そのRubyの仕様に不満があるなら、多重継承とその問題点、および Mix-in が考案された
背景を勉強してから、Rubyコアへ次期Rubyの仕様変更案として提案すればいい
0411デフォルトの名無しさん
2016/06/22(水) 21:15:23.44ID:os3fAditいやあるだろ
普通は使わんやり方だけど
0412デフォルトの名無しさん
2016/06/22(水) 21:15:23.89ID:V2EBWOtThttp://rurema.clear-code.com/2.3.0/doc/spec=2fcall.html
リファレンスにがっつり書いてる
0413デフォルトの名無しさん
2016/06/22(水) 21:16:15.70ID:k2RSEIyn0414デフォルトの名無しさん
2016/06/22(水) 21:19:37.78ID:49vA2QspいまだにProcを使うツボがよくわからん
メソッドを新たに定義するのではダメなの?
0415デフォルトの名無しさん
2016/06/22(水) 22:18:19.16ID:Q+XBk88Y本来人間が直接触るもんじゃないので気にしなくていい
Rubyはメタプログラミングだのと抜かして中身を弄り回そうとする馬鹿が多いが、
あんなのはバッドノウハウであってカッコイイことでも何でもない
0416デフォルトの名無しさん
2016/06/22(水) 22:40:21.74ID:V2EBWOtTメソッドはクラスに属してなきゃいけないけど、それだとめんどくさいときとかに使える
0417401
2016/06/22(水) 22:45:04.32ID:jdKVcriHdef b; a; end
def a
p 'B'
end
end
静的言語では、bを呼んだら、同じモジュール内の、aを呼ぶのが自然。
モジュールBのbを呼んで、次にaを呼ぶ際、異なるモジュールのaを呼ぶとは普通、思わないだろw
モジュールBを書いている奴は、当然同じモジュール内の、b・aを想定している
これぐらい静的スコープから、解決してほしい
0418デフォルトの名無しさん
2016/06/22(水) 22:51:38.89ID:1DvIaRNWすぐに思いつくのは2つのケース
1. メソッドへ複数のブロックを渡したい時
2. メソッド定義するまでもない短い処理を定義したい時
1. は自明だと思うから省略するとして、2. の例:
複数のイベントに応じてアクションを実行したい時、
Actions = {
:eventA => Proc.new {|x| …. },
:eventB => Proc.new {|x| …. },
:
}
とHashでテーブル化しておいて、
Actions[event].call(x)
と呼び出す
アクションの中身が複雑で長いコードならば可読性のある命名で
メソッドを定義すべきだろうけど、たとえば変数に代入するだけとか
単にライブラリ関数を呼ぶだけなんてケースでメソッド定義は面倒だよね
そんな時にはProcを使って、明示的にブロックオブジェクト(=クロージャ)を生成する
(ただし、個人的には Proc.new ではなく lambda といふ記述を好むけどね)
0419デフォルトの名無しさん
2016/06/22(水) 22:54:00.17ID:jdKVcriHproc, lambda, block(&) は、コード・処理を持ち運んで、後で、call で実行できる。
blockは、yield で、callback してもらえる
以下は、即時実行っていうこと?
proc{〜}.call
lambda{〜}.call
0420デフォルトの名無しさん
2016/06/22(水) 23:09:35.89ID:1DvIaRNWだから静的言語とか静的スコープとかは関係ないよ
Mix-in とは無関係で、ただ単にモジュール関数を呼びたいのなら、
以下のように書きなさい
module B
module_function
def b
a
end
def a
p 'B'
end
end
詳しくは「Ruby モジュール関数」でググりなさい
>>410を繰り返すけど、リファレンスから module_function を見つけられない
君のレベルでメタプログラミングに手を出すのは子供じみた無茶な背伸びだよ
それよりもっと基本的なRubyのプログラミング技法を学んでからにしなさい
0421デフォルトの名無しさん
2016/06/22(水) 23:40:23.32ID:V2EBWOtTあくまで主役はXなんだから、Xから見て早く見つかる方を選ぶのは当然の話
静的言語の Scala にも Module と似たような trait があるが、結果は Ruby と変わらない
trait C {
def a: String
}
trait A extends C {
override def a = "a"
}
trait B extends C {
def b = a
override def a = "b"
}
class X extends A with B
class Y extends B with A
(new X).b // => "b"
(new Y).b // => "a"
0422デフォルトの名無しさん
2016/06/22(水) 23:42:12.64ID:gUQq/XMBコールバックに使う
0423デフォルトの名無しさん
2016/06/23(木) 08:10:59.54ID:LmS7lhU+無名関数の代わりに使う
0424デフォルトの名無しさん
2016/06/23(木) 21:24:51.44ID:O+dpjAURそれともいっそ、管理者が登録するデータベースとユーザーが変更するデータベースを同じにしてアクセス権限で表示するビューを切り分けた方が良いでしょうか?
アドバイスよろしくお願いします。
0425デフォルトの名無しさん
2016/06/23(木) 21:54:12.06ID:M8iyAzNM0426デフォルトの名無しさん
2016/06/23(木) 23:16:42.11ID:O+dpjAURどの本読んでもそう書いてあったんですがこの場合で使えないということはないですよね?
0427デフォルトの名無しさん
2016/06/24(金) 00:39:46.72ID:gxtxbzXVいつも失敗する
0428デフォルトの名無しさん
2016/06/24(金) 08:17:33.76ID:xEd+6tYGその際、中間にテーブルを作って、双方のキーを入れる
A, (A.key, B.key), B
0429デフォルトの名無しさん
2016/06/24(金) 10:12:39.00ID:F8DC/AtK0430デフォルトの名無しさん
2016/06/24(金) 10:13:24.55ID:AFfOfH8Vそもそも設計が良くない気がするんだが
0431デフォルトの名無しさん
2016/06/24(金) 11:00:41.58ID:Ua7mp3z0テーブル統一して1対多でいくことにしました。
0432401
2016/06/25(土) 16:08:58.21ID:4ZuZDTqbmodule A
class AA
def a; p 'A'; end
end; end
module B
class BB
def b; a; end
def a; p 'B'; end
end; end
class X
include B; include A
BB.new.b
end
p X.ancestors #=> [X, A, B, Object...]
X.new #=> "B"
a()をクラス内に入れたら、メソッド探索順では、Aモジュールの方が先なのに、
A::AA.a ではなく、B::BB.a が呼ばれるようになった
b()・a()が同じクラス内なら、呼び出し順は、モジュール探索順よりも、クラス内が優先される
0433デフォルトの名無しさん
2016/06/25(土) 17:51:57.20ID:4KOaD2ntA をインクルードしても A::AA のメソッド探しに行ったりしないよ
0434uy ◆e6.oHu1j.o
2016/06/27(月) 12:10:54.85ID:fzKuFJZphostsを以下のように書き替え( 広告NG用
http://notepad.cc/share/R0lOXB8Zzs
以下のようなプロキシーサーバーをたてて繋いでブラウジングをしていたところ
https://ideone.com/JN6VDO
rubyが実行を停止しました
http://i.imgur.com/4gxFT71.png
OS:Win10
ブラウザ:Firefox
administrator:uy
0435uy ◆e6.oHu1j.o
2016/06/27(月) 12:12:44.87ID:fzKuFJZpRailsInstaller使ったか?
gem install railsで普通にインストールが成功する可能性は、
ゼロではないけど、もはや幻想
0436uy ◆e6.oHu1j.o
2016/06/30(木) 08:28:51.01ID:U+B64GZ8https://ideone.com/9nWuIF
rubyのこの辺のスコープは不満ある
直される事はないだろうけど
rubyでしかやらないようなコードに分かりやすいルール作るのが難しいから
結局避けて書いていく
積極的には使われない癖に無駄に複雑な仕様だけが
class、module、include、extend 周りに拡がる
0437uy ◆e6.oHu1j.o
2016/06/30(木) 08:40:38.48ID:U+B64GZ8補足:
積極的には使われないといったのは、
この辺のklassを、上下に変数が行き来して、
それを理解しながら書くようなコードの事
include extend が飛び交う場所のメソッド・変数には闇が拡がる
この闇を扱う知識はしかも、他言語では使いようもないruby特有に複雑になってる闇の知識だから
わけのわからなくなってるスコープを制御しようとするのは無駄
0438デフォルトの名無しさん
2016/06/30(木) 09:06:35.89ID:bMW7pQBg衝突しないように付けること
0439デフォルトの名無しさん
2016/06/30(木) 09:26:09.93ID:+cgjiVYzhttp://docs.ruby-lang.org/ja/2.3.0/method/main/s/using.html
0440デフォルトの名無しさん
2016/06/30(木) 20:56:11.15ID:prI+ToNWんなこたーない。使っている人は使っている。
ただ、ruby2.1以上しか動かない縛りがあるので、古い環境でも動くようにみんな配慮してしまっているだけ。
個人的にはアスタリスク2回でハッシュを受け取る
def foo(a:, **b); p a, b end
foo({a: 1, b: 2})
結果
# 1
# {:b=>2}
とかの方がよっぽど見かけたことないです。
どなたか使ったことある方いらっしゃいますか?
0441デフォルトの名無しさん
2016/06/30(木) 21:26:27.67ID:0Yz92fUm0442uy ◆e6.oHu1j.o
2016/06/30(木) 21:49:00.82ID:dzWCBRc40443デフォルトの名無しさん
2016/07/01(金) 00:48:35.08ID:ECjG4IrI> new A().view();
これがなぜ通るのですか
class A
{
public void view()
{
Console.WriteLine(
0444デフォルトの名無しさん
2016/07/01(金) 07:57:19.80ID:CYpkmvov一つづつ整理して考えよう
・なぜそれが通らないと思ったのか?
・そのコードは何の言語で書かれたコードか?
・書き込む前にこのスレのタイトルを確認したか?
・確認したとすれば、ここで質問した理由は何か?
0445デフォルトの名無しさん
2016/07/01(金) 08:50:38.16ID:QEi+HiDI生のjavascript使いたいのでcoffescriptとかいうのは使いたくないのですが
0446デフォルトの名無しさん
2016/07/01(金) 09:48:09.75ID:rLMTR09R普通に *.js.coffee を置くところに *.js を置けばいい
0447デフォルトの名無しさん
2016/07/01(金) 19:03:05.10ID:QEi+HiDIありがとうございます。
試してみます。
0448デフォルトの名無しさん
2016/07/02(土) 15:30:39.35ID:rfELLhTBirb(main):1:0* irb(main):2:0* irb(main):3:0* irb(main):4:0* irb(main):5:0* irb(main):6:0*
ってのが延々と出力されるんだけど何が起きてるんだろう?
0449デフォルトの名無しさん
2016/07/02(土) 16:12:53.91ID:0c7wAYOMreturn "#{input}?A?A?E?E?H"
上記の部分を
return "#{input}って何?"
に書き直すとEncording::CompatibilityErrorが出てしまいます。ユーザーの入力場面でローマ字のままで
入力した場合は問題ないのですが、漢字やひらがなが入っていると、エンコードのエラーが出てしまいます。
いろいろと調べてみたのですが、うまい方法が見つからなくて困っています。どなたかご教授いただけないでしょうか?
なお、文字化けしたままの状態であれば、漢字・平仮名入力でもエラーは出ません。よろしくお願いします。
0450デフォルトの名無しさん
2016/07/02(土) 16:17:12.16ID:rfELLhTB0451デフォルトの名無しさん
2016/07/02(土) 16:25:16.33ID:0c7wAYOMすみません、質問の意味が理解できません。ですが、プログラムの先頭には#! ruby -Ksとあります。
0452デフォルトの名無しさん
2016/07/02(土) 16:27:47.01ID:PNWyJIIt0453デフォルトの名無しさん
2016/07/02(土) 16:38:44.44ID:+zIpsemSinputに入る文字列とファイルのエンコードはなに?ってことだと思います
0454デフォルトの名無しさん
2016/07/02(土) 16:44:01.84ID:0c7wAYOMすみません、それもわかりません。面目ない・・・
0455デフォルトの名無しさん
2016/07/02(土) 16:44:17.44ID:rfELLhTB-KsってことはエンコーディングとしてShiftJISを指定しているわけだけど
ソースファイルはちゃんとShiftJISで保存できてる?
更にinputにShiftJIS以外の文字列が来てるんじゃない?
例えばWindowsだったらコマンドプロンプトで入力するとShiftJISじゃなくてWindows31Jだからね
0456デフォルトの名無しさん
2016/07/02(土) 16:52:56.82ID:0c7wAYOMご指摘にあるようにShiftJIS、Windows32Jなどググってみたのですが、どれも書いてあることが理解できませんでした。
もうちょっと基本的な用語を調べなおして、改めて質問させていただきます。ありがとうございました。
0457デフォルトの名無しさん
2016/07/02(土) 16:58:35.24ID:SUhI6wBFUnicodeとかUTF8とかの単語の意味を調べてからまたおいで
0458デフォルトの名無しさん
2016/07/02(土) 16:58:41.18ID:UusWQPpkRuby の実行環境としても、窓OSは向いていない。
0459デフォルトの名無しさん
2016/07/02(土) 17:01:53.20ID:rfELLhTBinput を input.encode(Encoding::Shift_JIS) に書き換えればうまくいくかも
windowsで日本語を扱うのって面倒だよね
0460デフォルトの名無しさん
2016/07/02(土) 17:36:48.49ID:NHPFDAI+0461デフォルトの名無しさん
2016/07/02(土) 19:59:27.04ID:26rC20dwどの言語でも初心者には難しい
Rubyはマシな方だと思う
0462uy ◆e6.oHu1j.o
2016/07/02(土) 20:11:17.24ID:m6W0ip760463uy ◆e6.oHu1j.o
2016/07/02(土) 20:14:26.31ID:m6W0ip76ruby -v
irb -v
0464デフォルトの名無しさん
2016/07/02(土) 22:24:30.36ID:0c7wAYOMアドバイスありがとうございます。試してみましたがうまくいかないようです(なんか変なことしているかも)。
ちょっと、このエンコードという問題はだいぶ難しそうなので、とりあえずRubyの基本を先にしっかり勉強したいと思います。
もっとも直近の目標が人工無能なので、遅かれ早かれ絶対に克服しなければならない問題なのは確かですが…
いずれにせよ、理解できないからと言っていつまでも足踏みしている暇はないので先に行きます。他の皆さんもありがとうございました。
0465デフォルトの名無しさん
2016/07/02(土) 22:33:37.50ID:no/g4eo0paiza.IO, codepad などのサイトで、ブラウザを使って、プログラミングすれば簡単
0466デフォルトの名無しさん
2016/07/02(土) 22:41:05.68ID:no/g4eo0Unix系は、UTF-8。
Windowsは、shift-jis, cp932(Windows31J)
改行コードも異なる
shift-jisに、Windowsだけの環境依存文字(�@、丸で囲んだ数字など)を、加えると、cp932となる
Windowsだけの環境依存文字を使うと、shift-jisよりも、バグる確立が大きい
0467デフォルトの名無しさん
2016/07/02(土) 22:50:14.62ID:0c7wAYOMありがとうございます。もういいや、と思って別のことやろうと思いましたが、念のためTeraPadで打ち込んでみたら右下にエンコードがでました。
「UTF-8N」とあるようです。ところで、自分はきれいで見やすいとNETで評判の?SublimeText3を使っているんですが。エディタによっても結構違うんですね。
465さんのpaiza.IOみたいなエディタがあると便利なんですが、まあないものねだりしてもしょうがない。あまり、自分の質問だけでスレッドを私物化するのも
申し訳ないので、ここらでクローズさせていただきます。重ね重ねのアドバイスありがとうございます。
0468デフォルトの名無しさん
2016/07/03(日) 06:34:41.72ID:KkvVurgp-EShift_JIS:Windows_31Jとするべきでは
0469uy ◆e6.oHu1j.o
2016/07/03(日) 11:25:14.56ID:VJyaYSRj0470デフォルトの名無しさん
2016/07/03(日) 17:04:45.03ID:l9Pdm4ZBG:Ruby23-x64/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in'require':cannot load such file -- vr/vruby(LoadError)
ネットでも調べてみたのですが、なかなか情報がヒットしません。よろしくお願いします。
0471デフォルトの名無しさん
2016/07/03(日) 17:07:35.45ID:KkvVurgprequire_relativeとしなくちゃいけないところがrequireになってるんだろうね
0472デフォルトの名無しさん
2016/07/03(日) 17:15:42.70ID:T6bq1Tjnもう vruby なんて使うべきではないね
昔は何個かcontributeしたんだけどなー、懐かしい
0473デフォルトの名無しさん
2016/07/03(日) 17:17:00.26ID:l9Pdm4ZBありがとうございます。ネットで検索したところ、2つの方法があるらしく。以下の内容を試してみました。
1:require 'vr/vruby'のvrの前に./をつける
2:require 'vr/vruby'のrequireをrequire_relativeとする
いずれもうまくいかず、途方に暮れています。
0474デフォルトの名無しさん
2016/07/03(日) 17:19:52.23ID:KkvVurgp0475デフォルトの名無しさん
2016/07/03(日) 17:21:08.98ID:l9Pdm4ZB今、勉強している本の内容が古くて、本の内容がvrubyを使うことを前提にしているので弱っています。
本を買った時に諦めないで最後まで勉強していればなーと、いまさら言っても遅いですが。
0476デフォルトの名無しさん
2016/07/03(日) 17:25:59.34ID:T6bq1TjnRubyでGUIでしかもWindowsでってのは鬼門でしかないからね
どうしてもWindowsでGUIってことなら素直にC#使うべきだよ
0477デフォルトの名無しさん
2016/07/03(日) 17:27:02.20ID:KkvVurgp0478uy ◆e6.oHu1j.o
2016/07/03(日) 17:28:05.70ID:VJyaYSRjhttp://www.osk.3web.ne.jp/~nyasu/vruby/core.html
こっから該当ファイル探して自分でパス通せ
0479デフォルトの名無しさん
2016/07/03(日) 17:29:16.56ID:l9Pdm4ZB今、rbファイルをruby.exeと同じフォルダにぶっこんでみましたが、状況は変化しないようです。
以前、このスレでどなたかが書いていたんですが、情報が常に古くなってしまって初学者が
勉強するには難しい言語なんでしょうか…もう心が折れてきました
0480デフォルトの名無しさん
2016/07/03(日) 17:32:02.55ID:KkvVurgpLoadErrorにはなるの?
0481デフォルトの名無しさん
2016/07/03(日) 17:34:05.18ID:LjwuNqiA0482デフォルトの名無しさん
2016/07/03(日) 17:34:32.24ID:l9Pdm4ZBありがとうございます。すでにこの場所には来ていたんですが、上書きすればいいんでしょうか?
って、聞く前にとあえずやってみます
0483uy ◆e6.oHu1j.o
2016/07/03(日) 17:35:50.97ID:VJyaYSRjパス通しても動かない
swin.soが既に配布されてなくてソースコードでの配布になってるから
パス通した後さらにコンパイルしないと無理だよ
0484デフォルトの名無しさん
2016/07/03(日) 17:40:59.61ID:l9Pdm4ZBそうですね、書き換えてもLoadErrorになります。また、書き換えても書き換えなくてもエラーの内容は同じようです。
>>481
自分もなんか嫌な予感がするんですが、もしかして64じゃうまく動かないなんてことは…今まで投入した時間はなんだったんだ
0485デフォルトの名無しさん
2016/07/03(日) 17:44:06.57ID:KkvVurgpそうじゃなくて、特定の行がどちらの場合もエラーになるってこと?
0486デフォルトの名無しさん
2016/07/03(日) 17:49:45.60ID:LjwuNqiA0487デフォルトの名無しさん
2016/07/03(日) 17:52:44.03ID:l9Pdm4ZB全ての組み合わせを試しました。つまり、以下の3つです。
1:require 'vr/vruby'のvrの前に./をつける
2:require 'vr/vruby'のrequireをrequire_relativeとする
3:require 'vr/vruby'のvrの前に./をつけ、なおかつrequireをrequire_relativeとする
すべてLoadErrorになっています。
0488デフォルトの名無しさん
2016/07/03(日) 17:54:55.25ID:l9Pdm4ZBそっか!そういえばそうですよね、思いつかなかった。素直に古いバージョンでやれば済む話だった。本がそうなっているのだから。
とりあえず、それで行きます。ありがとうございました。
0489デフォルトの名無しさん
2016/07/03(日) 18:01:50.01ID:KkvVurgpただ誤解があったようなのでそこだけ説明させてもらう
例えば
require "mathn"
require "vr/vruby"
ってあった時にmathnとかもrequire_relativeって書いてないかってこと
もし
require "mathn"
require_relative "vr/vruby"
ってやってもLoadErrorになるならそれはファイルがないってことだからバージョン変えてもエラーになると思うけど
何行目でLoadErrorになってるのかちゃんと確認してたのかな
0490デフォルトの名無しさん
2016/07/03(日) 18:43:02.70ID:l9Pdm4ZBありがとうございます。今試してみましたが、エラーの内容が少し変わりました。
require_relative "vr/vruby"
require 'vr/vrcontrol'
これで試したところ、
G:Ruby23-x64/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in'require':cannot load such file -- vr/vruby(LoadError)
↓
G:Ruby23-x64/chatbot/gui_vruby_sample.rb:1in'require_relative'':cannot load such file -- G:Ruby23-x64/chatbot/vr/vruby(LoadError)
と変化しました。どういうことだかさっぱりわかりませんが、動かないのは以前の通りです。とにかく古いバージョンで試してみます。感謝。
0491デフォルトの名無しさん
2016/07/03(日) 18:51:12.47ID:2FNA+IvIどれが正しいんですかね、検索していろいろ出るんですが悉くエラーはいてしまって開発にうつれないっす
だれかやり方を教えていただけませんか…
0492デフォルトの名無しさん
2016/07/03(日) 20:00:46.85ID:+diucK3B本の内容をそのままそっくり
なぞることにこだわらなくていいよ
慣れるにつれて自力でできる部分は
自分で書いた方が早くなる
部分的にでも未知の情報を吸収できればよし
0493デフォルトの名無しさん
2016/07/04(月) 03:09:10.05ID:24pN0A7mそれより前のバージョンは、推奨しない。
vrubyというのも初耳
定番の本は、「たのしいRuby 第5版」2016
paiza.IO, codepad などのサイトで、ブラウザを使って、プログラミングするのが簡単。
ログインもいらない
0494uy ◆e6.oHu1j.o
2016/07/04(月) 15:13:47.56ID:RKNLnwF6RubyのGUIが今よりもさらにgmks of gmksだった頃に
頑張って何かを作ろうとして挫折した人の作ったライブラリ
0495uy ◆e6.oHu1j.o
2016/07/04(月) 15:21:46.40ID:RKNLnwF6GUIは厳しかったね
多分ハードのほうも無理
宣言・代入メインならもっとマシな言語はある
0496デフォルトの名無しさん
2016/07/04(月) 20:11:11.28ID:1TFm36GLデフォルトで、パソコンの中身が会社に送られるとか、頭おかしいんじゃないの?
アメリカは、プライバシーの問題が、狂ってるんじゃねえの、モラルがないどころの話しじゃない
0497デフォルトの名無しさん
2016/07/04(月) 20:17:48.27ID:A9h+6tfb0498デフォルトの名無しさん
2016/07/04(月) 22:05:27.13ID:3uqHV0dHありがとうございます。泣き入れていてもしょうがないので、気持ちを切り替えて「楽しいRuby」はじめました。
『今のところは』楽しいです。もうちょっとがんばってみます。以前挫折したときに比べて何かが見えてきた…気がします。
0499デフォルトの名無しさん
2016/07/04(月) 22:08:28.55ID:yHpo7u0t『たのしいRuby』からで正解
プログラムをいきなり思い通りには書けないよ
英語をいきなりペラペラしゃべれないのと同じ
慣れればスラスラ読み書きできるから
急がば回れで基礎を積み重ねることが肝要
0500デフォルトの名無しさん
2016/07/05(火) 06:38:44.92ID:j6ObOS3k読み込みをさせようとすると下記のエラーが出て困っています。
cannot load such file -- ffi_c (LoadError)
gem listコマンドからはffi (1.9.10 x86-mingw32)の確認が取れています。
rubyのバージョンは、 2.3.0p0 (2015-12-25 revision 53290) [i386-mingw32]です。
PCスペックは、WIN7 32bitです。
PATHの指定が間違っているのかと思い、require先にフォルダ毎移動させたりしたのですが
エラーの改善には至りませんでした。
考えられる原因は、rubyとffiの整合性が取れてないのかとも思いrubyのバージョンも
変更してみたのですが、これもエラーの改善には至りませんでした。
ググっても特にヒントになりそうなのを見つけられなかったため、
何か解決方法があれば、ご教授頂きたいと思い書き込みさせて頂きました。
何卒、よろしくお願い致しますm(_ _)m
0501デフォルトの名無しさん
2016/07/05(火) 07:28:57.81ID:JLNuGFh4gem uninstall ffi
gem install ffi --platform ruby
0502デフォルトの名無しさん
2016/07/05(火) 09:02:24.93ID:j6ObOS3kコメントありがとうございます!
ffiの再インストールまでは成功したのですが、selenium-webdriverを起動すると
再び下記エラーが出てきました。。
C:/Ruby23/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:133:in `r
equire': cannot load such file -- ffi_c (LoadError)
エラーに書いてあるkanel_require.rbを見てみると
133 return gem_original_require(path) if require_again
と記述されていました。
パスの指定がうまく行ってないんですかねぇ・・・
0503デフォルトの名無しさん
2016/07/05(火) 09:18:02.59ID:LGOaFQLhttp://github.com/ffi/ffi/issues/432
0504デフォルトの名無しさん
2016/07/05(火) 09:20:02.52ID:j6ObOS3k現在、RUBYライブラリのロードパスは以下のようになっています。
irb(main):006:0* puts $LOAD_PATH
C:/Ruby23/lib/ruby/gems/2.3.0/gems/did_you_mean-1.0.0/lib
C:/Ruby23/lib/ruby/site_ruby/2.3.0
C:/Ruby23/lib/ruby/site_ruby/2.3.0/i386-msvcrt
C:/Ruby23/lib/ruby/site_ruby
C:/Ruby23/lib/ruby/vendor_ruby/2.3.0
C:/Ruby23/lib/ruby/vendor_ruby/2.3.0/i386-msvcrt
C:/Ruby23/lib/ruby/vendor_ruby
C:/Ruby23/lib/ruby/2.3.0
C:/Ruby23/lib/ruby/2.3.0/i386-mingw32
=> nil
0505デフォルトの名無しさん
2016/07/05(火) 09:47:55.30ID:j6ObOS3kありがとうございます。解決しました。
インストール手順がまずかったようです。
gem uninstall ffi
→-x86-mingw32を選択して削除。
ruby dk.rb init
ruby dk.rb install
上記の手順でやったら無事にSeleniumWebDriverが動作しました。
ありがとうございます!
0506uy ◆e6.oHu1j.o
2016/07/05(火) 18:35:12.75ID:1uRQlpDk現段階では普通にインストールしただけだと、2.3用のファイルが無かったな
>require': cannot load such file -- ffi_c (LoadError)
このLoadErrorになっていた原因はここ↓
C:\Ruby\lib\ruby\gems\2.3.0\gems\ffi-1.9.10-x86-mingw32\lib\\
0507デフォルトの名無しさん
2016/07/05(火) 23:15:15.87ID:ZQWdXgH10508デフォルトの名無しさん
2016/07/05(火) 23:25:54.80ID:94G9IfNv島根県のRuby合宿へ、行ったみたい
0509デフォルトの名無しさん
2016/07/06(水) 00:29:15.16ID:ziud5nB+男消えろ
0510uy ◆e6.oHu1j.o
2016/07/06(水) 19:01:28.90ID:4XXkMTdxselenium-webdriverでIE起動する時にvisibleオプションの設定って出来ませんか?
ライブラリのソースコードを追ってみましたが、
もしかしたらIEDriverServer.exeの中でそういうのやってる可能性もあって
rubyのソースコード上でvisibleを設定している箇所が特定できませんでした
0511uy ◆e6.oHu1j.o
2016/07/08(金) 14:18:11.61ID:ReeCCMlZある日付からの残り日数を求めたく引き算をしてみましたが
t = Time.new
a = Time.local(2016, 7, 9)
b = a - t
bに返ってくる値がFloatで、これをどう整形したら良いのか分かりません
スマートに書く方法はありますか?
0512デフォルトの名無しさん
2016/07/08(金) 14:21:47.06ID:4qgBf6xV0513デフォルトの名無しさん
2016/07/08(金) 14:31:15.37ID:4qgBf6xV(b/(60*60*24)).ceil
0514uy ◆e6.oHu1j.o
2016/07/08(金) 14:34:46.90ID:ReeCCMlZこうなりました
t = Time.new
a = Time.local(2016, 7, 9)
b = a - t
p b / (60*60*24)
# => 0.3943060819212963
0515uy ◆e6.oHu1j.o
2016/07/08(金) 14:36:27.94ID:ReeCCMlZt = Time.new
a = Time.local(2016, 7, 9)
b = a - t
p (b/(60*60*24)).ceil
# => 1
です
0516デフォルトの名無しさん
2016/07/08(金) 14:41:36.56ID:4qgBf6xVへ?? これで何か問題なの?
0517uy ◆e6.oHu1j.o
2016/07/08(金) 14:47:45.41ID:ReeCCMlZ失礼しました問題ないです
条件反射で書き込んでしまいました
ありがとうございます
0518デフォルトの名無しさん
2016/07/08(金) 15:38:17.55ID:wR56VJym0519デフォルトの名無しさん
2016/07/08(金) 16:06:49.18ID:k4oWZhGmこれでいい気がする。
require 'date'
t = Date.today
a = Date.new(2016, 7, 9)
p b = (a - t).to_i
0520デフォルトの名無しさん
2016/07/09(土) 07:29:20.44ID:OPT8/HRFちなみに、環境はwin7です。
0521デフォルトの名無しさん
2016/07/09(土) 09:29:37.94ID:70tfGxUKgem あるぞ?
0522デフォルトの名無しさん
2016/07/09(土) 20:12:52.56ID:pnlJS2Wt解決策をご教授願えませんか? 出力は以下の通りです
少々長いのでレス分けます
C:/Ruby21-x64/bin/ruby.exe extconf.rb
checking for --enable-debug-build option... no
checking for -Wall option to compiler... yes
checking for -Waggregate-return option to compiler... yes
checking for -Wcast-align option to compiler... yes
checking for -Wextra option to compiler... yes
checking for -Wformat=2 option to compiler... yes
checking for -Winit-self option to compiler... yes
checking for -Wlarger-than-65500 option to compiler... yes
checking for -Wmissing-declarations option to compiler... yes
checking for -Wmissing-format-attribute option to compiler... yes
checking for -Wmissing-include-dirs option to compiler... yes
checking for -Wmissing-noreturn option to compiler... yes
checking for -Wmissing-prototypes option to compiler... yes
checking for -Wnested-externs option to compiler... yes
checking for -Wold-style-definition option to compiler... yes
checking for -Wpacked option to compiler... yes
checking for -Wp,-D_FORTIFY_SOURCE=2 option to compiler... yes
checking for -Wpointer-arith option to compiler... yes
checking for -Wswitch-default option to compiler... yes
checking for -Wswitch-enum option to compiler... yes
checking for -Wundef option to compiler... yes
checking for -Wout-of-line-declaration option to compiler... no
checking for -Wunsafe-loop-optimizations option to compiler... yes
checking for -Wwrite-strings option to compiler... yes
checking for rb_define_alloc_func() in ruby.h... no
checking for rb_block_proc() in ruby.h... no
checking for new allocation framework... yes
0523デフォルトの名無しさん
2016/07/09(土) 20:13:15.27ID:pnlJS2Wtchecking for cairo... yes
checking for rb_cairo.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=C:/Ruby21-x64/bin/ruby
--enable-debug-build
--disable-debug-build
--with-pkg-config
--without-pkg-config
--with-override-variables
--without-override-variables
extconf failed, exit code 1
0524デフォルトの名無しさん
2016/07/09(土) 21:17:36.39ID:70tfGxUKhttp://stackoverflow.com/questions/31552590/error-when-try-to-install-ruby-gtk3-gem
これじゃね?
0525デフォルトの名無しさん
2016/07/09(土) 21:41:42.30ID:pnlJS2Wtありがとうございます!
おかげさまでgtk3をインストールすることができました!
しかしgtk3を使ったテストプログラムを実行する段階で次のようなエラーが起こってしまいました
cannot load such file -- cairo.so (LoadError)
調べたのですがどうやら実際にcairo.soがないのではなく
なにか別の要因が作用してこのようなエラーを吐いているのだということは分かったのですが
具体的にどう対処すべきかということについての情報が見つからず困っています
お助けいただけると幸いです
0526デフォルトの名無しさん
2016/07/09(土) 21:45:25.80ID:LUkvWe2U0527デフォルトの名無しさん
2016/07/09(土) 21:51:34.71ID:pnlJS2Wtc:Ruby21-x64\lib\ruby\gems\2.1.0\gems\cario-1.15.2~~\lib内の
2.2フォルダと2.3フォルダ内にありました!
これをどうすればいいのですか?
0528デフォルトの名無しさん
2016/07/10(日) 01:01:33.24ID:FaCg4BOi自己解決しました
ありがとうございました
0529デフォルトの名無しさん
2016/07/10(日) 22:28:19.60ID:7ZpGAM9Oクレクレだけでなく
0530デフォルトの名無しさん
2016/07/12(火) 19:22:25.10ID:gIrYEA97あまりにもあれなので書く必要もないかと思いまして……
>>527に書いてある通り使っていたRubyのバージョンが2.1で
gtk3の現在のバージョンが対応しているのは2.2と2.3だったのです
というところでもう一つ質問させてください
gtk3を使ってサンプルプログラムの写経をしているのですが
その中でkey, mod = Gtk::Accelerate.parse "N"という行がありました
しかし実行してみるとGtkクラスには定数Acceleratorはありませんという旨のエラーが出てしまいます
仕様が変わったのかもしれないのですが調べても出てきません
どなたかご存知の方がいたら教えていただけませんでしょうか?
0531デフォルトの名無しさん
2016/07/12(火) 20:10:31.38ID:Eu9k9lZNseek(0, IO::SEEK_END)、size、statは全て通りません
>type test.rb
open("\\\\.\\PHYSICALDRIVE0", "rb"){|f|
f.seek(0, IO::SEEK_END)
p f.stat
p f.size
p f.pos
}
>ruby test.rb
test.rb:2:in `seek': Invalid argument @ rb_io_seek - \\.\PHYSICALDRIVE0 (Errno::EINVAL)
from test.rb:2:in `block in <main>'
from test.rb:1:in `open'
from test.rb:1:in `<main>'
プラットフォーム固有の手段(WindowsならWMI、PC UNIXならlsblkなど)を使えば取得できますが
出来ればそれは避けたいので・・・
0532デフォルトの名無しさん
2016/07/12(火) 23:16:54.90ID:O9LM8FabRubyに限定されない一般論として:
デバイスファイル(物理ドライブ)から取得できるサイズとして、
いったいぜんたい何を期待しているの?
ディスク容量?パーティション容量?利用容量?空き容量?
デバイスファイルをシークして、いったいぜんたい何をしたいの?
UNIXファイスシステムでセクタ単位にアクセスしたいのなら、
特殊なRAW(生)デバイスをオープンするけど、それはUNIX固有の手段になる
なんだか無邪気な子供が無い物ねだりしているようにしか聞こえないね
あなたは最終的に何をしたいの?
0533デフォルトの名無しさん
2016/07/13(水) 00:06:53.28ID:iqeWAEZd昔は水着DVDとか売ってたんだなぁ
0534デフォルトの名無しさん
2016/07/13(水) 00:11:36.68ID:vjGvgzczWindowsでは使えないのでは?
そもそも、そんな特殊ファイルに、Rubyが対応しているのかな?
とにかく、seek の引数が間違っているから、正しくすれば?
>>530
>Gtk::Accelerate.parse "N"
>Gtkクラスには定数Acceleratorはありません
Accelerate, Accelerator はつづりが異なる。
そもそも、定数.parse(定数.メソッド) という表記は可能なのか?
0535531
2016/07/13(水) 21:08:36.13ID:9IGkZ4N6デバイスファイルが使えないと返されても自分はなんて答えればいいのだろう
Windowsのデバイスファイルの取り扱いについてゼロから解説しないと話がかみ合わないとかどうすればいいの
ggrksって書かなきゃダメなの?
seekの引数もリファレンスマニュアルからコピペして数字を変えただけなのにそれを間違っていると言われても
どう直せば良いんだ
0536デフォルトの名無しさん
2016/07/13(水) 21:41:01.10ID:O2/Udv7T> Windowsのデバイスファイルの取り扱いについてゼロから解説しないと話がかみ合わないとかどうすればいいの
だってWIndowsにはデバイスファイル(と一般に呼ばれるもの)はないんだもの
しょうがないじゃん
0537デフォルトの名無しさん
2016/07/13(水) 22:04:05.33ID:7QL1TPM6プラットフォームに依存せずにとか考えてる?
Windowsでは動かんし、Linuxなら別の理由でそっちも動かんぞ
0538デフォルトの名無しさん
2016/07/13(水) 22:20:27.32ID:zSyoSNoY0539デフォルトの名無しさん
2016/07/13(水) 22:49:33.67ID:zLt10+AI0540531
2016/07/14(木) 00:32:41.64ID:VP5bmt0Bttp://uploader.purinka.work/src/0068.png ←MBRのシグネチャである0x55 0xAAが表示されている
少なくともread、write、seek(n, IO::SEEK_SET)は機能して開いたストレージの任意のセクタを読み書き出来た
>>537
今のところWindowsとLinuxやFreeBSDあたりで動かしたいです
Linuxだと↑の"\\\\.\\PHYSICALDRIVE0"を"/dev/sdc1"とかにしても動かないのかな?
0541デフォルトの名無しさん
2016/07/14(木) 03:02:03.84ID:tcxRZQBLruby1.9.3p551
centos6.7(x86)
GNOME 端末 2.31.3
test.rb------------
STDOUT.sync = true
STDIN.each_line do |line|
p line
end
------------------
上のコードで、文字列入力中に全角文字入れると
バックスペースキーで文字削除したとき半角分しか削除されない
これって環境依存によっておこる問題?それとも仕様?
解決方法じゃなくてどういう仕組みで起こってるのか知りたい
0542デフォルトの名無しさん
2016/07/14(木) 05:13:27.03ID:5Jg64+hUソースコードをコピーして実行できないから、画像を使わないで。
paiza.IO, codepad などを使えば、ログイン無しでも書き込める。
そりゃ、実行すればエラーになるけど、ひとまず書き込める
デバイスファイルって、Linuxの特殊ファイルのことかと思っていた。
物理ディスクに、直接アクセスしたいのか
Errno::EINVAL
不正な引数。関数の引数のいずれかに無効な値が指定されています。
たとえば、fseek 呼び出しでファイル ポインターを移動するとき、
指定した元の位置が、ファイルの先頭より前にある場合です。
>>541
全角の多くは、3byteだけど、バックスペースで、1byteしか戻らないのか。
普通のエディタなら、バックスペースで1byteじゃなく、全角1文字分戻る。
その端末が、日本語に対応していないのだろう
コマンドプロンプト・端末などは、大昔に外人が作ったものだから、
日本語には対応していない。
一方、エディタは対応しているものが多い
0543デフォルトの名無しさん
2016/07/14(木) 05:33:08.45ID:5Jg64+hUIO::SEEK_SET: ファイルの先頭から (デフォルト)
IO::SEEK_CUR: 現在のファイルポインタから
IO::SEEK_END: ファイルの末尾から
たぶん、SEEK_ENDがダメなんだろう
0544デフォルトの名無しさん
2016/07/14(木) 05:53:08.52ID:tcxRZQBL[centos@localhost Reudy19]$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts -cdtrdsr
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
0545デフォルトの名無しさん
2016/07/14(木) 06:23:56.25ID:5Jg64+hU日本語が使える、エディタとは違う。
英語でコマンドを書く、アプリ
作者も外人だから、日本語のことは知らない
0546デフォルトの名無しさん
2016/07/14(木) 06:52:30.33ID:5Jg64+hU0547デフォルトの名無しさん
2016/07/14(木) 07:10:22.27ID:xuDKBge/居残り学習な
>>541
普通にターミナル上で日本語入力したときにBackSpace押してもきちんと全角1文字消えるのに
STDINを直接開いたときにはBackSpaceで半角1文字しか戻らないのはなんでか
bash$ cat
にゃんこ■ ← BS1回
にゃんニ■
日本語環境ではシェル、普通はbash、が「日本語だと思われる文字があったら1文字ぶんだと思われるバイト数だけ戻る」というように特別に数えて処理してるからだ
ncursesとか介してないプレーンな環境では半角1文字戻るのが「素直な正しい」挙動
だからコマンドラインスクリプトで端末から直接日本語を入力してもらう可能性がある場合はRubyならcursesライブラリを使うと親切
これならbash上や他のターミナルアプリで日本語入力したときと同様にきちんと全角1文字ぶん消える
0548デフォルトの名無しさん
2016/07/14(木) 20:43:36.00ID:tcxRZQBLてっきり環境設定のLANGをja-JP.UTF-8にする他に、ロケール関連の設定でなんとかなるものだと思ってました
なるほど、そういう事だったのか
ありがとうございます
それと、readlineで意図的に\n等のエスケープシーケンス文字を入力すると、\\nのようにエスケープされます
入力終えた文字列をgsub使ってちまちま置換する以外に、dequoteとかunescapeとかそんな感じのいい手はありませんか?
0549デフォルトの名無しさん
2016/07/15(金) 07:48:04.68ID:0wyvmUyVLua的に使いたいけど素のままではファイルの読み書きすら出来ない
0550デフォルトの名無しさん
2016/07/17(日) 11:51:33.23ID:5n5jkqHtOSの差異をバッチファイルで吸収すれば良いからなんとかなると思う
思いつくのはこんぐらい
0551デフォルトの名無しさん
2016/07/17(日) 12:14:33.52ID:EX8s0wCAわざわざシェルを介する意味が無いだろ
それなら普通にCでAPI書けばいい
0552デフォルトの名無しさん
2016/07/17(日) 16:00:16.75ID:tztufySGmruby-ioで取り敢えずファイル操作出来るけど、
低レベルは殆ど無いな。
mrbgemを自分で作るのが基本スタンスだし
0553デフォルトの名無しさん
2016/07/17(日) 16:04:26.02ID:tztufySG色々外してあるから標準Rubyと同じ様に考えちゃ駄目
0554549
2016/07/18(月) 01:50:25.67ID:IKQ2dxNQmruby-ioを見つけて試すも大きなファイルを操作できない
Fixnumの壁が原因とわかりCコードとにらめっこすること数日
sysseekをFloatも受け付けるように改造してようやく目的を達成
Bignumが無い影響がもろに出てしまっていますな
0555デフォルトの名無しさん
2016/07/20(水) 03:31:47.01ID:GlTBqNkCRubyのソースコード読んでるんだけど、Ruby1.8までならWebにころがってる情報で構造をなんとなくレベルまで理解できる
でもRuby1.9からはさっぱり理解不能で、何処がVMの部分なのかさえ読めない
どこかにRuby1.9以降のソースを解説しているサイトない?
なければソース全部じゃなくて、おおまかに構造を解説しているサイトでも構わない
0556デフォルトの名無しさん
2016/07/20(水) 11:13:49.96ID:WyhLRx8lAppendix A. Rubyのソースコードの分類
https://github.com/ruby/ruby/blob/trunk/doc/extension.ja.rdoc#appendix-a-ruby%E3%81%AE%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E5%88%86%E9%A1%9E
0557デフォルトの名無しさん
2016/07/20(水) 18:43:26.64ID:KOGDxcQR>Ruby1.9以降は、rubyコードをJITコンパイルで変換してから実行してるんだよね?
どこのソースから、そんな嘘情報を仕入れてきたの?
1.8迄はAST(抽象構文木)を直接的に評価していたのが、
1.9以降ではVM(正確にはYARV)へコンパイルするよう改善されただけの話だよ
いわゆるJavaScriptのV8エンジンみたいな本格的なJIT(Just In Time)コンパイル技術は、
今のところRubyには導入されちゃいない
>Rubyのソースコード読んでるんだけど、Ruby1.8までならWebにころがってる情報で構造をなんとなくレベルまで理解できる
1.8までならWeb公開されてるRHGが(言語処理系に興味がある人にとっては)バイブルだったね
http://i.loveruby.net/ja/rhg/book/
1.9以降なら、以下の書籍が必読本になった(RubyのVMであるYARVの解説書でもある)
Rubyのしくみ -Ruby Under a Microscope-
https://www.amazon.co.jp/dp/4274050653/
Ruby処理系高速化の未来に関しては、"HPC(Hight Performance Computing) Ruby"が鍵になると予測する
・HPC Ruby Compiler(プレゼン)
https://www.cps-jp.org/~mosir/pub/2012/2012-03-05/03_nakamura/pub-web/HPC_Ruby_Compiler.pdf
・HPC Ruby: 静的解析に基づく Ruby の高度最適化コンパイラ
http://ci.nii.ac.jp/naid/110008583419
さらに、その基礎となる "Soft Typing"(動的型付け言語における型推論) をキーワードで調べるのがいいと思う
もし英語が読めるなら、たとえば以下の論文を:
・SOFT TYPING 1991
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.9333&rep=rep1&type=pdf
・A Scheme-to-Java Translator with Soft Typing 2002
www.kb.ecei.tohoku.ac.jp/~sumii/pub/scm2java.ps.gz
0558デフォルトの名無しさん
2016/07/21(木) 03:34:57.24ID:jgTQj/gW10万回以上ループすると、もう一段階、最適化する
500万回(0.5秒)以上では、CRuby(MRI)よりも速くなる
「Rubyのしくみ」2014、に書いてある。
コンパイラ・インタープリターを作るなら、読んだ方がいい
0559デフォルトの名無しさん
2016/07/21(木) 04:24:33.02ID:WJGproPCバイトコードインタプリタって書かれとる
逐次変換して処理してるわけか
1.9以降はバイトコードに変換して処理してるって聞いてたから
てっきりJIT技術使ってるんだと思ってた
さんくす
0560デフォルトの名無しさん
2016/07/21(木) 19:25:21.64ID:9nmG0K7V0561デフォルトの名無しさん
2016/07/21(木) 22:00:48.00ID:MOZT2+1Aある数値が範囲より大きいか小さいかカバーされてるかを調べるUFO演算子とか
2つのRangeオブジェクトが被ってる部分があるかどうかを判定する機能とか
あれば便利な気がするんだがなぁ
0562デフォルトの名無しさん
2016/07/22(金) 05:24:42.73ID:8LVOaO/mEnumerable#grep
じゃダメなの?
0563デフォルトの名無しさん
2016/07/22(金) 07:27:36.63ID:y4ZiHYE1範囲内最小の値よりなお小さいか
最大の値よりなお大きいかまで判定してほしい
後者については機能的にはそれでいいんだけど
Rangeのサイズが1000万までありうるので速度的に(´・ω・`)
自分で実装してみると
class Range
def <=> obj
(((min <=> obj) + (max <=> obj)) / 2.0).truncate
end
def & other
[min, other.min].max..[max,other.max].min
end
end
0564デフォルトの名無しさん
2016/07/22(金) 07:39:58.12ID:y4ZiHYE1前者はobjが<=>演算子非対応でnil返した場合を考慮してない
後者はotherがRange以外の場合を考慮してない上に範囲外の場合変なRangeを返すので気持ち悪い
0565デフォルトの名無しさん
2016/07/22(金) 07:53:03.72ID:ot11jjQxClamp(value, min, max)
最大値と最小値の間で、収めるような関数もあればいいね
10 = Clamp(20, 1, 10)
0566デフォルトの名無しさん
2016/07/22(金) 07:55:55.89ID:8LVOaO/m(min <=> obj) + (max <=> obj) >> 1
でよくね?
あと
(1..2) & (3..4) # => (3..2)
だから
(3..2).max # => nil
になって気持ち悪い
0567デフォルトの名無しさん
2016/07/22(金) 07:58:36.16ID:8LVOaO/m0568デフォルトの名無しさん
2016/07/22(金) 08:06:48.82ID:y4ZiHYE1Rubyでは負数の除算がアレなんだ
-1 >> 1 = -1
0569デフォルトの名無しさん
2016/07/22(金) 08:19:38.53ID:8LVOaO/mって普通じゃないの?
rangeのfirstもlastもIntegerならこれでいいか
class Range
def &(other)
[first, other.first].max..[exclude_end? ? last - 1 : last, other.exclude_end? ? other.last - 1: other.last].min
end
end
0570デフォルトの名無しさん
2016/07/22(金) 08:39:44.79ID:DR9XI0EI<=> はそういうものじゃない。お前さんの言うような機能はあっても良いが、それが <=> と名付けられることは未来永劫ない。
0571デフォルトの名無しさん
2016/07/22(金) 08:49:54.31ID:cUWclNnj0572デフォルトの名無しさん
2016/07/22(金) 21:13:35.89ID:DR9XI0EIRange#<=> が追加されないなんて一言も言ってないよ。
>>563 の期待するものにはならないってだけ。
0573デフォルトの名無しさん
2016/07/22(金) 21:16:28.21ID:cUWclNnjああ、本当だ。早とちりすまん
0574デフォルトの名無しさん
2016/07/23(土) 23:49:44.32ID:l6bIVOK+変数の中に入った文字列の置換ができません。
例えばhtmlという変数の中に入った(http://○○-1.jpg)の中の-1を無くしたい場合
subかgsubを使うかと思います。
試しにp html.gsub(/-1.jpg/,
0575デフォルトの名無しさん
2016/07/23(土) 23:52:24.68ID:l6bIVOK+途中で書き込みが消えてしましました(汗)
変数の中に入った置換の方法を教えていただけますでしょうか。
よろしくお願いします。
0576デフォルトの名無しさん
2016/07/23(土) 23:55:26.99ID:3089LaeDhtml.gsub!(
か
html = html.gsub(
0577デフォルトの名無しさん
2016/07/24(日) 00:37:14.40ID:9mJaMPLw確認画面が出たとき、ダブルクォーテーションがあると、文が切れる。
2chのバグだろう。たぶん、エスケープしていない
str = 'ttp://abc/xxx-1.jpg'
str = str.gsub(/-1.jpg/, '.jpg')
puts str
結果、ttp://abc/xxx.jpg
正規表現の先読みを使っても、できる
0578デフォルトの名無しさん
2016/07/24(日) 00:56:13.49ID:VgaTJS92ご丁寧にありがとうございます。
今やってる作業がanemoneで拾ってきたhref要素を変数に入れてその一部-1を置換しようとしています。
教えていただいた通り、
str= node.css('a').attribute('href').value
str = str.gsub(/-1.jpg/, '.jpg')
puts str
と書き換えたのですが-1は消えませんでしたので、何か別の原因で引っかかってるみたいです。
0579デフォルトの名無しさん
2016/07/24(日) 07:06:47.90ID:uCHUDa0e実は-1じゃなくて-l(小文字のL largeサイズ指定)だったというオチが思い浮かんだが…
0580デフォルトの名無しさん
2016/07/24(日) 07:36:38.76ID:ix/R/9ty0581デフォルトの名無しさん
2016/07/24(日) 11:12:26.70ID:wdZTIji9切れ"ない"よ
ブラウザのバグだろ
0582デフォルトの名無しさん
2016/07/24(日) 14:16:46.18ID:VgaTJS92置換する変数を間違っていただけのうっかりミスでした・・・orz
sub,gsubを使って上記の教えていただいた方法で変数の中身を無事置換できました。
ありがとうございますm(_ _)m
0583デフォルトの名無しさん
2016/07/26(火) 21:17:51.50ID:uTRCF1br> 個人的にはアスタリスク2回でハッシュを受け取る
> とかの方がよっぽど見かけたことないです。
> どなたか使ったことある方いらっしゃいますか?
カメだけど、超使う。
キーワード引数と組み合わせたり。
0584デフォルトの名無しさん
2016/07/27(水) 15:07:46.63ID:nl1cCFz00585デフォルトの名無しさん
2016/07/29(金) 08:11:29.53ID:1qYsbBpRstdinを監視したい
普通ならSTDIN.each_lineとかでSTDINを監視したら良いと思うけど
gtk3とか使うとイベントループさせないといけなくなるので
イベントループするメインルーチンでこれやりたいんだけど
やり方わかんない
標準入力を監視しながらのプログラムの場合どうやってる?
別スレッドにするのが普通なのかね?
0586デフォルトの名無しさん
2016/07/29(金) 09:19:20.82ID:AO+a9SAV・GUI の main loop で fd を監視
http://pub.cozmixng.org/~the-rwiki/rw-cgi.rb?cmd=view;name=GUI+%A4%CE+main+loop+%A4%C7+fd+%A4%F2%B4%C6%BB%EB
・Gdk::Input - Ruby-GNOME2 Project Website
https://ruby-gnome2.osdn.jp/hiki.cgi?Gdk%3A%3AInput
・stdinから一行ずつ読んでそれっぽく表示 on ruby-gnome2
http://shyouhei.tumblr.com/post/119202369/stdinから一行ずつ読んでそれっぽく表示-on-ruby-gnome2
0587デフォルトの名無しさん
2016/07/29(金) 09:45:02.59ID:1qYsbBpRありがとう!!!
gtk2ではその方法で上手くいきました
gtk3を使おうとするとGdk.InputのかわりにGLib::IOChannelを使うようにメッセージがでて
Gdk::Input::READのところでエラーになるんだけど
ちょっと検索かけただけじゃやり方わかりませんでした
御存じなら教えてください
よろしくお願い致します
0588デフォルトの名無しさん
2016/07/29(金) 10:54:00.67ID:AO+a9SAVGTK3は触っていなかったんだけど、GDKより低レイヤーなGLibで
外部イベントを扱うように変わったのですかね
・GLib::IOChannel - Ruby-GNOME2 Project Website
https://ruby-gnome2.osdn.jp/hiki.cgi?GLib%3A%3AIOChannel
・ruby-gnome2/iochannel.rb at master · taf2/ruby-gnome2 · GitHub
https://github.com/taf2/ruby-gnome2/blob/master/glib/sample/iochannel.rb
GTK2はGTK3へ更新されましたが、Glib2は(Glib3へ更新されず)そのままGTK3で使われているので、
そのまま動くのではないかと思われます(手元ではGTK3をインストしてないので動作未確認)
0589デフォルトの名無しさん
2016/07/29(金) 10:58:51.55ID:1qYsbBpRありがとう助かったよ
検索上手いね!!
0590デフォルトの名無しさん
2016/07/29(金) 15:09:47.59ID:DEZEXrtC表記することにしました。自分の考えとしては、配列の要素のvalueを2で割った剰余が0であるもののみ、配列の中に入れなおすという方法しか思いつきませんでした。
そこで以下のプログラムにしてみたのですが、うまく動きません。どこがおかしいのか指摘していただけるでしょうか。よろしくお願いします。
nums = {a: 1, b: 2, c: 3, d: 4, e: 5}
nums.each do |key, value|
if value%2 == 0
nums[:key] = value
end
p nums
0591デフォルトの名無しさん
2016/07/29(金) 15:11:49.29ID:DEZEXrtC0592デフォルトの名無しさん
2016/07/29(金) 15:28:57.91ID:1qYsbBpRwindowの生成も行なうと
上手く期待の動作しなかった
GLib::IOChannelを使ってSTDINをオープンしてadd_watchをそれに使うと
期待の動作になりました
ありがとう
まだGUIの方は作れてないけど作れそうな感じ
0593デフォルトの名無しさん
2016/07/29(金) 15:35:49.37ID:flV7hOuNこれだと偶数の要素だった場合、その要素を再代入してることになる
新しく別の配列に代入するとかならその書き方で問題ないと思うよ
ちなみに nums.select! { |k, v| v % 2 == 0 } が一番良さそう
0594デフォルトの名無しさん
2016/07/29(金) 16:15:45.30ID:WGKZmyFxnums.each_with_object({}){|(k,v),o| o[k] = v if v.even?}
0595デフォルトの名無しさん
2016/07/29(金) 16:55:05.51ID:Ogz/SEhrnums.reject{|_,v|v.odd?}
nums.grep(proc{|_,v|v&1==0}).to_h
nums.each{|k,v|v.odd?&&nums.delete(k)}
0596デフォルトの名無しさん
2016/07/29(金) 17:11:04.04ID:1UayH1GQ「numsからodd?なものを取り除く」と読み下そう
思いつかなかった>>593-594もぜひ覚えて帰ってね!
0597デフォルトの名無しさん
2016/07/29(金) 19:32:20.85ID:jkc14IDKif value%2 == 0
nums[:key] = value
end
まずこれはeach doに対してendが無いからエラーになる
そして:keyはkeyではなく:keyというSymbolなのでこれも間違い
nums = {:a=>1, :b=>2, :c=>3, :d=>4, :e=>5, :key=>1}
nums[:b] = 2
p nums #=> {:a=>1, :b=>2, :c=>3, :d=>4, :e=>5, :key=>1}
飽くまで:bに対して2を再び関連付けているだけなので間違い
どうしても上のような書き方がしたいなら
h = Hash.new
nums.each do |key, value|
if value%2 == 0
h[key] = value
end
end
p h #=> {:b=>2, :d=>4} 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0598デフォルトの名無しさん
2016/07/29(金) 20:01:51.49ID:mtfgcrouやはりあなたはリンクしすぎです
ばいばいおさるさん
0599デフォルトの名無しさん
2016/07/29(金) 23:54:22.01ID:AO+a9SAV>>593 と >>595 の先頭を参考にして;
nums.select! { |_, val| val.even? }
https://ideone.com/Z84zqk
もしも同メソッドを使用せずに自前で各要素を列挙するなら:
nums.each do |key, val|
nums.delete key unless val.even?
end
https://ideone.com/UqpHHq
なお >>597 のように、元の変数 nums の値を(破壊的代入)で更新せず、
結果としての値を求めることを優先するというお題の改変が許されるなら:
nums.select { |_, val| val.even? }
https://ideone.com/JlEy6w
このコードを推奨する
0600デフォルトの名無しさん
2016/07/30(土) 12:15:20.35ID:Fe6CTZY3ていたらくでして。たぶん、いやきっと、593さんのようにメソッドをそれぞれ覚えていけばいいのでしょうが、もう結構記憶容量がパンパンで、とりあえず
知っているメソッドで何とかしようと思いました。しかし、みなさんすごいですね。?皆さん全員プロのプログラマなのですか?
もうちょっと勉強してみたいと思います。ありがとうございました。説明がわかりやすかったです。
0601デフォルトの名無しさん
2016/07/30(土) 12:49:12.22ID:UN9LAiBThttp://docs.ruby-lang.org/ja/2.3.0/class/Hash.html
まあメソッド覚える前に代入とか制御構造とかもっと基礎的なことを最低限理解してからにしろよとは思うが
0602デフォルトの名無しさん
2016/08/02(火) 10:24:25.49ID:7rZajpxG0603デフォルトの名無しさん
2016/08/02(火) 10:34:33.19ID:R1uEEgNe# n番目の列
(n+2+624*26**log(25*n/26+1,26).to_i/25).to_s(26).tr('0-9a-p','A-Z')[1..-1]
# 列sの数
s.tr('A-Z','0-9a-p').to_i(26)+(26**s.length-26)/25
0604デフォルトの名無しさん
2016/08/02(火) 19:33:06.09ID:G8b1DkivDXRubyを使用しており、Rubyのバージョンは2.0 32bit
OSはwindows7 64bitです
カレントディレクトリにあるフォルダを開き、中にあるtxt形式のファイルを取得し
その一行目に書かれていたことにたいしてifを使うにはどうすればいいでしょうか?
0605デフォルトの名無しさん
2016/08/02(火) 19:49:44.99ID:GrXRtLCPいっぺんに全部やろうとするからわからなくなる
↓のように問題を分割して、ひとつずつ調べていけばいいよ
・カレントディレクトリにあるフォルダを開き
・中にあるtxt形式のファイルを取得し
・その一行目に書かれていたこと
・にたいしてifを使う
0606デフォルトの名無しさん
2016/08/02(火) 20:07:22.42ID:R1uEEgNeif (strの条件式)
# やりたいこと
end
0607デフォルトの名無しさん
2016/08/02(火) 21:15:40.05ID:G8b1Dkivでは、二行目を単体で読み込む方法はどうするんでしょうか?
あと一行目と二行目を両方読み込む場合はどうするんでしょうか?
0608デフォルトの名無しさん
2016/08/02(火) 21:20:03.60ID:bMxB9+Teカレントディレクトリ中にある全てのtxt形式のファイルを開く場合
Dir.glob('./*.txt') do |fn|
File.open(fn, 'r:utf-8') do |f|
line = f.readline
if /条件/ =~ line
end
end
end
0609デフォルトの名無しさん
2016/08/02(火) 22:04:55.90ID:R1uEEgNefoo = open("フォルダ名/ファイル名.txt").
line1 = foo.readline # 一行目
line2 = foo.readline # 二行目
大した量じゃないんだからマニュアルを読もう
http://docs.ruby-lang.org/ja/2.3.0/class/IO.html
0610デフォルトの名無しさん
2016/08/03(水) 00:10:59.84ID:qya5GR80http://vipper.2ch.net/test/read.cgi/news4vip/1470062380/
これはrubyのステマするチャンス
0611デフォルトの名無しさん
2016/08/03(水) 00:39:14.55ID:3mARGs2B効率は良くないけど、EXCELで使う程度の数かつ、何十万回も計算を繰り返したりしないなら。
s=“A”; 0.upto(n){s.succ!}; p s
s=“ZZ”; p (“A”..s).to_s.size
0612デフォルトの名無しさん
2016/08/03(水) 02:00:46.62ID:W0lh95XIinject厨が書いてみた:
https://ideone.com/PSRQnw
0613デフォルトの名無しさん
2016/08/03(水) 13:48:51.38ID:zdWIlhYUrubyだと“Z”.nextで”AA”になるから、”A”をスタートとして”ZZZ”までnextをループさせた回数=列の番号になるよ
0614デフォルトの名無しさん
2016/08/03(水) 15:07:33.08ID:mbys/AN5Z -> 26
の 26進数なんだよ
だから
ZZZ -> 26*26*25 + 26*25 + 25 + 1
と瞬時に判る
0615デフォルトの名無しさん
2016/08/03(水) 15:10:29.88ID:mbys/AN5桁の0に相当するものがないから
実際の値は違う
もうちょっと工夫が要るけど
考え方は 26進数
0616デフォルトの名無しさん
2016/08/03(水) 15:17:25.06ID:B5cRJMaSA-Zを A=0, Z=25 の26進数とみなして
s + B..B(Bがsの桁数個) - B が列の番号
だから>>603の下の式のようになる
これの逆変換が求めるものだけど素直にやると桁の左にあるAがなくなってしまうので
一旦 BA..A(Aはsの桁数個)を足しておいて最後にBを削れば良い
それが>>603の上の式
0617デフォルトの名無しさん
2016/08/03(水) 15:26:35.51ID:mbys/AN50618デフォルトの名無しさん
2016/08/03(水) 15:31:21.63ID:B5cRJMaS0619デフォルトの名無しさん
2016/08/03(水) 15:43:49.69ID:B5cRJMaS(n + 2 + 24*26**((25*n + 26).bit_length/4.7).to_i/25).to_s(26).tr('0-9a-p', 'A-Z')[1..-1]
0620デフォルトの名無しさん
2016/08/03(水) 15:51:40.29ID:kO+977FMbk = xl.Workbooks.Add
ws = bk.Worksheets(1)
ws.Cells(1,1).Formula='=column($ZZZ$1)'
puts ws.Cells(1,1).Value
bk.Close
xl.Quit
0621デフォルトの名無しさん
2016/08/03(水) 16:03:32.72ID:W0lh95XIhttps://ideone.com/gO9N9x
これならPerlやPythonのような普通の手続き型言語を知っていれば
容易く読めるし、普通のプログラマが引き継いでも問題無く
保守できるのではないかと思われ
0622デフォルトの名無しさん
2016/08/03(水) 16:46:12.54ID:/NIG+3Tlもうちょい短くできそうでできない
0623デフォルトの名無しさん
2016/08/03(水) 16:53:46.46ID:/NIG+3Tlもうちょい短くできそうでできない
0624デフォルトの名無しさん
2016/08/03(水) 16:56:15.69ID:/NIG+3Tlあと'@A-Y'じゃなくて'@-Y'やな。動くけど
0625デフォルトの名無しさん
2016/08/03(水) 17:02:40.83ID:B5cRJMaSn.to_s(26).tr('0-9a-p',r='@-Y').sub(/(.)@/){$1.tr('A-Z',r)+'Z'}.delete('@') # 75 B
(n+2+24*26**Math.log(25*n+26,26).to_i/25).to_s(26).tr('0-9a-p','A-Z')[1..-1] # 77 B
0626デフォルトの名無しさん
2016/08/03(水) 17:17:54.18ID:/NIG+3Tl0627デフォルトの名無しさん
2016/08/03(水) 18:04:32.66ID:/NIG+3Tl#97B
rubyらしさを捨ててtap使わなければ4B減る
0628デフォルトの名無しさん
2016/08/03(水) 18:06:33.96ID:mbys/AN50629デフォルトの名無しさん
2016/08/03(水) 18:09:55.37ID:B5cRJMaSMath.logを使うのはいつでも正しいよ
>>626が言ってるのは>>623のこと
bit_lengthを使う方も10**20000くらいまでは正しい
0630デフォルトの名無しさん
2016/08/03(水) 18:17:06.18ID:B5cRJMaSlogも9.603431447*10**18989までは正しく動作するよ
0631デフォルトの名無しさん
2016/08/03(水) 18:25:45.78ID:mbys/AN50632デフォルトの名無しさん
2016/08/03(水) 18:28:03.24ID:l8cxGlGj0633デフォルトの名無しさん
2016/08/03(水) 18:34:18.83ID:mbys/AN5余計な制限のあるコードにはコメントが必須
#logも9.603431447*10**18989までは正しい
+46Bだな
0634デフォルトの名無しさん
2016/08/03(水) 18:39:46.41ID:B5cRJMaSなんかキレてんの? システムに依存しない、アホみたいにでかい数値に対してすらいつでも正しいコードなんて存在するわけないだろ
0635デフォルトの名無しさん
2016/08/03(水) 19:05:26.45ID:mbys/AN5切れてないよ
0636デフォルトの名無しさん
2016/08/03(水) 19:14:20.38ID:B5cRJMaSいい加減黙ります ゴルフスレとかあったら面白いかもね
0637デフォルトの名無しさん
2016/08/03(水) 23:34:22.20ID:W0lh95XI・関数型 :(旧) >>612 --> (新) https://ideone.com/OQLdlR
・手続き型:(旧) >>621 --> (新) https://ideone.com/Ja6tP9
String#succ の存在も初めて知ったし、勉強になったわ
0638デフォルトの名無しさん
2016/08/04(木) 01:32:56.67ID:feZwYdLFEnumerator#with_indexはもっと流行っていいと思うんだ
使ってもそんなに短くはならないんだけどさ
0639sage
2016/08/04(木) 01:37:51.37ID:2HyRwUYqstr.strip.upcase.unpack('C*').inject(0){|result, item| result * 26 + item - 0100 }
end
def cel_str( n )
str = ""
while n > 0
n, r = (n - 1).divmod( 26 )
str << (r + 0101).chr
end
str
end
0640デフォルトの名無しさん
2016/08/04(木) 14:01:54.35ID:2HyRwUYq最後は
str.reverse
でした。
0641デフォルトの名無しさん
2016/08/04(木) 23:00:36.83ID:c9zwl1qOどのようにすれば、回避できるでしょうか?
■症状:インサートした日本語文字が文字化けする。
title =
0642デフォルトの名無しさん
2016/08/04(木) 23:04:28.59ID:c9zwl1qOSQLの使用に関して質問です。
どのようにすれば、回避できるでしょうか?
■症状:インサートした日本語文字が文字化けする。
title="あいうえお123"
DB = Mysql.new('host','name','pass','test01')
sql = "UPDATE `test01`.`table01` SET `title` = '#{title}'WHERE `table01`.`id` = '4';"
DB.query(sql)
0643デフォルトの名無しさん
2016/08/04(木) 23:36:28.77ID:QKnNcils0644デフォルトの名無しさん
2016/08/05(金) 06:51:27.16ID:tltzsolzひどいけどこれで十分
0645デフォルトの名無しさん
2016/08/05(金) 07:12:44.43ID:x8TUq60L0646デフォルトの名無しさん
2016/08/05(金) 13:38:20.94ID:LJe/qM3fperlは論外
0647デフォルトの名無しさん
2016/08/05(金) 15:48:28.22ID:UhWsfPtN>>604 です
唐突に質問なのですが
そもそもDXRubyでユーザーに文字を入力させ、それを扱うにはどうすれば良いのでしょうか
0648デフォルトの名無しさん
2016/08/05(金) 15:49:58.62ID:UhWsfPtN連投すみません
RPGの名前入力のようなものです
あと、一旦画面を消すのはどのようにするのでしょうか?
タイトルから本編へとかそういう感じです
結構しらべたのですが.....
0649デフォルトの名無しさん
2016/08/05(金) 16:21:49.83ID:teNswV+zこのへんの基礎知識がないとAPI探せないし何渡していいのかもわからないよ
0650デフォルトの名無しさん
2016/08/05(金) 18:50:19.50ID:UhWsfPtN正直ありません
Rubyが一番最初にやりました
VBSやBASICはやったことがありますが.....
DXRubyを入れて調べながらやっているところです
0651デフォルトの名無しさん
2016/08/06(土) 01:12:59.09ID:8Rl0Ybxyチュートリアルでもやれば、わかるのでは?
0652デフォルトの名無しさん
2016/08/06(土) 04:20:54.79ID:w5zQ+Fii0653デフォルトの名無しさん
2016/08/06(土) 05:53:35.02ID:2mFu6MHmhttps://support.office.com/ja-jp/article/Excel-の仕様と制限-ca36e2dc-1f09-4620-b726-67c00b05040f
0654デフォルトの名無しさん
2016/08/06(土) 07:35:29.07ID:aQkr0mnlチュートリアルには、文字の描画、キーの判定は書いてありますが
全てのキー入力の監視はどうやってやるのかなと.....
0655uy ◆e6.oHu1j.o
2016/08/06(土) 07:40:48.99ID:TO2ybUlLDXRubyにそういうのをやってくれる関数はないよ
ていうか名前をアルファベットに限定するなら、そこまで長いコードにならないから
ユーザー入力部分を自分で書いてみれば良い
DXRubyは綺麗に小さくまとまっている良いライブラリではあるものの
このくらいはさっと書けないと、機能は結構少ないライブラリだから今後も苦労する事になるでしょう
0656uy ◆e6.oHu1j.o
2016/08/06(土) 07:45:28.31ID:TO2ybUlLこんな感じで取得できる
Window.loop do
x = Input.keys
next if x.empty?
p x
end
0657uy ◆e6.oHu1j.o
2016/08/06(土) 07:51:12.27ID:TO2ybUlLいや、DXRuby扱うのにそういう知識は全然いらない
そもそもゲームのライブラリってのは
DirectXやOpenGLの勉強をすっ飛ばして使えるようにライブラリ作者が上手くまとめてくれているもの
0658デフォルトの名無しさん
2016/08/06(土) 08:14:46.43ID:aQkr0mnlありがとうございます!
keysで取得できるんですね!
ありがとうございます!
0659デフォルトの名無しさん
2016/08/06(土) 08:28:12.52ID:aQkr0mnlアルファベット限定でいいのでRPGの名前入力をしたいんですが
ユーザーが文字入力したのをnameという変数に記録し
それを画面に表示っていうのはできますでしょうか?
何度も質問本当にすみません
0660デフォルトの名無しさん
2016/08/06(土) 09:21:45.32ID:xpLjq4a+大抵C++のソース眺めるはめになるんだけどね
0661uy ◆e6.oHu1j.o
2016/08/06(土) 10:26:06.77ID:TO2ybUlLちょっと半端な出来だけど暇だったから書いた
https://ideone.com/r48pB5
文字を打ってエンター押したら
case , when の1のほういくから、そこで文字が青色になるサンプルコード
あと使ってるdxrubyのAPIのInput.set_repeatはこれね
http://mirichi.github.io/dxruby-doc/api/Input_23set_repeat.html
0662uy ◆e6.oHu1j.o
2016/08/06(土) 10:55:37.26ID:TO2ybUlLその辺りのコードは、ゲームでいうと「シーン管理」という
簡単な方法としては
phaseって変数に値を入れて
https://ideone.com/jJPN3k
こんな風に書くのが初歩的なやり方かな
工夫していくと、この辺も奥が深いロジックになるから、
自分なりにクラス化(シーン管理クラス)とか考えてみると良い
ついでに俺に遜った敬語いらんから
2chで身を低くしても得るもの無いぞ
0663デフォルトの名無しさん
2016/08/06(土) 14:50:23.69ID:aQkr0mnlありがとうございます!
whenが9なのはなにか意味があるんでしょうか?
0664uy ◆e6.oHu1j.o
2016/08/06(土) 18:32:46.50ID:TO2ybUlLたいして意味はない
0665デフォルトの名無しさん
2016/08/06(土) 19:22:34.03ID:P6FYCdC3最大値っぽい値にしてる ってとこだろう
0666uy ◆e6.oHu1j.o
2016/08/06(土) 20:43:13.60ID:TO2ybUlLそんなところ
だけど、別にそこまで真似る必要ないからね
自分のコードの癖に突っ込むという、鋭い突っ込み
0667デフォルトの名無しさん
2016/08/06(土) 23:11:34.04ID:aQkr0mnl例えば
test1.rbとtest2.rbいう2つのプログラムファイルがあるとして
test1.rbにはtest2.rbの内容をを実行させるというのはどうやってやるのでしょうか?
自分で、クラスを定義するのでしょうか?
test2.rbの内容はWindow.draw_fontを使いたいです
0668デフォルトの名無しさん
2016/08/06(土) 23:38:13.30ID:FykwWLuaKernel#system
0669uy ◆e6.oHu1j.o
2016/08/07(日) 02:19:16.41ID:ARnnbWqntest2.rbにクラス定義して
test1.rbで
require"./test2.rb"
やれば良いんじゃね
>>668
test1.rb側でウィンドウ生成してるって前提あるだろうからそれ無理
0670デフォルトの名無しさん
2016/08/07(日) 07:23:31.37ID:bL6v3Ot9test2.rbの一行目にClass test2
と、書いて
test1.rbにrequireで読み込みます
そこから例えばAキーが押されたらtest2.rbを実行って
どうやるんでしょうか....
0671uy ◆e6.oHu1j.o
2016/08/07(日) 08:44:57.55ID:PWyfS198その辺がまだわかんない段階なら無理にファイルわけしなくていいと思うぞ
rubyで普通にコード書けば小さめのゲームなんて1ファイルで書ききれるから
test1.rb
https://ideone.com/XyyEb2
test2.rb
https://ideone.com/cAxzVK
一応サンプルとしてはこうなるけど、
0672デフォルトの名無しさん
2016/08/07(日) 08:49:56.24ID:bL6v3Ot9本当に有難うございます
自分でも、もう少しリファレンスとか見てみます!
0673uy ◆e6.oHu1j.o
2016/08/07(日) 08:58:26.20ID:PWyfS198暇なだけだからいいよ
ついでにいっとくと、dxrubyにはSpriteクラスってのがあって
このクラスで描画・移動・当たり判定が全部出来る
rubyの基礎を抑えたら>>671こういうコードじゃなくて
http://mirichi.github.io/dxruby-doc/tutorial/sprite.html
↑ここのサンプルみたいな感じで書いていったほうが良い
速度が10倍以上は違ってくるからね
俺不定期でしかこのスレ見ないけど、まぁがんばって
0674デフォルトの名無しさん
2016/08/07(日) 17:34:52.83ID:bL6v3Ot9速度についてですが
例えばifとcaseで同じ処理するとcaseのほうが早いと思うのですが
同じことをするプログラムでも、コードが短いほうが早いとかありますか?
0675デフォルトの名無しさん
2016/08/07(日) 17:58:57.41ID:T8DF/r+jそんなのあったとしても微差。考えるだけ無駄
それよりアルゴリズムのお勉強した方が早い
0676デフォルトの名無しさん
2016/08/07(日) 18:05:45.89ID:gluNCp1xまずは「Rubyはクソ遅い言語である」という事実を受け入れよう。
じゃあなんでそんなに遅い言語が使われているのかというと、
(1)多くのアプリケーションのボトルネックは言語ではなくDBアクセスやネットワークなどの外部要因だから
(2)速度が重要でないケースは結構多いから
ゲームの例で説明すると、
描画はRubyから直接手を出せないので(1)、更新処理は次の更新までに間に合いさえすればいいので(2)に該当するね
もちろん高度なゲームになると(1)や(2)の前提は成り立たなくなるけど、そのときは残念ながらRubyを捨てる時だ。
0677デフォルトの名無しさん
2016/08/07(日) 19:42:22.24ID:bL6v3Ot9なるほど.....遅い言語なのですね.....
逆に、ライブラリなどを使わず
純粋なRubyが得意とするのはどんなものなのでしょうか?
0678デフォルトの名無しさん
2016/08/07(日) 19:49:02.03ID:6muXneSj0679デフォルトの名無しさん
2016/08/07(日) 19:50:02.91ID:bL6v3Ot9そうなのですか.....
ありがとうございます!
0680デフォルトの名無しさん
2016/08/07(日) 20:27:25.95ID:T8DF/r+j遅いけれども書きやすいのがメリット
速度を求めてDirectX使いたいならふつーにC#使うのがよろし
0681デフォルトの名無しさん
2016/08/07(日) 21:07:14.31ID:bL6v3Ot9上記のコードで@@imageというのがありますよね
時々@@とか@から始まる奴があると思うのですが
あれは、何の意味があるのでしょうか?
0682デフォルトの名無しさん
2016/08/07(日) 21:08:49.00ID:6muXneSjこれよめ
http://qiita.com/mogulla3/items/cd4d6e188c34c6819709
0683デフォルトの名無しさん
2016/08/07(日) 21:12:57.96ID:bL6v3Ot9あ、すみません!
ありがとうございます!
0684デフォルトの名無しさん
2016/08/08(月) 11:25:24.34ID:WWplGsDY0685デフォルトの名無しさん
2016/08/08(月) 11:49:51.61ID:qKDY79To0686デフォルトの名無しさん
2016/08/08(月) 13:22:45.98ID:ldi7UiFIrbenv exec って使ってないんですか?
プロジェクト毎にrubyのバージョン指定するときは
rbebv exec bundle exec rails s
みたいに記述するのかと思うのですが、
ネットだと
bundle exec rails sみたいなのばかりなので、
使わないのか、省略できるのか仕組みがわからないです
0687デフォルトの名無しさん
2016/08/08(月) 15:04:46.88ID:KcW4wK3erbenv のソース嫁!
0688デフォルトの名無しさん
2016/08/08(月) 18:14:11.09ID:1QM6yHGZ掛け算には順序があります
0689デフォルトの名無しさん
2016/08/08(月) 20:31:33.35ID:+4ewFkZdこれのライフサイクルを管理するのところなんですが
self.vanish if self.x > 300
ここなのですが
これはx座標300以降のオブジェクト?は描画しないということでいいんでしょうか?
もしも合っているなら例えば250から300の間のような
座標の範囲指定はどのようにやるのでしょうか?
0690デフォルトの名無しさん
2016/08/08(月) 20:46:46.11ID:7oYgKi44じゃないかな。
てかRubyの基本的な制御構文を勉強した方が良さそう
0691デフォルトの名無しさん
2016/08/08(月) 20:49:48.09ID:qKDY79Toとかもいいかな
>>690の言うようにまずは基本的なことを勉強する必要があると思う
この程度すらわからない かつ その都度人に聞いていたんじゃ全然捗らないと思うよ
0692デフォルトの名無しさん
2016/08/08(月) 22:48:37.77ID:+4ewFkZdチュートリアルが完全に理解できるように
DXRubyじゃなくて普通のRubyをまずは勉強してみます
ほんとうにありがとうございました!
0693デフォルトの名無しさん
2016/08/09(火) 15:01:07.73ID:/QwUjUla0694デフォルトの名無しさん
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で書いたのは、引数で渡されたファイル名の末尾に
0795デフォルトの名無しさん
2016/09/05(月) 02:24:10.75ID:SdDvLzP6これをテストするために"test.bat"を作って、
> test.bat *.txt
という感じでテストしました。
foo(bar).txt
foo(bar)[hoge-huga_fizz].txt
というファイルに対しては、
foo(bar)_.txt
foo(bar)[hoge-huga_fizz]_.txt
となることを期待しましたが
foo(bar)_.txt
foo(bar)__.txt
となります。
色々試したところ、"_"を"a"に変えたり、ファイル名を変更すると期待した挙動になります。
アンダースコアはファイル名的に特別だったりしますか。
ハマりまくっているので助けてください…
0796デフォルトの名無しさん
2016/09/05(月) 02:31:07.88ID:B0VMf5p9codepadなんかで投稿しなおしてみては
0797794
2016/09/05(月) 02:42:18.42ID:SdDvLzP6http://codepad.org/phgMbtNs
0798デフォルトの名無しさん
2016/09/05(月) 03:00:37.69ID:vxYcnkVP投稿のために短く切り詰めたとかじゃなく
そりゃ大変だ
教科書投げ捨てる案件だなコレ
0799デフォルトの名無しさん
2016/09/05(月) 03:17:25.42ID:B0VMf5p9まあともかくdst_filenameには想定通りの文字列が来てるみたいだから、batファイルの問題なんじゃないか
windowsのことはわからん
0800デフォルトの名無しさん
2016/09/05(月) 04:09:04.01ID:DasxJQQ9echo %%f
ruby test.rb %%f
)
こうじゃない?
bat 使わずに ruby だけでやった方が楽だと思うけど。
0801デフォルトの名無しさん
2016/09/06(火) 00:57:19.17ID:JK1a3Uc+せめて、PowerShell_ISE だろ
0802デフォルトの名無しさん
2016/09/06(火) 17:01:21.99ID:XKZPS+fP0803794
2016/09/06(火) 22:28:35.50ID:yRSBEbJdありがとうございました。
0804デフォルトの名無しさん
2016/09/07(水) 06:36:39.93ID:apKIFhKKexit if ARGV.empty? || !File.exist?(ARGV[0])
src_filename = ARGV[0]
begin
dst_filename = src.filename.sub(/.\K(\.)(?=[^.]+$)|$/,TAIL+'\1')
end while File.exist?(dst_filename)
p dst_filename
0805デフォルトの名無しさん
2016/09/07(水) 10:51:39.61ID:dMgwZegprubyをconfigureかmakeまでしたら
make distcleanやっても消えないファイルがあるんですが仕様ですか?
この状態でconfigure && makeすると
executable host ruby is required. use --with-baseruby option.
なって途中で止まっちゃうんです。何でですか?
0806デフォルトの名無しさん
2016/09/07(水) 11:43:57.58ID:mGf42UhLをそのまま訳すなら「動かせるrubyが必要だから--with-baserubyオプション使えよ」って事になる
ぐぐったら色々出てくるけど、ソースからコンパイルしてインストールしようとしてるの?
情報不足だからこれ以上はわからない
インスコするならrbenvとかRPM使ったほうが楽に入れられると思う
0807デフォルトの名無しさん
2016/09/07(水) 12:03:10.18ID:YSZpbVenおまいが悪い
ruby 側の問題
ループ中でファイルが増えてるので
同じファイルにアクセスし続けてる
ファイル一覧を一旦リストに入れてから処理すれば成功するだろう
0808デフォルトの名無しさん
2016/09/07(水) 12:05:38.78ID:YSZpbVen原因はディレクトリのソート順かもしれんな
いずれにしてもループの要素をループ中で増減するのは危険
0809デフォルトの名無しさん
2016/09/07(水) 21:57:51.62ID:tAhMeQ6s0810デフォルトの名無しさん
2016/09/08(木) 00:34:49.37ID:zamWLbBna_.txt ファイルが作られた後、それがbatのループに拾われて、
a__.txt ファイルが作られるとか?
別のディレクトリに、ファイルを作るとか、
ループ終了後に、まとめてファイルを作るなど、排他的に処理すべき
>>805
>make distcleanやっても、消えないファイルがあるんですが、仕様ですか?
makefileの、distcleanの所を見れば?
0811デフォルトの名無しさん
2016/09/08(木) 09:23:30.37ID:gPBbc6Mn別に問題ない
0812デフォルトの名無しさん
2016/09/08(木) 17:03:47.71ID:vq3pb7wp以下のようなJSONファイルをJSON.parseしてhogeに格納しました
[ { "id":"1","kana":"あ","boin":"a" } ]
この状態で「p hoge.class」するとArryを返されます
JSONファイルをこうすると
{ "id":"1","kana":"あ","boin":"a" }
Hashを返されます
[{…},{…},{…}]のJSONファイルをHashに格納したいのですが
なにか良い方法はありませんでしょうか
よろしくお願いします!
0813デフォルトの名無しさん
2016/09/08(木) 18:11:48.06ID:uHWEQ8CC[ { "id":"1","kana":"あ" }, { "id":"2","kana":"い" }, { "id":"3","kana":"う" } ]
がどう変換されたいのか書いてみて。
0814デフォルトの名無しさん
2016/09/08(木) 20:24:23.21ID:gPBbc6Mn0815デフォルトの名無しさん
2016/09/08(木) 21:19:39.88ID:5PY6byd9hoge.inject({}) {|result, item| result.merge(item) }
hoge.inject({}, &:merge) # 省略形
0816デフォルトの名無しさん
2016/09/08(木) 21:29:09.66ID:s09Hu+LE0817デフォルトの名無しさん
2016/09/08(木) 22:09:36.89ID:gPBbc6Mn[*1..9].reduce(&lambda{|a,b|a+b}) #=> 45
少なくとも1.8.7の頃からできるよ
0818デフォルトの名無しさん
2016/09/08(木) 22:21:38.10ID:s09Hu+LEinject/reduceは意図的に両方OKな設計にされてるのね
0819デフォルトの名無しさん
2016/09/09(金) 04:17:17.09ID:LpeB3e0iary = [ { "id":"1","kana":"あ" }, { "id":"2","kana":"い" }, { "id":"3","kana":"う" } ]
h = ary[1]
p h
{:id=>"2", :kana=>"い"}
0820デフォルトの名無しさん
2016/09/09(金) 07:40:28.22ID:Lk44lMhwbat でやりたいことは、コマンドライン引数のワイルドカード展開なんだろうけど、
# test.rb
p ARGV
---
test.rb *.txt
って、やってごらん。
マニュアルに書かれているようにワイルドカード展開に `*', `?', `[]', `**/' が使える。
Windows環境で []等を含めたければ ''括る、とも書いてあるね。
0821デフォルトの名無しさん
2016/09/09(金) 13:22:13.98ID:nAt2a2k9そのままやればいいんじゃないの?
hash1, hash2, hash3 = JSON.parse(json_string)
0822デフォルトの名無しさん
2016/09/10(土) 11:26:54.07ID:0WfpQ0VBfalse
:end
>ruby -e ' p false && echo;p :end'
false
p :end'
Windowsで'-e'に対してシングルクォート(')でスクリプトを書くと
'|' や '&' や '&&' がコマンドプロンプトのコマンドとして認識されてしまうんですがおま環ですかね?
ruby 2.3.1p112 (2016-04-26 revision 54768) [x64-mingw32]
Windows8.1(x64)
0823デフォルトの名無しさん
2016/09/10(土) 11:36:17.02ID:0WfpQ0VB無視してくださいorz
0824デフォルトの名無しさん
2016/09/10(土) 13:37:43.64ID:QUVRyXDh0825デフォルトの名無しさん
2016/09/11(日) 16:04:49.34ID:4fbcKkyuどのように書けばよいのでしょうか
str == (("apple") || ("banana"))
のようにかけるかと思ったのですがうまくいきませんでした
これは論理演算子の左辺がfalseだった場合、右辺は実行されないというrubyの仕様によるものだということはわかったのですが、
ではどうしたらいいのかということがわかりません
0826デフォルトの名無しさん
2016/09/11(日) 16:06:07.87ID:qOBSijlm0827デフォルトの名無しさん
2016/09/11(日) 16:16:38.56ID:4fbcKkyu教えていただきありがとうございます
助かりました
0828デフォルトの名無しさん
2016/09/11(日) 16:32:54.36ID:UPswGxCa!!(str =~ /\A(apple|banana)\z/)
やり方はいろいろ
0829デフォルトの名無しさん
2016/09/11(日) 18:08:52.74ID:7mVeUw5e0830デフォルトの名無しさん
2016/09/13(火) 08:22:10.35ID:LgDBG7c/0点
論理和
論理積
コード(演算子)の処理順序
などを少し整理する事をすすめる
0831デフォルトの名無しさん
2016/09/13(火) 16:29:06.06ID:aXWSAFy4正規のURLだけの情報えお拾いたいのですがどのような方法がありますでしょうか?
0832デフォルトの名無しさん
2016/09/13(火) 16:35:24.92ID:aXWSAFy4anemone.skip_links_like /除外対象のURLパターン/
で文字化け部分を指定しても改善にはいたりませんでした。
0833デフォルトの名無しさん
2016/09/13(火) 16:36:46.35ID:80RPfzdF0834デフォルトの名無しさん
2016/09/13(火) 16:45:49.24ID:aXWSAFy4URLエンコードです。
デコードすると正規のURLに変換できます。
0835デフォルトの名無しさん
2016/09/13(火) 16:46:32.94ID:Z1s//V7/%なしを正規として扱うのはわかってやらないのならオススメしない。
0836デフォルトの名無しさん
2016/09/13(火) 16:51:13.41ID:80RPfzdF一応検索したら出てきたもの
http://qiita.com/foloinfo/items/435f0409a6e33929ef3c
0837デフォルトの名無しさん
2016/09/13(火) 17:04:47.99ID:mdhMcfhGfocus_crawl で、いらないとお前が思うリンクを弾いたら?
0838デフォルトの名無しさん
2016/09/13(火) 17:19:43.00ID:aXWSAFy4参考リンクの情報ありがとうございます。
一通り試してみますm(_ _)m
>>837
ご返信ありがとうございます。
具体的に申しますと、
[ → %5B
] → %5D
のように、カッコ部分がエンコード/デコードで重複して出力されます。
link.to_s.matchで[●●]や%5B●●%5Dといった条件付けで巡回ページを指定しても、
両方のパラメータが出力されてしまうようです。
0839デフォルトの名無しさん
2016/09/13(火) 19:00:51.61ID:sMHYkxL70840デフォルトの名無しさん
2016/09/15(木) 01:10:39.64ID:EGe9UG5cクラスにincludeした際にmoduleの別のインスタンスメソッドから呼び出すために用意してみたんだけど…
ちなみにクラスメソッドのような使い方は想定してないのでmodule_functionとかは利用しなかった
0841デフォルトの名無しさん
2016/09/15(木) 19:46:09.23ID:8swlNZts{ :name => "bar", :address => "piyopiyo"} ]
↓で「data」の中のハッシュを取り出せました
data.each do |list|
puts list[:name]
puts list[:address]
end
「data」から「:address」に"fuga"を含むハッシュだけを取り出したいんですがうまくいきません
どうかアドバイスをお願いしますm(_ _)m
0842デフォルトの名無しさん
2016/09/15(木) 20:05:06.44ID:2bVUIpAa0843デフォルトの名無しさん
2016/09/15(木) 21:56:41.38ID:4Lbf8ykuありがとうございます
試して見ます!
0844デフォルトの名無しさん
2016/09/15(木) 23:26:56.53ID:UCCDVfNQhttps://ideone.com/xp2IB6
0845デフォルトの名無しさん
2016/09/16(金) 01:04:31.60ID:egLfcP1Pfugafgaではなくgafで抽出したい場合は正規表現使う感じでしょうか
0846デフォルトの名無しさん
2016/09/16(金) 06:12:33.38ID:DLAZUyzS0847デフォルトの名無しさん
2016/09/16(金) 07:56:10.76ID:6a7QMzs2構造化データを扱う際、Hashの配列よりも、
クラスまたは、Struct(簡易クラス、クラスジェネレータ)のような専用の型を、使った方がいい
data[:name]
キー名のような実装の詳細が、隠蔽されず表に出てくる。
また、存在しないキーは、nilとなる
Person = Struct.new(:name, :address) #定数に代入
data = Person.new("foo", "fugafuga")
data.name
Structでは属性になるから、getter, setter も付いているし、
存在しない属性名でアクセスすると、NoMethodErrorになる
0848デフォルトの名無しさん
2016/09/16(金) 09:30:54.73ID:DLAZUyzS複雑にネストしたJSONとかでもそっちのが良いの?
うまく使いこなせる気がしない
0849デフォルトの名無しさん
2016/09/16(金) 09:37:52.73ID:6a7QMzs2data.select{|it| it[:address].match(/gaf/) }
0850デフォルトの名無しさん
2016/09/16(金) 09:44:38.44ID:6a7QMzs2一方、項目がコロコロ変わるような場合、
何の項目が来るのか、わからない場合は、Hashがいい
0851デフォルトの名無しさん
2016/09/16(金) 10:32:56.00ID:S3qmK1RfEffectiveRubyの項目10を読んでみました
プログラミング初心者なので書いてあることの半分も理解できませんが
クラス化して汎用性のあるものを作れるように最初から読み込んでみます!
なんとなくやってみたいことが動くというところまでは行きたいので
文字のマッチングから>>841の「data[0]」を出力できるところまでやってみたいと思います
ありがとうございます!
0852デフォルトの名無しさん
2016/09/16(金) 23:44:30.69ID:6a7QMzs2まず「たのしいRuby 第5版、2016」で文法を勉強すべし
クラス・Structは、DBのレコードのように、項目が固定されている場合に使う
一方、Hashは、事前に項目(キー)がわからない場合。
例えば、文章に出てくる英単語を、使用回数が多い順に並べるとか
0853デフォルトの名無しさん
2016/09/17(土) 00:12:19.00ID:PduQX1gXそのレベルの本はいらんやろ。
0854デフォルトの名無しさん
2016/09/17(土) 15:43:11.73ID:3YKrhMdtみないた、newを使わないインスタンスの生成方法って可能ですか?
以前どこかでこの形を見たような記憶があるのですがとてもあやふやで、
確認しようと色々さがしてみたら見当たりませんでした
やはり記憶違いでしょうか?
0855デフォルトの名無しさん
2016/09/17(土) 15:43:54.52ID:VbfmfVd0Foo というメソッドを定義すればいい
0856デフォルトの名無しさん
2016/09/17(土) 18:42:02.15ID:9X+eFsUZ最初にカードの枚数が与えられ、次にカードのシンボルと数字がスペース区切りのセットで与えられます。
例えば、スペードの5なら「S 5」と言った感じです。自分はまだ初心者なので効率的なやり方がわからず、
とりあえず、case文で場合分けして配列に入れるやり方を考えてみました。以下が組んだコードです。
num=gets.to_i
s=[]
h=[]
c=[]
d=[]
i=1
while i<=num
symbol, numeric = gets.chomp.split
case symbol
when symbol=="S"
s<<numeric
when symbol=="H"
h<<numeric
when symbol=="c"
c<<numeric
when symbol=="d"
d<<numeric
end
i+=1
end
print s
とりあえず確認がてらスペードの配列を表示させようとしたら、空配列しか返ってきません。どの部分がおかしいのか
ご指摘いただけませんでしょうか。
0858デフォルトの名無しさん
2016/09/17(土) 19:21:36.45ID:Bzzyu0/Qcase when構文がおかしいので再確認を
caseで場合分けせんでも
cards = Hash.new{|h,k| h[k] = [] }
while i <= num
symbol, numeric = gets.chomp.split
cards[symbol] << numeric
i += 1
end
でいいんじゃないかなと思うんだが
0859デフォルトの名無しさん
2016/09/17(土) 19:39:53.49ID:9X+eFsUZうぬ・・・いつのまに・・・めんぼくない
>>858
おお、動きました。すごいな。あまりよくわからないけど、なんとなくわかりました。ありがとうございました。
とにかく、「動いた」のが素晴らしい。あと、できれば、前述のコードが意図したとおりにならない理由を
教えていただけるとありがたいです。
0860デフォルトの名無しさん
2016/09/17(土) 21:27:40.73ID:owPS/qUicase symbol
when 'S'
s << numeric
......
まあこの場合は when 'S' then s << numeric と1行で書くのもアリ
0861デフォルトの名無しさん
2016/09/17(土) 22:34:10.05ID:/l22qB3WRubyやめてPythonへ行けばいい
0862デフォルトの名無しさん
2016/09/17(土) 23:58:36.86ID:owPS/qUiclass Foo
def self.[](a)
new(a)
end
end
foo = Foo[0]
p foo.class #=> Foo
0863デフォルトの名無しさん
2016/09/18(日) 09:35:45.27ID:MJhMf8Puなるほど!書かれるまで全く気付かなかった・・・確かに書き方がおかしい
ありがとうございます。
0864デフォルトの名無しさん
2016/09/18(日) 17:41:19.27ID:aAaRWXxI0865デフォルトの名無しさん
2016/09/18(日) 17:53:33.43ID:hCSpHgBW0866デフォルトの名無しさん
2016/09/18(日) 20:19:58.81ID:arvHcK2+0867デフォルトの名無しさん
2016/09/18(日) 21:46:51.64ID:zoqzORWfcase symbol を
case だけにすれば、if 〜 elsif 〜 elsif 〜 相当のことが出来る。
条件式の位置が揃うので、if,elsif より良い感じ。
0868デフォルトの名無しさん
2016/09/18(日) 23:03:18.09ID:7E6Tur9dありがとうございました
やはり記憶違いのようでした
ですが、ググッている時に[]=のオーバーロード(?)に関する話を見つけられました
下の感じのコードです
class Foo
def []=(a,b,c,d)
p a,b,c,d
end
end
Foo.new()[1,2,3]=4
0869デフォルトの名無しさん
2016/09/18(日) 23:41:47.34ID:oCekGsiM0870デフォルトの名無しさん
2016/09/19(月) 12:13:31.03ID:iIvzjj/tトランプのカードでは、カード[マーク][数字]のように、
2次元配列で管理すると、うっとおしいから、1次元配列にした方がいい
それで幾つか、変換関数を作っておく
0871デフォルトの名無しさん
2016/09/19(月) 13:04:45.74ID:GqLEG2EIいろいろな表現の仕方があるんですねー
>>870
なるほど…自分はまで全然経験値が足りないので、とにかく動きさえすればいいやと思って
コードを組んでるのですが、これがまた見事に動かないという…
とにかく数をこなそうと思います。ありがとうございました。
0872デフォルトの名無しさん
2016/09/19(月) 16:36:48.51ID:H3IN7nVePythonじゃあ駄目なの?
利点と差別化を教えて
0873デフォルトの名無しさん
2016/09/19(月) 16:40:16.95ID:fIqWe4kn特に無名関数、クロージャーがすごく書きづらい。
あとデバッグ用にわざと目立つように行頭にprintくのが出来なかったり
行を入れ替えたりするだけでインデントを揃えさせられるのが面倒。
0874デフォルトの名無しさん
2016/09/19(月) 18:19:57.44ID:jZTV89ee使ってるのはRubyじゃなくてRails
単体でバッチ処理書いたりするときはPython使うわ
RoRと同等の使い勝手のPython on Railsがあれば迷わず乗り換えるけど、
やっぱりRubyはフレームワークのDSLとして使うには最適な言語なんだと思うよ
0875デフォルトの名無しさん
2016/09/19(月) 18:22:24.29ID:EdcTl4fm> なんであらゆる面でPythonに劣っていると言われる
どこでその情報を手に入れたのか知らんが、「あらゆる面で」とかいうdisり
ワードをぶっこんでるような記事に論理性はほぼないから質の低さを笑うぐらいしか
読む価値ないよそれ
0876デフォルトの名無しさん
2016/09/19(月) 19:49:24.51ID:FmjNH1Zy0877デフォルトの名無しさん
2016/09/20(火) 00:19:19.79ID:w6mPkDpe時代遅れの言語よ
0878デフォルトの名無しさん
2016/09/20(火) 01:37:58.83ID:fS5Ni7aU0879デフォルトの名無しさん
2016/09/20(火) 08:18:08.16ID:9l0NUqqbキッシュイーターよ
0880デフォルトの名無しさん
2016/09/20(火) 09:49:01.89ID:Xg0W+RA8Pythonに乗り換えます
0881デフォルトの名無しさん
2016/09/21(水) 16:10:02.25ID:zFZPh8Mh頂点(xyzの3要素)を列ベクトルとして、4x4の変換マトリクスに掛け合わせると
:in `*': Matrix dimension mismatch (ExceptionForMatrix::ErrDimensionMismatch)
というエラーがでちゃう
これ、頂点側にもw要素必要ってことなの?
0882デフォルトの名無しさん
2016/09/21(水) 16:18:10.30ID:23vZJdQL0883デフォルトの名無しさん
2016/09/21(水) 16:30:40.93ID:zFZPh8Mh列ベクトルじゃなくて行ベクトルかけてた
ほんとごめんなさい
0884デフォルトの名無しさん
2016/09/21(水) 17:18:28.43ID:23vZJdQL0885デフォルトの名無しさん
2016/09/21(水) 17:23:40.85ID:ib8am8Zc馬鹿には無理
0886デフォルトの名無しさん
2016/09/21(水) 21:50:37.29ID:PZB1d7j5http://vipprog.net/とpaiza見てるんだけど、前者はちょっと問題が難しくて、paizaはBまでやったけど結果が出ないのでわかりにくい
便利なサイト、分かりやすいのがあれば嬉しい
0887デフォルトの名無しさん
2016/09/21(水) 21:55:25.11ID:23vZJdQL0888デフォルトの名無しさん
2016/09/21(水) 22:36:45.56ID:lN+U+lYoyukicoder がいいと思うよ
0889デフォルトの名無しさん
2016/09/21(水) 23:23:10.02ID:lMM9KPqs0890デフォルトの名無しさん
2016/09/21(水) 23:27:54.15ID:lN+U+lYoそう思う人はわざわざ書き込まないよ
なぜなら時代遅れなものに興味は持たないからねw
0891デフォルトの名無しさん
2016/09/22(木) 00:55:23.81ID:gXd2kX85ユキコーダーを下からぽちぽちやっていきます
ありがとう
0892デフォルトの名無しさん
2016/09/22(木) 01:31:58.64ID:XjtOZmELそのまま競技プログラミングの世界においでw
この世界で使う英語はパターンも対して多くないから、yukicoder で問題パターンをある程度把握できたら
海外の問題文もそれほど苦もなく読めるようになるよ
0893デフォルトの名無しさん
2016/09/23(金) 00:04:42.79ID:sc2fhvDP進めるべき参考書を入門書からフローチャートで教えてくれたら入信しようと思ってるんだが教えてくれない?
0894デフォルトの名無しさん
2016/09/23(金) 00:07:59.29ID:jTBVehdT入信とか考えてたらロクなことないよ
どっちも使えるようになるぐらいの気概を持たなきゃ
0895デフォルトの名無しさん
2016/09/23(金) 01:22:30.21ID:FvMngb//機械学習ならPython
0896スッキリ厨
2016/09/23(金) 01:25:28.31ID:Krl8LY6kスッキリわかる Java入門 第2版、2014
その後、この2冊をこの順に読む
たのしいRuby 第5版、2016
みんなのPython 第3版
クラスを使わないのなら、スッキリを飛ばしてもよい。
ただし、オブジェクト指向の概念がわからない
たのしいだけ読んで、プログラミングするのもいい。
ただし、たのしい・みんなは表裏一体だから、一緒に読むと効率的
0897デフォルトの名無しさん
2016/09/23(金) 12:33:08.19ID:rjSPjZ1K>>896 のはどれも読んでないけど
使えるようになったよ
0898デフォルトの名無しさん
2016/09/23(金) 12:38:44.06ID:cbvburLVrbファイルをrequireするときファイル名に日本語(マルチバイト文字)が混ざってるとno such file to loadになってしまうのはどうすれば…
1.8系では普通に日本語名のファイルも読み込めてたんだが
0899デフォルトの名無しさん
2016/09/23(金) 12:39:54.36ID:rjSPjZ1K0900デフォルトの名無しさん
2016/09/23(金) 12:57:09.05ID:jTBVehdT1.9.2って…相当化石だぞ
2.3 以降使おうぜ
0901デフォルトの名無しさん
2016/09/23(金) 14:01:02.74ID:SuD2ulXnrubyだけじゃなくどんな言語にも適用できるめっちゃ便利なコードの書き方や考え方が書いてある
しかも抽象的じゃなく、具体的で簡潔なコード中心だから面倒くさくなくて中高生でも理解できる
個人的には、テストの章とテクニックカタログの章だけは軽く流すか必要になってから読めば良いと思ってる
0902デフォルトの名無しさん
2016/09/23(金) 14:19:37.45ID:AqTRNsCZってわけにはいかんのかの
0903デフォルトの名無しさん
2016/09/23(金) 16:07:06.95ID:FvMngb//そうでないならエラーの原因を徹底的に探すのも正しい
0904デフォルトの名無しさん
2016/09/23(金) 16:08:52.20ID:FvMngb//良書だけど初心者には意味が分からないと思う
あるていどオブジェクト指向に慣れてないと
0905デフォルトの名無しさん
2016/09/23(金) 16:15:35.95ID:C/wzQI6i先日教えてもらったyukicodeをたまにやりつつ、実際何かを作ってみたい
環境構築しようとNetbeans入れたりなんやらしてるけどエラーが出てきてその度にくじけそうになるぜ
0906デフォルトの名無しさん
2016/09/23(金) 19:36:41.06ID:ytBluy/j環境構築の最初の一歩はまずWindowsを投げ捨てるところから
0907デフォルトの名無しさん
2016/09/23(金) 21:49:29.32ID:SuD2ulXnすでにある環境変数のPathの値に「;C:\ほにゃらほにゃら\ruby\bin」のパスを一番後ろに追加して書き加えればいいんじゃないの?
公式に挙げられている、ActiveScript版のrubyをダウンロードするなら、
OSがwin32ならRuby-x.x.x (x86-mswin32)の好きなヴァージョン、win64ならRuby-x.x.x (x64-mswin64)の好きなヴァージョンを選べばいい
インストール版はPathを処理してくれるかどうか知らないので、インストール後に自分でPathの値が更新されているか確認して
後はコマンドプロンプト(ランチャーもしくは「ファイル名を指定して実行」でcmdを入れて)起動させて、
「ruby foo.rb」でも「ruby bar.rb」でも「ruby test.rb」でも好きなように
rubyのコード書いていくなら「メモ帳」か「さくらスクリプト」で、保存時に文字コードをUTF-8やSJIS等に自由に変えられる奴が一番楽かつ安全に始められると思う
OSのヴァージョンによってコマンドプロンプト等のコンソールの入力がSJISだけかUTF-8可なのか変わって、最新のならUTF-8で扱われる、て聞いた
Rubyも1.8、1.9、2.0〜の、三つの系統で文字列コードの扱いが異なる
とりあえずは、「p "halloween"」と書いて、文字列の出力を成功させるといい
0908デフォルトの名無しさん
2016/09/23(金) 23:17:21.60ID:41Vs6wmqwin7だからAptanaStudio3を入れてやってけど、結構色々できて楽しいわ
ただ実行はできるけどデバッグしようとすると長々とエラーを吐くから今後が心配
byebugとかpry-byebug入れておいたから最終的にこれで良いのかな
0909デフォルトの名無しさん
2016/09/23(金) 23:48:28.26ID:SuD2ulXnrubyのデバッガ関係の話は全然知らない
どうなってるんだろ?
0910デフォルトの名無しさん
2016/09/24(土) 00:31:31.06ID:2/Geubwuそういうのが良くわからん
似たような処理が増えてしまう
0911デフォルトの名無しさん
2016/09/24(土) 00:57:19.72ID:ODF3DSxf文系だな
数学の素養がない
因数分解からやり直せ
0912デフォルトの名無しさん
2016/09/24(土) 01:41:30.89ID:Bym2Ra4cなぜ分けなければならないかの理由を知る事こそが一番必要なんだ
これがわかっていないとクラス、モジュール等に分けて使う意味が希薄化して、
最終的に使わなくても良いじゃないかとなってしまう
で、上の方で出たリファクタリング:Rubyエディションなんだけど、
それがずばり書かれてある
どう分けるかという方法より、なぜ分けなければならないのか理由が書かれてある
なぜ分けなければならないのか、を理解するとどのように分けるのか自ずと判明し、
頭空っぽでコードを即、書けるようになる
実はこれは、リファクタリングを行うまでにやっておくべき事で、
リファクタリングはこの上に成り立っている
まぁ、本にも書いてある事だけど、最初から見通しの良いコードを悩んで生み出そうとして時間を浪費するより、
リファクタリングしやすいコードを頭空っぽで躊躇なく書いていって、
汚くなったらリファクタリングして見通しをよくしていくってスタイルが、最終的に一番良いんじゃないかな
(何故なら、絶対に当たる将来の予言なんかできないから、未来を想定して絶対に変更しないコードなんて人間には書けない。
だからこそクラスやモジュールをつかってコードを再利用し、かつ書き直し安いコードを頭空っぽで書いて行きましょうって事)
当の本も抽象的な事より、具体的で簡潔なコード中心だからRubyさえ出来れば誰でも簡単に理解できる
0913デフォルトの名無しさん
2016/09/24(土) 03:29:05.33ID:ts45zeFcお前一年位前にも同じレスしてなかったか
0914デフォルトの名無しさん
2016/09/24(土) 06:45:49.04ID:jSgJTuJa気持ちはすごくよく分かるが、くだらない落とし穴で時間を無駄にしてるのがだんだんアホらしくなってくる
後々経験として役に立つ苦労ならともかく、そんな暇があったらUNIX触ってた方がよほど役に立つというね
ソースは俺
0915デフォルトの名無しさん
2016/09/24(土) 09:27:40.42ID:ctlnAmJS0916デフォルトの名無しさん
2016/09/24(土) 10:18:30.88ID:2/Geubwuありがとう
0917デフォルトの名無しさん
2016/09/24(土) 10:44:48.13ID:fvqTVwn4UnixなMacならRuby使うにあたってはWindowsより落とし穴は確実に少ないと思うぞ
Windowsもbash on Windowsがもうちょっとまともに使えるようになれば状況は変わるかも
しれないけどね
0918デフォルトの名無しさん
2016/09/24(土) 13:11:53.19ID:Bym2Ra4cwinかlinuxならどちらかにこだわる人がいて、
その理由も双方納得出きるほど合理性がある
でもmacはこだわる必要性はまったく無いだろ
何かあんの?
0919デフォルトの名無しさん
2016/09/24(土) 15:22:41.06ID:fvqTVwn4MacOSはなんちゃってUn*xではない、正統なUnixだからね
0920デフォルトの名無しさん
2016/09/25(日) 10:00:28.63ID:WGcjTmiYextconf failed, exit code 1が出てBundleUpadateやDevkitの再インスコやってみたけど変わらず
何か解決方法を知っている人いたら教えてください
0921デフォルトの名無しさん
2016/09/25(日) 10:11:48.07ID:Yid/aIUh0922デフォルトの名無しさん
2016/09/25(日) 10:22:55.56ID:WGcjTmiYエスパーじゃないんだから分かる訳無いだろ
質問の仕方も分からない初心者なんだからそういうツッコミはもうちょっと長めに頼む
0923デフォルトの名無しさん
2016/09/25(日) 11:55:30.67ID:dZs079/I・使ってるOSとビット数
・Railsのインストールに使ったものとそのバージョン
・何をやろうとしてそのエラーが出たのか
・多分コマンドラインにエラーが表示されてるからそれをまるごとコピー
これぐらいは最低限欲しい
0924デフォルトの名無しさん
2016/09/25(日) 12:00:53.76ID:ISX7o04+そのレベルならまずは本買ってきて一字一句違えずにその通りやれ
0925デフォルトの名無しさん
2016/09/25(日) 13:23:10.46ID:6V8k6iac0926デフォルトの名無しさん
2016/09/25(日) 13:45:50.88ID:hrPU7kVw0927デフォルトの名無しさん
2016/09/25(日) 14:26:19.46ID:xgjFkYJ1スレッドBからArray#eachで読み出したいと考えています
eachで読み出している最中に要素が追加されても問題ないでしょうか?
whileで条件を確認しながらArray#shiftで読むと遅いので出来ればArray#eachを
使いたいのですが・・・
0928デフォルトの名無しさん
2016/09/25(日) 14:29:48.97ID:oyerjsz0素直に Thread::Queue 使えばええんとちゃうのん?
0929デフォルトの名無しさん
2016/09/25(日) 14:39:24.97ID:hrPU7kVw別の配列に、書き込めばいい
そうしないと、バグる
0930929
2016/09/25(日) 14:41:30.46ID:hrPU7kVwスマン。更新じゃなくて、追加だな
0931デフォルトの名無しさん
2016/09/25(日) 19:32:28.37ID:YdU0dJzElibev-dev が入ってない気がする。
0932デフォルトの名無しさん
2016/09/25(日) 21:15:17.31ID:xgjFkYJ1そんなのあったっけ・・・っと思ったら2.3から追加された物ですか
今すぐに動かせるのは2.1なので試せていませんが
リファレンスマニュアルを読むとpushで追加しpopで読み出していくようですね
これだと結局whileで条件を見ながらループを回すようですが速くなるのでしょうか?
>>929
バッファを2つ用意して交互に使用しeachで読み出すようにしたらwhile&Array#shiftの
1/3くらいで処理が終わるようになりました。コードの可読性が低下しましたけど
0933デフォルトの名無しさん
2016/09/25(日) 21:18:44.25ID:oyerjsz01.9 にも Queue クラスあるよ
0934デフォルトの名無しさん
2016/09/25(日) 22:03:00.52ID:xgjFkYJ1えっ?リファレンスマニュアルを見てもそれっぽいのはないような・・・
0935デフォルトの名無しさん
2016/09/25(日) 22:07:55.11ID:oyerjsz0https://docs.ruby-lang.org/ja/1.9.3/class/Queue.html
0936デフォルトの名無しさん
2016/09/25(日) 22:29:32.99ID:w3+kVjO9>>935
ビルトインじゃなくてそっちかよw
2.1にもあるようなので試してみます
0937デフォルトの名無しさん
2016/09/26(月) 14:34:41.04ID:ymOrEJcI>コードの可読性
君の経験が足りないだけだよ
0938922
2016/09/27(火) 07:33:34.37ID:NSert0FA教えてください。
・Win10 64bit Ruby2.3.1p112 Bundler1.13.1
gem rails installすると
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
current directory: C:/Ruby23/lib/ruby/gems/2.3.0/gems/nio4r-1.2.1/ext/nio4r
C:/Ruby23/bin/ruby.exe -r ./siteconf20160927-10924-161qu8n.rb extconf.rb
checking for unistd.h... *** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
中略
extconf failed, exit code 1
と出てRailsをインスコできないので、対処法ご存じの方教えてください。
よろしくお願いします。
0939デフォルトの名無しさん
2016/09/27(火) 08:46:30.98ID:iZeFgu2iDevKitのインストール先で ruby dk.rb init、ruby dk.rb install
0940デフォルトの名無しさん
2016/09/27(火) 08:51:36.06ID:NSert0FADEVKITは導入済み
一応再度やってみたら
[INFO] Skipping existing gem override for 'C:/Ruby'
[WARN] Skipping existing DevKit helper library for 'C:/Ruby'
と出てきたのだけど、これは既にあるからスキップしたよってことでいいのかな
0941デフォルトの名無しさん
2016/09/27(火) 09:37:14.96ID:iZeFgu2i0942デフォルトの名無しさん
2016/09/27(火) 09:40:30.89ID:fC9vfSe2RUBY VERSIONが2.3.1である事
RUBY EXECUTABLEが変なのになってないか
ruby -rdevkit -e"puts ENV['RI_DEVKIT']"
Devkitのパスが表示される事
それぞれ確認
0943デフォルトの名無しさん
2016/09/27(火) 12:34:25.41ID:l7d7Fmom諦めてMac買うかVirtualboxにLinux入れようぜ
Railsならどうせ運用はLinuxなんだからWinで苦労するだけ時間の無駄
0944デフォルトの名無しさん
2016/09/27(火) 12:50:04.66ID:H3ALlq6QRuby on Win自体を否定するわけじゃないがRailsとなるとさすがにやめといた方がいい
Vagrant使えばネイティブと遜色ない使い勝手でVirtualBox上のLinuxのRubyが使えるよ
0945デフォルトの名無しさん
2016/09/27(火) 12:52:25.17ID:xpAbcIxp0946デフォルトの名無しさん
2016/09/27(火) 19:19:06.74ID:X5TalmgPあれは酷いよな
結局Ruby2.3だと無理だったからRailsInstalleで入れたからRubyだけ2.2.5だわ
いまだによく分からん
0947デフォルトの名無しさん
2016/09/27(火) 20:49:35.70ID:FT4BHNA6http://masamitsu-murase.blogspot.jp/2013_05_01_archive.html
gem uninstall sqlite3でダメなやつを消しておくのを忘れずに
0948デフォルトの名無しさん
2016/09/27(火) 23:56:19.00ID:NSert0FA教えてくれた人ありがとう、あなた達はエスパーだ。
0949デフォルトの名無しさん
2016/09/28(水) 13:58:43.24ID:5Dppgsl7・環境
win7-64bit
Ruby2.2.5-x64
Rails-5.0.0.1
Apatasudio3
・症状
apatasudio3で新規でrailsプロジェクトを立ち上げると以下の文章が表示されて必要なファイル群が作成されない
$ rails .
sh.exe": rails: command not found
が出てファイル群やgemfileが生成されない
ターミナル上でrails new my-rails-appなどを打ち込んだ場合にはファイル群が生成される
なんでこんなに環境構築するのが面倒なんや……
0950デフォルトの名無しさん
2016/09/28(水) 14:04:25.71ID:LrnfCbIH0951デフォルトの名無しさん
2016/09/28(水) 15:16:47.47ID:5Dppgsl7パスを通すっていうのは分かるんだけど、どこのパスを通せば良いのか分からん……
gitのsh.exeがあるフォルダのパスを環境変数のPathに入れてみたけどダメだし
0952デフォルトの名無しさん
2016/09/28(水) 15:24:18.75ID:LrnfCbIH0953デフォルトの名無しさん
2016/09/28(水) 15:31:37.09ID:LrnfCbIHちょっとやってみるかなあ
Windows7にRailsInstaller、AptanaStudio3をインストールして、Herokuにデプロイ
http://twosquirrel.mints.ne.jp/?p=4449
0954デフォルトの名無しさん
2016/09/28(水) 16:01:25.93ID:5Dppgsl7ありがとうー、やっと出来た
C:\Users\(ユーザー名)\.rbenv-win\versions\2.2.5-x64\bin;
を環境変数Pathに入れたらやっと認識してくれた
これでかなり便利になった
0955デフォルトの名無しさん
2016/09/28(水) 17:05:40.29ID:5Dppgsl7ずっとインストールしようとするとエラー出てたけど、やっと原因が分かったわ
俺みたいにやらかした人が居るかもしれんし、書いておくわ
・原因
インストールしたRubyフォルダを別の場所に移動させる
・起きる現状
Debkitのパスが通らなくなり、一部のgem画インストールできなくなる
・解決作
Devkitのconfig.yml(これは調べるとすぐ出てくる)
C:\〜\2.2.4-x86\lib\ruby\site_rubyにある
devkit.rbを開いて、ここに書いてあるPATHも直す
この両方をやるとインストールできたわ
前者は色々書いてあったけど、後ろのやつはどこにも書いてなかったわ
0956デフォルトの名無しさん
2016/09/28(水) 17:35:29.75ID:0twLS1poDevkitを再インストールする時は--forceオプション使って
ruby dk.rb install --force
にしろって
0957デフォルトの名無しさん
2016/09/28(水) 19:45:58.68ID:gV6SXq7TVM 立てる手間の方がはるかに小さいというのに
0958デフォルトの名無しさん
2016/09/28(水) 20:56:56.38ID:xWtP4xm90959デフォルトの名無しさん
2016/09/28(水) 21:04:25.58ID:uPu5A795いかにWinが時間の無駄だったか痛感することになる
0960デフォルトの名無しさん
2016/09/28(水) 21:14:26.77ID:YWcJ1Aufが頻発するんですがググっても原因が良く判りません
何がどうなるとこれが出るんでしょうか?
0961デフォルトの名無しさん
2016/09/28(水) 21:25:09.93ID:0twLS1poスレッドまだ作ってないor他のスレッド動いてないのにpop呼ぶと死ぬ
0962デフォルトの名無しさん
2016/09/28(水) 21:34:14.07ID:gV6SXq7Tマジアホらしいほど簡単だもんな
rbenv 入れて使いたいバージョンの Ruby をインストールして、あとは Gemfile 作って
bundle install で終了
何か足りなかったとしても apt-get なり yum なりでパッケージ追加するだけでほとんどは
解決という
0963デフォルトの名無しさん
2016/09/28(水) 22:21:57.22ID:YWcJ1Aufありがとう。えぇぇ・・・なんつう仕様なんだ。使いにくいだろ
書き込み側のスレッドは読み出し側のスレッドの仕事が終わるまで
生きていなきゃいけないってことじゃないか。めんどくせぇ・・・
0964デフォルトの名無しさん
2016/09/28(水) 22:32:46.99ID:gV6SXq7T> 書き込み側のスレッドは読み出し側のスレッドの仕事が終わるまで
> 生きていなきゃいけないってことじゃないか。めんどくせぇ・・・
めんどくせえって当たり前の仕様じゃん
書き込み側のスレッドがなくなってしまったら、読み出し側のスレッドがブロックしたときに
もうそこから復帰する手段がなくなるんだから
0965デフォルトの名無しさん
2016/09/28(水) 22:53:24.25ID:YWcJ1Aufダブルバッファのほうが速いし制約も少ない。書き込み側スレッドは仕事が終われば終了しちゃっても問題ないし
0966デフォルトの名無しさん
2016/09/29(木) 01:23:02.71ID:sOqcQCOx0967デフォルトの名無しさん
2016/09/29(木) 06:05:14.02ID:Xh0zax2WえっWindowsではIDE使う?あらそう
プログラミングに興味ある人の統計的にはLinuxも「できる」→「面白い」「便利」になる割合が高いので試す価値はあるとは思う
WindowsでRubyするのが無駄遠回りとわかるためには知識経験が別途要るのも事実なので最初から無理強いはせんがね
0968デフォルトの名無しさん
2016/09/29(木) 06:58:53.52ID:1Mz/tgYS少なくともRailsやるんなら絶対にLinuxは避けて通れないんだから、どう考えても時間の無駄だな
0969デフォルトの名無しさん
2016/09/29(木) 07:23:11.12ID:ZpUMfWKuみんな実際に数ヶ月くらいWindowsで環境整えようとして四苦八苦した結果「やっぱ無駄だわ」という結論になってるので
できればそのへん考慮して立ち止まってくれると幸いではある
あなたより技術があったり経験があったり時間だけはたっぷりあったりする人たちが常用挫折してるのでそのへんを汲んでもらうとw
0970デフォルトの名無しさん
2016/09/29(木) 07:55:18.21ID:PwoKthPB0971デフォルトの名無しさん
2016/09/29(木) 08:02:22.78ID:1Mz/tgYS0972デフォルトの名無しさん
2016/09/29(木) 22:28:04.17ID:4TiY9tFkんな奴いねーよ
Windowsしか使えない奴やVisualStudioしか使えない奴ならいるがな
0973デフォルトの名無しさん
2016/09/30(金) 00:15:46.69ID:88GOzilzWindows Subsystem for Linux (WSL) で、Ruby, Rails をやっている人いる? 調子はどう?
apt-get で、パッケージもインストールできる
日本語も使える端末、ConEmu。
GUI表示用のXサーバー、Xming X Server for Windows
0974デフォルトの名無しさん
2016/09/30(金) 17:02:44.30ID:8cA8SzFRLinuxしか使えない香具師はいる
コマンドプロンプトで cp hoge fuga とかやって
???になってるひとを見たことがある
0975デフォルトの名無しさん
2016/09/30(金) 20:23:55.60ID:dFgkaxUgさすがにこれだけWindows機がはびこってる状況でそれはちょっと考えにくいなぁ
と言いたいところだけど、最近はMacもそれなりにユーザがいるので、そっちかもしれない
macOSはLinuxにかなり似てるからね(別物といえば別物なんだけど)
0976デフォルトの名無しさん
2016/09/30(金) 21:02:39.15ID:4hxo3I+iさすがに世間一般の基準でいえば相当詳しい部類に入るだろうけど、
ADやれとかサーバー作れとかバッチファイル書けとか言われたら全くわからん
0977デフォルトの名無しさん
2016/10/01(土) 01:46:14.99ID:mk3uechM何が良いのかって?
それは、windowsでrubyを動かすのが良いんだろ
というかwindowsでのrubyのHowto本、もしくは解説本がでればこの楽しさをわかる人がもっと増えると思うんだけどな
技術評論社やオーム社といった、技術系出版社あたりが出してくれれば
0978デフォルトの名無しさん
2016/10/01(土) 01:47:56.65ID:HPdYXbOV意味わからん
0979デフォルトの名無しさん
2016/10/01(土) 02:15:08.76ID:bGyuSNJm業務が捗る
0980デフォルトの名無しさん
2016/10/01(土) 02:18:33.94ID:zpy+n7k90981デフォルトの名無しさん
2016/10/01(土) 03:22:58.95ID:KyDhnGoE0982デフォルトの名無しさん
2016/10/01(土) 05:11:52.16ID:WpTrCWkX0983デフォルトの名無しさん
2016/10/01(土) 10:42:36.04ID:rAdXsmVI0984デフォルトの名無しさん
2016/10/01(土) 14:31:24.74ID:HPdYXbOV0985デフォルトの名無しさん
2016/10/01(土) 15:04:25.52ID:AS9zp3Ka0986デフォルトの名無しさん
2016/10/01(土) 15:46:42.68ID:O8RQcCl80987デフォルトの名無しさん
2016/10/01(土) 16:50:18.79ID:mk3uechM0988デフォルトの名無しさん
2016/10/01(土) 16:51:45.55ID:WpTrCWkX0989デフォルトの名無しさん
2016/10/01(土) 17:10:34.16ID:rAdXsmVI能力のある人は結局UNIXに行っちゃうから難しいだろうね
もちろん987自身も例外ではなく、このままRubyを続けていればいずれ確実にその日が来る
今は信じられないかもしれないが、Rubyはそういうもんだ
0990デフォルトの名無しさん
2016/10/01(土) 19:04:58.42ID:cITK0T7fずーと何の役にも立たねえな
0991デフォルトの名無しさん
2016/10/01(土) 20:55:59.75ID:2D+fRjVUずーり ,/´ ̄``:ヽ, ,/´ ̄``:ヽ,
/××× :::::::/××× ::::ヽ
|∀・ ×× :::::||∀・ ×× :::::| サァ アキラメロン!
T ヽ××× ::::/ ヽ××× ::::/ T o
,/´ ̄``:ヽ, '''''''''''''´´ `'''''''''''''´´ /´ ̄``:ヽ,
/××× ::::ヽ ヒ、ヒィー / ::::ヽ
|×・∀・ × :::| ('A`≡'A`) | ::::|
ヽ××× ::::/ T 人ヘ )ヘ T ヽ ::::::/
`'''''''''''´´'/´´ ̄`:ヽ, ./´´ ̄`:ヽ,`'''''''''''''´´
/ ××ゝ::ヽ./ ××ゝ::ヽ
ずーり | ×× ・∀|| ×× ・∀|
ヽ ××ゝ::/ヽ ××ゝ::/ ずーり
0992デフォルトの名無しさん
2016/10/02(日) 05:55:02.87ID:kFeo4TbMID変えて書き込んでも構わないが火病だけはやめとけ
それと、rubyのホビー的な楽しさを否定する意図は何なんだろうな?
0993デフォルトの名無しさん
2016/10/02(日) 07:07:11.59ID:JfqyOTuc本当はLinux以外のRubyを知らなかっただけなんだ
別にRubyの楽しさを否定したいわけじゃない
あらためて考えるとCで書かれているわけだからLinux以外でもRubyを楽しめるんだよな
Win32OLEライブラリだってわざわざ用意されているわけだし
0994デフォルトの名無しさん
2016/10/02(日) 07:50:59.20ID:+f7TOXbfWindowsでUbuntuが動くようになったからだいぶ希望が出てきたけど、
そっちが主流になれば昔ながらのネイティブなWindows版Rubyはとうとう完全終了でUNIXに統一されちゃうわけだし
0995デフォルトの名無しさん
2016/10/02(日) 08:29:55.68ID:kFeo4TbMそうだったのか
俺はてっきりrubyが気に喰わなくて荒らしてるんだと思った
スレ住人を装って扇動したり荒らしたりする手口とか、またいつものpython野郎かと勘違いしたよ
あいつはwindows用rubyを絶対認めたがらない癖があるから
0996デフォルトの名無しさん
2016/10/02(日) 09:00:52.33ID:UOjgrsltトラップが多すぎる
0997デフォルトの名無しさん
2016/10/02(日) 10:05:31.62ID:k1HK9CGyvagrantが楽。
0998デフォルトの名無しさん
2016/10/02(日) 10:14:32.30ID:UOjgrsltWindows で vagrant 自体がトラップという…
シンボリックリンクの扱いや改行コードの違いなど、そこかしこに罠があるぞw
0999デフォルトの名無しさん
2016/10/02(日) 15:21:32.45ID:GX41vvMRそういう用途なら
pythonの方がいいよ
割とマジで
1000デフォルトの名無しさん
2016/10/02(日) 15:22:16.56ID:GX41vvMRhttp://echo.2ch.net/test/read.cgi/tech/1249737531/
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 192日 18時間 5分 32秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。