Ruby 初心者スレッド Part 57©5ch.io [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2015/03/12(木) 22:08:53.45ID:qh8O4P61質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 55
http://peace.2ch.net/test/read.cgi/tech/1403361584/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
0153デフォルトの名無しさん
2015/04/18(土) 22:46:30.38ID:kJGYLJy1でstrのi番目にカンマを挿入した文字列になる
0154デフォルトの名無しさん
2015/04/19(日) 00:52:37.89ID:JgTbIpQo説明不足だったごめん
それはわかる
俺の知識だとこれを全部表示したいときに
puts str[0...1] + "," + str[0..-1]
puts str[0...2] + "," + str[0..-2]
.
.
.
みたいにしか書けなくてこれだと面倒だし汎用性低いから
うまく繰り返しの処理使って書けないかなと
0155デフォルトの名無しさん
2015/04/19(日) 02:08:39.92ID:6VTvXYTpを使って書くと、
str = 'apple'
(1..str.length).each do |i|
puts str[0...i] + "," + str[i..-1]
end
>>154
>puts str[0...1] + "," + str[0..-1]
>puts str[0...2] + "," + str[0..-2]
[0..-1], [0..-2]ではなく、[i..-1]だよ
0156デフォルトの名無しさん
2015/04/19(日) 12:53:42.85ID:JgTbIpQoありがとう
ここにでてくるメソッドとか構文は全部知ってたし
コード読めば理解できるんだけど、自分では全く
思いつかなかった
どうしたら思いつくように、というか自分でコードが書けるように
なるんだろう
コツとか勉強法とかあったら教えて欲しい
0157デフォルトの名無しさん
2015/04/19(日) 13:27:19.89ID:wxQ8bpjmコードを書く経験が圧倒的に不足しているんじゃない
0158デフォルトの名無しさん
2015/04/19(日) 13:30:52.47ID:HWkUOGT6forとifとwhileでかなりのことはできるから、まずそれを思い通りに使えるようにする
0159デフォルトの名無しさん
2015/04/19(日) 16:20:52.36ID:JgTbIpQoなるほど、たしかにコードはあまり書いてないし
whileとかもちゃんと理解してないな...
アドバイスありがとう
参考にさせてもらいます
0160デフォルトの名無しさん
2015/04/19(日) 17:09:27.07ID:6VTvXYTpi=1なら、str[0...1] + "," + str[1..-1]
i=2なら、str[0...2] + "," + str[2..-1]
i=nなら、str[0...n] + "," + str[n..-1]
>>154
で君が既にやっている通り、
簡単な表にして、具体的に考える。
そして具体的なものから、抽象化・一般化する
特に再帰では、表にしないと理解できないよ
0161デフォルトの名無しさん
2015/04/19(日) 20:38:34.75ID:ufvWNWCdhttps://ideone.com/6LVi8s
0162デフォルトの名無しさん
2015/04/19(日) 23:42:27.12ID:BlhhoLV30163デフォルトの名無しさん
2015/04/20(月) 07:52:32.08ID:6ZYvOI+Qiを見ると何故か反射的にtimesが思い浮かんでしまう
0164デフォルトの名無しさん
2015/04/20(月) 11:13:20.53ID:rPDQ4MSJ\G なんて使ったことない
処理速度的にも each などを使うより速いのでしょうか
0165デフォルトの名無しさん
2015/04/20(月) 19:59:50.49ID:MvH6tGWq0166デフォルトの名無しさん
2015/04/20(月) 20:39:58.42ID:j3ZSM6vsoniguruma or onigmo の機能なら書いてないけど使えるってことなのかな
柔軟な発想ですごいなあ
まあ実際にコードかくなら155で十分な気がするけど
0167デフォルトの名無しさん
2015/04/20(月) 20:50:49.56ID:BD4F5QuZ> [ プログラム ] Ruby 初心者スレッド Part 56©2ch.net
> 80 名前:デフォルトの名無しさん [sage]: 2014/12/28(日) 19:00:20.64 ID:EhJlAFnh (2)
> \Gなんて使ってるのは見たことないんですがどういう時に使うものなのか何かサンプルはありませんか?
http://peace.2ch.net/test/read.cgi/tech/1418430552/81
> [ プログラム ] Ruby 初心者スレッド Part 56©2ch.net
> 81 名前:デフォルトの名無しさん [sage]: 2014/12/28(日) 19:08:58.77 ID:0BcgJOIK
> >>80
> 1.8.7になっちゃいますが、ここにありますよ
> http://docs.ruby-lang.org/ja/1.8.7/doc/spec=2fregexp.html#regexp
> あとこことかも
> http://magazine.rubyist.net/?0020-BundledLibraries
0168デフォルトの名無しさん
2015/04/20(月) 20:51:26.46ID:MvH6tGWqtp://docs.ruby-lang.org/ja/1.8.7/doc/spec=2fregexp.html#regexp
0169デフォルトの名無しさん
2015/04/20(月) 20:52:35.91ID:MvH6tGWq0170デフォルトの名無しさん
2015/04/20(月) 21:45:38.26ID:j3ZSM6vsなんで1.9.3マニュアルからは消えたんだろう?
それとも自分が見つけれてないだけで載ってる?
0171デフォルトの名無しさん
2015/04/20(月) 22:03:30.73ID:lBn3AcT10172デフォルトの名無しさん
2015/04/21(火) 00:54:47.84ID:lokfdG/n利用者が少ないので、そのうち機能削除と推定
0173デフォルトの名無しさん
2015/04/21(火) 01:25:01.11ID:mlZT6oHh0174デフォルトの名無しさん
2015/04/21(火) 03:17:05.85ID:2LCbUk1L0175デフォルトの名無しさん
2015/04/22(水) 17:04:26.56ID:zTSSyZOcファイル名をfoo.erbとして以下のプログラムを
書いたのですがうまく表示されません
<html>
<head>
<title>foo</title>
</head>
<body>
<% a = rand 5 %>
<%= <img src="#{a}.jpg"> %>
</body>
</html>
0176デフォルトの名無しさん
2015/04/22(水) 17:50:18.54ID:YVcdWSZh<img src=<%= "\"#{a}.jpg\"" %>>
0177デフォルトの名無しさん
2015/04/22(水) 18:12:10.20ID:zTSSyZOcできました!
ありがとうございます!
0178デフォルトの名無しさん
2015/04/25(土) 21:26:53.65ID:7JJG1bdn└プラグインインターナル
Redmineにて、上の「Redmine の本体機能のオーバーロード」をviewsで行いたいと思ってます
そこで複数のプラグインでの同一viewのオーバーロードを試したら
どうもプラグイン名のアルファベットが後のものが優先される気がするのですが、
若いものを優先させる方法はないでしょうか?
0179デフォルトの名無しさん
2015/04/26(日) 01:20:48.48ID:asKmOzJa0180デフォルトの名無しさん
2015/04/26(日) 01:55:23.60ID:L6M7+b170181デフォルトの名無しさん
2015/04/26(日) 11:23:26.17ID:b8PGU3dGちょうど数ヶ月前に作ったことがあるけど簡単にできるよ
0182デフォルトの名無しさん
2015/04/26(日) 22:45:41.51ID:EyibrkcR0183デフォルトの名無しさん
2015/04/26(日) 23:12:28.16ID:C+a0R1p+0184デフォルトの名無しさん
2015/04/27(月) 13:47:55.09ID:EJCz8b3Fプログラミングは画用紙とクレヨンと同じ:『Hello Ruby』の著者が語る成長の物語 #SlushAsia
Lifehacker
0185デフォルトの名無しさん
2015/04/27(月) 23:46:49.78ID:U5G0BE7/総当たり式だと、他に解が無いか(複数解)の確認が必要になり、
かえって複雑になるような気がする。
0186デフォルトの名無しさん
2015/04/28(火) 04:18:05.78ID:ZSPnkmQx0187デフォルトの名無しさん
2015/04/28(火) 09:19:39.84ID:YDhB7+fs解の一意性を仮定するかどうかでも多少変わってくるが
0188デフォルトの名無しさん
2015/04/28(火) 22:07:24.55ID:N9lyu4uwおもしろくないけどw
0189デフォルトの名無しさん
2015/04/28(火) 22:32:50.70ID:qVL3+LTP0190デフォルトの名無しさん
2015/04/28(火) 23:23:09.92ID:mW9wjtdm0191デフォルトの名無しさん
2015/04/28(火) 23:44:15.99ID:RGLkAIGi0192デフォルトの名無しさん
2015/04/29(水) 00:01:15.83ID:jPUUiyrt解のある場合だけだとそんなに多くない
行や列や数字の入れ替え、回転、裏返し操作で同じ物を除くと更に減る
どれくらいになるかは面白そうだけどrubyではなく、数学の問題かな
0193デフォルトの名無しさん
2015/04/29(水) 00:37:22.57ID:LCS8IA96それなら十分パターン照会の方が早いかな
まぁそこまでやるならRubyにこだわる必要性は皆無だけど
0194デフォルトの名無しさん
2015/04/29(水) 00:49:01.58ID:i2xwsgev万が一パターン漏れてたらどうすんの
0195デフォルトの名無しさん
2015/04/29(水) 00:49:05.10ID:LCS8IA96RCCはちょっと計算時間を要するけど、それ以外は大した計算時間も必要なかったし
(枝刈りはちゃんとやらないと計算量が爆発するけど)
0196デフォルトの名無しさん
2015/04/29(水) 00:53:11.45ID:LCS8IA96そういうパターンを数え上げるのはコンピュータの得意とするところでしょ
枝刈りをきちんとやれば現実的な時間で数え上げられるよ
0197デフォルトの名無しさん
2015/04/29(水) 06:09:19.11ID:f54jgqM7互いに影響を受けずに独立に値を決められるマスが9マスあるから少なくとも9^9通り以上だろう。
0198デフォルトの名無しさん
2015/04/29(水) 09:53:49.58ID:q0yxqD4A並べ替え・反転・回転・数字の入れ替えを考慮して5472730538通りだそうだ
データベース作れなくはないな
0199デフォルトの名無しさん
2015/04/29(水) 10:28:27.40ID:g6CBhBxfキーにできる値って何になるのか
0200デフォルトの名無しさん
2015/04/29(水) 10:29:08.43ID:f54jgqM7盤面をマス間の同値関係で表現してビットマップインデックスでも使うか。
0201デフォルトの名無しさん
2015/04/29(水) 10:41:20.10ID:CB780E1e{x,y,n} を key とするlookupテーブルを用意すればいいんじゃないの?
0202デフォルトの名無しさん
2015/04/29(水) 10:48:29.64ID:g6CBhBxf1マスだけ指定して何が取れるテーブルにするの?
0203デフォルトの名無しさん
2015/04/29(水) 13:47:21.25ID:LCS8IA96解答パターンIDみたいなもんじゃない?
複数のx,y,nをANDでつないでいけばパターンIDがひとつに絞り込める、みたいな
0204デフォルトの名無しさん
2015/04/29(水) 14:35:10.76ID:i2xwsgev0205デフォルトの名無しさん
2015/04/29(水) 16:51:43.40ID:LCS8IA96それでもいいんじゃない?
計算量的にはどちらでも同じになりそうな気がするし
0206デフォルトの名無しさん
2015/04/29(水) 21:44:55.30ID:U49c0tb7数字の入れ替えで得られるものは本質的に同じなので、データベース上の局面はすべて1行目が123456789となってる可能性もある
入れ替えと回転・反転だけなら総当りで、どれがデータベースに登録されてるか調べることはできそうだけど
リンク先を見ると総局面はユニークな局面の1兆倍ほどだから、どの局面として登録されてるかを判断するのも一苦労
0207デフォルトの名無しさん
2015/04/29(水) 22:11:51.72ID:f54jgqM7ABCD
a1 2
b 3
c
d 2
以下の条件を同時に満たす局面が検索できればいい。
AaとBdは異なる
AaとCaは異なる
AaとDbは異なる
BdとCaは同じ
BdとDbは異なる
CaとDbは異なる
単純にやろうとすると81*(81-1)/2=3240個のフィールドが必要になるけど。
0208デフォルトの名無しさん
2015/04/30(木) 11:37:07.16ID:M3WUgXkG後は対称な局面を調べればいいだけか
0209デフォルトの名無しさん
2015/04/30(木) 20:46:55.87ID:CtownvBXこれで言おうとしてる事って、完成状態から9種の数字の個々を入れ替えても同様に完成状態として成立するって事かな?
データベースとしては1行目を一般化してa〜iという記号で固定しておけば件数かなり減りそうだ
反転とかあるから1/9!とまではいかないけど数桁削れそう
0210デフォルトの名無しさん
2015/05/01(金) 11:24:57.32ID:eqatqBnD0211デフォルトの名無しさん
2015/05/01(金) 12:37:06.39ID:bH7RBw4h0212デフォルトの名無しさん
2015/05/01(金) 13:46:23.99ID:jAM2krsm0213デフォルトの名無しさん
2015/05/01(金) 17:51:23.36ID:tPnkV53E読まない、見るだけが8割
プロック
心に余裕がある時はプロセジャー
0214デフォルトの名無しさん
2015/05/02(土) 01:43:23.86ID:5VssKqD10215デフォルトの名無しさん
2015/05/02(土) 05:30:49.57ID:PoUrbjOe0216デフォルトの名無しさん
2015/05/02(土) 06:38:15.83ID:xXK42ACJつ ttp://www.merriam-webster.com/dictionary/procedure
ということで、日本語からカタカナ表記がすべて無くなればいいと思います。
0217デフォルトの名無しさん
2015/05/02(土) 10:12:34.93ID:RbSXq7CR結局英語を見ても適当に発音して混乱するしなあ
どうなるのが良いんだろう?
>>216
発音記号だけ見るとプロセヤーに見えてしまう そこの発音記号間違ってない?
0218デフォルトの名無しさん
2015/05/02(土) 15:44:39.32ID:GdWsYLg4一人だけ正しい発音してもねー
0219デフォルトの名無しさん
2015/05/02(土) 16:24:41.59ID:eD8Z1MUe0220デフォルトの名無しさん
2015/05/02(土) 16:33:05.65ID:3eY1bcImIPA準拠でない発音記号は数多くある。
というか英単語の発音でIPA準拠しているものに遭遇した記憶がない
0221デフォルトの名無しさん
2015/05/02(土) 16:41:51.65ID:K///ApN8日本人ならラテン文字綴りを全部訓令式ローマ字読むようなもん。
コンピュータ言語の予約語とかは違うかも知れないけど。
0222デフォルトの名無しさん
2015/05/02(土) 16:42:56.64ID:K///ApN8◯プログラミング言語
0223デフォルトの名無しさん
2015/05/02(土) 17:31:20.80ID:FKREMwzJ0224デフォルトの名無しさん
2015/05/04(月) 10:11:15.69ID:VrN6lBi/まぁAPLみたいになられても困るのだが・・・
0225デフォルトの名無しさん
2015/05/04(月) 10:55:31.34ID:+ZdhyuUDJの立場がw
0226デフォルトの名無しさん
2015/05/04(月) 22:25:50.31ID:a5/ons/h,\ をパースできるようにするパッチを送るチャンスだ!
0227デフォルトの名無しさん
2015/05/05(火) 09:14:26.98ID:6w+bN4p2関数っぽいのに()で呼べないのおかしくね?
とか考え出すとscalaやC#に近づいていってしまう。
0228デフォルトの名無しさん
2015/05/10(日) 01:26:12.23ID:E8bjKhA40229デフォルトの名無しさん
2015/05/12(火) 18:21:52.25ID:bBUMqeIN0230デフォルトの名無しさん
2015/05/12(火) 19:00:12.56ID:VPfkeJkHダブルクォーテーションやシングルクォーテーションでも改行含んでいても普通に文字列作れますが
0231デフォルトの名無しさん
2015/05/12(火) 19:05:34.93ID:VPfkeJkH改行で要素を分ける仕様じゃダメだったんですか?
[
"aaa",
"bbb",
"ccc",
]
ではなく
[
"aaa"
"bbb"
"ccc"
]
でいいんじゃないかということです。
一行で書くならもちろん必要ですが、改行で要素が分かれていることは自明なわけで。
0232デフォルトの名無しさん
2015/05/12(火) 20:04:24.35ID:E78u8ziX0233デフォルトの名無しさん
2015/05/12(火) 20:14:26.86ID:uJjQzeKQヒアドキュメントだと最初の行をその行じゃなく次の行の行頭から書けるという違いはある
>>231
JSONやYAMLとかほかの言語とかとあえて違う記述を可能にする理由が無かったんでしょ
それに個人的な感想としてはブロックみたいな雰囲気を出してるからそのままだと最後の行の値を返しそうにも見える
0234デフォルトの名無しさん
2015/05/12(火) 21:32:28.16ID:T2eyCbcCヒアドキュメントはうっかり閉じてしまう確率が格段に低い。
>>231
そういう提案はある。
https://bugs.ruby-lang.org/issues/8956
https://bugs.ruby-lang.org/issues/10528
積極的に推し進める人がいないので話が進んでないみたいだけど
強い反対もなさそうなのでそのうち採用されるのかもね
0235デフォルトの名無しさん
2015/05/12(火) 22:30:23.97ID:UZCLQ5ym面倒に感じるほど配列をソース中に埋め込まなければならない
設計なんか見たら俺はリジェクトする
0236デフォルトの名無しさん
2015/05/12(火) 23:07:24.09ID:a39hBEOUさすがにうっかり閉じてしまうようなケースはエディタのハイライトで気づけると思うが…
それすらできないようなエディタは窓からポイーだろうし
俺も考えてみたけど、ヒアドキュメントは単純にPerlとかからもらってきたからあるだけで
そこまでメリット・デメリットを考えて導入されたものじゃない気がする
なのでそんな違いはないので好きな方を使っとけ、ってのが結論じゃないかと
0237デフォルトの名無しさん
2015/05/12(火) 23:24:19.47ID:McgsoQJk%W(aaa bbb ccc)
0238デフォルトの名無しさん
2015/05/12(火) 23:33:39.43ID:avMjEYTK空白類は改行も含む
0239デフォルトの名無しさん
2015/05/13(水) 01:48:17.64ID:9i6gM8IV>>231
ary = <<EOT.split
aaa
bbb
ccc
EOT
みたいに書けることは意外に知られていない気がする
0240デフォルトの名無しさん
2015/05/13(水) 08:48:10.25ID:PDARsX4gいちいちエスケープするの面倒だろ
ほぼそのまま書けるのがヒアドキュメントのメリット
0241デフォルトの名無しさん
2015/05/13(水) 10:21:10.72ID:5w+SdhWJ%記法ってのもあるんですが…
0242デフォルトの名無しさん
2015/05/13(水) 17:31:25.41ID:/vC2Ckq+Ruby2.2.2 にてbyebugのgemインストールにてdevkit入れろとエラーがでてしまいます
2.2系のDevkitが探しても無いようなのですが
まだないということでしょうか?
0243デフォルトの名無しさん
2015/05/13(水) 18:35:35.64ID:AOVYLWkNこんなとこに書き込む暇があったら試せよ
0244デフォルトの名無しさん
2015/05/13(水) 18:47:43.50ID:dkMaBjggRuby 2.0.0 and above: mingw64-32-4.7.2
Ruby 2.0.0 and above x64 (64bits): mingw64-64-4.7.2
って書いてあるから2.2.2でもいけるんじゃない?
0245デフォルトの名無しさん
2015/05/13(水) 19:20:26.79ID:peiJ2wcYダウンロードページを少し読めばすぐ分かるようなことを簡単に教えちゃダメだって…。
初心者スレとはいえ、ここの住人は優しすぎると思うよ。
0246デフォルトの名無しさん
2015/05/13(水) 19:21:24.94ID:peiJ2wcY0247デフォルトの名無しさん
2015/05/20(水) 01:55:45.72ID:JquZNGcV0248デフォルトの名無しさん
2015/05/20(水) 15:55:40.92ID:PrWBPEio>>243は教えてないじゃん
初心者スレだと、installするのがやっとで、何日もかけて何とか成功する人もいるので。
0249243 245 246
2015/05/20(水) 18:23:03.15ID:JDqrHdgv242はRuby使うのは初めてじゃなさそう(多分1.8 or 1.9からの乗り換え)だったから、もうちっと自分で調べろよ。
と言う思いで、突き放したレスをしたのよ。
2.2とDevkitは俺も使ってるから、Devkitが問題なく動くことは知ってたんだけどさ。
そもそも、ホントの初心者なら、WindowsでRubyを使うこと自体をお勧めしないのが親切なんじゃね?
ないしは、gemがきちんと整備されてる1.9系をまず使うように案内するとか。
0250デフォルトの名無しさん
2015/05/20(水) 22:03:37.78ID:ptbOhCsA0251デフォルトの名無しさん
2015/05/21(木) 15:30:14.61ID:GdS2dqGm例えばNokogiri::XML::NodeSetというのは何を表しているのですか?
親子関係なのかメソッド呼び出しによる返り値からさらにメソッドを呼び出してるのか……
::は一体なんなのですか?調べてもしっくりするものが出てきません
PHPであれば::はstaticのメソッドやプロパティにアクセスするための記号だなぁとわかるのですが。
手元にある「たのしいRuby」には「.」と「::」同じ意味と書いてありましたがどうもライブラリのリファレンスなどでは::と.を使い分けてるように感じます
0252デフォルトの名無しさん
2015/05/21(木) 17:59:42.18ID:TIfvV/jThttp://melborne.github.io/2013/09/24/rubys-scope/
■ このスレッドは過去ログ倉庫に格納されています