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/
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:CnuAkB4H■ このスレッドは過去ログ倉庫に格納されています