Ruby 初心者スレッド Part 58 [無断転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2016/03/23(水) 21:16:44.36ID:6HedlyzC質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 57
http://peace.2ch.net/test/read.cgi/tech/1426165733/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0225デフォルトの名無しさん
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:I6MCNyjd■ このスレッドは過去ログ倉庫に格納されています