トップページ⇒tech
1002コメント364KB

Ruby 初心者スレッド Part 58 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/03/23(水) 21:16:44.36ID:6HedlyzC
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、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:FJvNCHp3
たのしいRuby 第5版、2016

Effective Ruby、2015

メタプログラミング Ruby 第2版、2015

Rubyのしくみ、2014

改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
0003デフォルトの名無しさん2016/03/24(木) 19:11:14.30ID:5a9zwPTf
Windows版でunicodeのコマンドライン引数まだ使えないの?
0004デフォルトの名無しさん2016/03/25(金) 09:00:13.57ID:amKPWQ2X
Seleniumデザインパターン&ベストプラクティス、2015
OSSのブラウザ自動テストツール、Selenium WebDriver を使って、
Rubyでテストを書いた本

Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説

Rubyのしくみ、2014
Rubyの実装系、Ruby1.9のRuby仮想マシンの本
0005デフォルトの名無しさん2016/03/27(日) 10:04:22.49ID:zeXJFeRN
ヤクザ
0006デフォルトの名無しさん2016/03/28(月) 02:19:58.22ID:NlvcQEtD
http://49.media.tumblr.com/7ae74678e1d2f5bea5faf824823d0176/tumblr_noklqpmdua1us3zemo1_540.gif
0007デフォルトの名無しさん2016/03/30(水) 08:52:01.47ID:8NmKCzQm
おわってるな
0008デフォルトの名無しさん2016/03/30(水) 10:23:11.00ID:pubF0BCK
aという文字列でp aとやると\\と表示されるのに
a.count"\\"をやると1とでます
文字列で\¥を\だけにするほうほうおしえくてださい
0009デフォルトの名無しさん2016/03/30(水) 11:09:52.71ID:14q3t0GC
前スレ落ちてるからよく分からないんだけど、ここは質問とかしていいのか?
0010デフォルトの名無しさん2016/03/30(水) 12:05:39.08ID:R5AIxfw4
a = '\\'
p 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:MbRjE7fG
pry (ver0.10.1 on Ruby 2.1.8) で
ri Hash してみたら
〜
Hashes enumerate their values in the order that the corresponding keys were
inserted.
〜
と出てきました。
これは今後も保証されると思っていいんでしょうか?
0013デフォルトの名無しさん2016/03/30(水) 12:55:41.31ID:R5AIxfw4
Javaでは、LinkedHashMap という、挿入された順に、キーを管理する、HashMap があるけど

Rubyは知らない
0014デフォルトの名無しさん2016/03/30(水) 13:29:51.33ID:S0HkEiDs
>>12
Arrayは順番を必ず保証する
なぜなら取り出す順番が保証されていることが配列の存在意義だから
Hashは順番を必ずしも保証しない
なぜなら取り出す順番は連想配列の存在意義じゃないから
それ以上の意味はない

現在の実装は「たまたま」順番が保証されているけどそれはオマケとか親切とかそういうレベルの話
p Time.nowで確実なのは現在時刻を表示することだけであって
表示される文字列を決め打ちして処理にかけてはいけないというのと似たようなものだ
将来ユーザーフレンドリーに日本語で表示されるかもしれない
0015デフォルトの名無しさん2016/03/30(水) 13:48:45.91ID:mQiL8UBv
このへんはしょっちゅう議論されてるけど、取り出す順番の固定化を必要としているならHashという名前のものは使わないのが「プログラミングの普通」なのよ

順番固定で勝手に出てくること自体は構わない
だけど、それを頼りになにか処理を記述するのは非常に奇妙で不快に映る
繰り返すけど、出てくる順番が揃ってるのはいい
それを利用するようなコードを見ると吐き気がする
HashArrayとかOrderdHashとかそういう名前のオブジェクトなら納得するけど、Hashという名前では歴史的名前的にダメ
0016122016/03/30(水) 14:34:26.61ID:MbRjE7fG
ありがとうございます。
0017デフォルトの名無しさん2016/03/31(木) 00:11:32.35ID:SXg61G2F
仕様じゃない動作に頼るなという話ならそう思うが、責務を限定しろという話ならそれはrubyには通用しない話だと思う
0018デフォルトの名無しさん2016/03/31(木) 01:39:56.18ID:hZH1pyKx
Rubyは手軽で愛用してるのですが、
GUIを用いたりexeにまとめて配布するものまでRubyで行おうとすると、結果的に別言語を習得するのよりコストかかるでしょうか?
試みたことある方いらっしゃいましたら意見くださると嬉しいです
0019デフォルトの名無しさん2016/03/31(木) 12:59:43.70ID:yy0681Er
制作者は、gem だけを配布して、
それを使う人が勝手に、システムにインストールして使う

RoRのようなWebアプリならあるけど、
Rubyで作った、デスクトップGUIアプリってあるのか?
0020デフォルトの名無しさん2016/04/01(金) 07:05:17.08ID:6aCBXilE
JRuby+swingなどは試してみたのですが、Java知識が皆無なためかかなり詰まるんですよね
素直にC#とか学んだ方がいいのかもしれませんが、RGSSのようなものを知ってしまったので微妙に未練が……
0021デフォルトの名無しさん2016/04/02(土) 18:12:28.67ID:CqWvTnZR
ruby初心者なのですがsoap通信のプログラムを作っていて
エラーが出ていて調べたのですが原因がよくわかりません

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
>>20
「スッキリわかる Java入門 第2版」2014 を読めば?

>>21
HTTP 404は、ホームページ(のデータ)が見つかりません
■ このスレッドは過去ログ倉庫に格納されています