X



Ruby 初心者スレッド Part 62

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で

前スレ
Ruby 初心者スレッド Part 61
https://mevius.5ch.net/test/read.cgi/tech/1503644351/

るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/

Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/

逆引きRuby
http://www.namaraii.com/rubytips/
0564デフォルトの名無しさん
垢版 |
2017/12/24(日) 16:00:56.08ID:2eVeUlKQ
Juliaいいね。これから大注目の言語だよ
ただ、現状は起動が激重なのでJuliacとかが公式採用されないとつらいかも
そういう意味ではJavaに似てるのかも(言語仕様という意味ではなく)
0565デフォルトの名無しさん
垢版 |
2017/12/24(日) 16:12:39.10ID:BNj/0IJ2
Juliaはクソ重い計算やデータの処理を長時間ぶっ通しで動かすための言語だよ
Rubyと比べるようなもんではないし、起動時間が問題になるようなものに使うのも間違い
0566デフォルトの名無しさん
垢版 |
2017/12/24(日) 20:04:37.70ID:4g6ysjQ5
>>545
>流れるような形で記述できるようになるらしいんだけど

できるようになるといふのは、以下の提案かな?
・ESNext Proposal: The Pipeline Operator
 https://github.com/tc39/proposal-pipeline-operator

調べてみると、これはあくまで提案(proposal)であって、
5段階あるECMAScript(= JavaScript)仕様策定過程の2番目に過ぎない
 0. Strawman
 1. Proposal <― パイプライン演算子の状態
 2. Draft
 3. Candidate
 4. Finished
当然、現時点でその実装は存在しておらず「絵に描いた餅」に過ぎない
言い換えると、「こんなのできたらいいなあ」といふ話だよね?
0567デフォルトの名無しさん
垢版 |
2017/12/24(日) 20:35:54.14ID:4g6ysjQ5
>>561
>関数型のパイプラインオペレータを導入なんて話はしてないんだから当然の結論

え、こう書けないっていうの?
  let newScore = person.score |> double |> add(7)
もし pipeline proposal が Finished(採用決定)になったとしても、このコードを
  let newScore = person.score |> double |> (_ => add(7, _))
こうも冗長に書かなけりゃならないなんて、ダサイというか中途半端な提案だと思う

>>554の言葉を借りると:
  期待したけど、やっぱりJavaScriptの文法からは抜け出せないか
  新しい提案と言っても所詮JavaScriptの言語であることに変わりはないしな
っていう感想です

しかも更にpapp proposal(部分適用サポートの提案)がFinishedになったと仮定してもなお
  let newScore = person.score |> double |> add.papp(7)
こうなっちゃうなんて、もう少し練り直してから提案した方がいいと思うんだけどなぁ
0568540
垢版 |
2017/12/24(日) 22:02:54.10ID:24EH1p52
JS は、Ruby, Elixir の影響が強い。
Kotlin も、Groovy, Ruby の影響が強い

誰か、
>>540
の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)をどうすればよいのか、教えてほしい
0570デフォルトの名無しさん
垢版 |
2017/12/24(日) 23:05:16.75ID:A3ERayLu
>>567
> え、こう書けないっていうの?

少しは頭を働かせようよw

そこにある、add(7) が引数を一つ取る関数を返すなら書けるよ
それを汎用化したのがpapp。それにJavaScriptでカリー化する方法だってある

JavaScriptは関数型言語じゃないんだから、関数型言語の方からみて
ダサいとか言うなよw お前、関数型に洗脳されてるだろw

関数型を取り入れたなんて話はしてない。お前が言い出しただけ。
単にパイプラインオペレータという関数のネストを見やすくする機能を
追加するってだけの話
0571デフォルトの名無しさん
垢版 |
2017/12/24(日) 23:07:29.50ID:2eVeUlKQ
>>570
Rubyについてはこんな書き方しかできないのかと毒づいておいて、JavaScripitについては全力擁護
これをRubyスレでやらかしてたら荒らし認定を食らってもしょうがないレベルだぞ
0572デフォルトの名無しさん
垢版 |
2017/12/24(日) 23:12:18.94ID:A3ERayLu
>>566
> 当然、現時点でその実装は存在しておらず「絵に描いた餅」に過ぎない
知らないなら、知ったかぶりして語らないでよw

JavaScriptは5段階あるECMAScript(= JavaScript)仕様策定過程を
必ず0から一つづつ上げて行かないといけない
だからどんな仕様だって最初は0から始まる

こういう提案から仕様化されるまでのプロセスが明確になってるのは素晴らしいことだよ

で、Stage 1だが

https://azu.github.io/slide-what-is-ecmascript/slide/12.html
・プロポーザルの目的や解決方法を示す
・Polyfillやデモ等を用いて解説する

どういうことかというとPolyfillやデモ等があるってことだ。
わかりやすく言うと、すでに使う方法があるってことだ。それがこれ
https://www.npmjs.com/package/babel-plugin-transform-pipeline

なので絵に描いた餅ではない。絵に描いた餅はStage 0
その0を脱却して、すでに使う方法が出来たということ
0573540
垢版 |
2017/12/24(日) 23:16:34.36ID:24EH1p52
7-Zip Archives の所からダウンロードした、Ruby 2.4(x64)を解凍し、
C:\Ruby24-x64 に改名して、

Windows10 で、ユーザー環境変数に、C:\Ruby24-x64\bin を追加したら、
PowerShell で、ruby コマンドが使えるようになった

PS C:\Users\Owner\Documents\Ruby> ruby -v
ruby 2.4.3p205 (2017-12-14 revision 61247) [x64-mingw32]

C:\Ruby24-x64\bin には、erb, gem, irb, rake, ruby.exe, rubyw.exe
などのコマンドがあるから、
7-Zip Archives の所にあるものも、Rubyのポータブル版の実行環境なのかも
0574デフォルトの名無しさん
垢版 |
2017/12/24(日) 23:17:27.23ID:2eVeUlKQ
>>572
でさ、結局何が言いたいの?
JavaScriptサイコーってのが言いたいのなら完全にスレ違いだよ
0575540
垢版 |
2017/12/24(日) 23:23:27.95ID:24EH1p52
ちなみに、rubyinstaller の 7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)は9MB で、解凍すると56MB になった

1/6 に圧縮されている
0577デフォルトの名無しさん
垢版 |
2017/12/25(月) 00:01:06.18ID:h6gXOlbY
>>570
>関数型を取り入れたなんて話はしてない。お前が言い出しただけ。

>>556 とは別人だけど、IDを確認できないほど冷静さを失っているのかな?

また、そもそも>>545の exclaim, capitalize, doubleSay という関数単位で部品化して
パイプライン演算子で組み立てるという発想そのものが関数型プログラミングであり、
それを自分(ID:A3ERayLu )から言いだしたという認識ができていないのかね?


>単にパイプラインオペレータという関数のネストを見やすくする機能を追加するってだけの話

だよね、関数型のパイプライン演算子と同じ名前だけど中身は微妙に異なるJavaScript固有の方言が
一つ提案されたという、ただそれだけの話
しかも最終的に採用されるか否かも確定すらしていない Proposal 段階でしかないといふ
0578デフォルトの名無しさん
垢版 |
2017/12/25(月) 00:21:34.94ID:mSK8fdnz
> また、そもそも>>545の exclaim, capitalize, doubleSay という関数単位で部品化して
> パイプライン演算子で組み立てるという発想そのものが関数型プログラミングであり、

関数呼び出しの形を変えただけ、
関数型プログラミングとは全く関係ない
0579デフォルトの名無しさん
垢版 |
2017/12/25(月) 00:25:59.73ID:h6gXOlbY
>>576
関数型言語のパイプライン演算子がサイコーという話なら同意するし、
それがオブジェクト志向言語であるRubyにとって今すぐ必要かどうかは別にして、
数ある将来のRuby構想に向けた提案の一つとして理解したい

でも >>561,570で自身(ID:A3ERayLu)が語っているように、
JavaScriptのそれは関数型ではないJavaScript固有の方言なんだろ?
JavaScriptが独自の道に進もうとしてるなら「どうぞお好きになさいませ」だし、
それにRubyも従うべきという話に至っては「何を考えてるの?」としか言えないね


>>570
>単にパイプラインオペレータという関数のネストを見やすくする機能を
>追加するってだけの話

どちらかというと日常的にカッコだらけになるのはPythonだから、
そちらへ提案した方がいいんではないかな
http://mevius.2ch.net/test/read.cgi/tech/1491491123/44-46

関数型プログラミングを公式文書で否定しているPythonだから、
関数型ではないパイプライン演算子の提案はきっと喜ばれるよ
0580デフォルトの名無しさん
垢版 |
2017/12/25(月) 00:38:42.38ID:W15ZQhn0
いずれにせよ>>559のようにメソッド呼出の括弧省略の問題があるからJavaScriptやCaml系のようなクリーンなシンタックスにはならないけどね
&:symbolとか->みたいなハック感溢れる醜い構文になる
0581デフォルトの名無しさん
垢版 |
2017/12/25(月) 01:02:31.40ID:h6gXOlbY
>>580
いや、オブジェクト指向言語のRubyなら、現時点でも
簡潔にメソッドチェーンで流れるようなコードが書ける

以下は>>545の例:
 https://ideone.com/aExbWe

refinements に関しては以下の記事が分かりやすかったのでご参考
・Ruby の refinements の使い途 - Qiita
 https://qiita.com/scivola/items/dc49d56c90fd0cb6d4d3

で、何かご不満はございますか?
0583デフォルトの名無しさん
垢版 |
2017/12/25(月) 01:05:56.92ID:mSK8fdnz
>>581
> で、何かご不満はございますか?

はい。

def foo(i); end
def bar(i); end
def baz(i); end

となっているものの baz(bar(foo(1)) という呼び出しを
メソッドチェーンで繋げないということです。

パイプラインオペレータならこの通り
1 |> foo |> bar |> baz
0584デフォルトの名無しさん
垢版 |
2017/12/25(月) 01:53:39.67ID:h6gXOlbY
>>582
>JavaScriptは元から関数型じゃないし

うーみゅ、やっぱりJavaScriptって誤解されてるのね
・クロージャって何がいいの?
http://mevius.2ch.net/test/read.cgi/tech/1415419907/224

リンク切れ邦訳版「JavaScriptの勉強:世界で最も誤解されたプログラミング言語」
http://web.archive.org/web/20130120204931/http://d.hatena.ne.jp/brazil/20050829/1125321936
>  Cの皮を被ったLisp
>
>  JavaScriptには、Cのような中括弧や不格好なforステートメントがあるため、
>  一般的な手続き型言語のように見えますが、それは誤りです。JavaScriptはCやJavaよりも、
>  LispやSchemeのような関数型言語と多くの共通点を持っているのです。JavaScriptには、
>  リストの代わりに配列があり、プロパティリストの代わりにオブジェクトがあります。
>  関数はファーストクラスであり、クロージャも備えています。つまり括弧の対応をとる手間なしに、
>  ラムダを利用できるのです。


>>583
それに関しては納得
前スレで書いたように、Rubyにおいてメソッドは一級市民(ファーストクラス)ではありませんからね
・Ruby 初心者スレッド Part 61
 http://mevius.2ch.net/test/read.cgi/tech/1503644351/210
0588デフォルトの名無しさん
垢版 |
2017/12/25(月) 02:19:08.95ID:h6gXOlbY
>>585
まったくそのとおりですね
といふことで、JavaSciptのパイプライン演算子を提案されている方は、
JSスレヘお帰りになられるか、もしくわ

  日常的にカッコだらけになってしまうPython(>>579)

スレへ移動されるよう希望します

特にRubyと違ってPythonは関数が一級市民ですから、
JavaScriptの手法を適用するのは(Rubyよりも)容易でしょう
0589デフォルトの名無しさん
垢版 |
2017/12/25(月) 10:22:56.25ID:yHCsyXBb
Windows10 の、VS Code で、irb (PowerShell ターミナル)を起動して、

put "abc"
なら、実行できるけど、

put "あいう"
のように日本語があると、実行できないね
0590589
垢版 |
2017/12/25(月) 10:27:56.95ID:yHCsyXBb
put "abc" # あ

のように、コメントに日本語がある時は、実行できる
0592589
垢版 |
2017/12/25(月) 12:11:57.01ID:yHCsyXBb
知らないけど、UI 部分を、C言語とかで作っているから、
いつまで経っても修正できないのだろう

UI 部分は、VS Code みたいに、
ブラウザ技術を使っている、Electron で作れば良かった
0596デフォルトの名無しさん
垢版 |
2017/12/25(月) 21:52:41.67ID:YHWK2l8N
yield_selfはこれまでメソッドチェーンをしたくてもできなかった場合で活躍するね
途中の一時変数は用無しになった
0597デフォルトの名無しさん
垢版 |
2017/12/25(月) 22:38:48.18ID:h6gXOlbY
昨日のパイプライン演算子に関する話の中に出てきた >>583 のようなケースが
以下のように書けるようになる

https://ideone.com/hZI7wT

・Ruby 2.5 の yield_self - Qiita
 https://qiita.com/stomk/items/58dce3e5e294639ab1c9

F# や Elixir の登場ですっかり世間の認知度がアップしたパイプライン演算子、
すっかりハマって
「プログラミングスタイルをパイプライン形式(いわゆるメソッドチェーン)で統一して書きたい!」
という欲求を抑えられない人たちにとっては嬉しいメソッドの新設ではないかと思われ

個人的には、メソッド名は apply もしくはそれを短くした app が
感覚的に合っていた(エイリアスを定義するだけなんだけどね)
0598デフォルトの名無しさん
垢版 |
2017/12/25(月) 22:46:27.01ID:mSK8fdnz
ふっふっふ、ようやく気づいたかね?
昨日のパイプライン演算子の話は
ここにつながるのだよ
0599デフォルトの名無しさん
垢版 |
2017/12/25(月) 23:07:16.77ID:h6gXOlbY
つまり:
・JavaScriptでは現時点だと最終的に採用されるか否かも定かでない Proposal 段階で、
 実験的な実装をいじってあーだこーだ議論している真っ最中
・一方、Rubyではとっくに議論を終えて公式にリリースを終えてしまった
といふ話ですね
0600デフォルトの名無しさん
垢版 |
2017/12/25(月) 23:20:17.82ID:YHWK2l8N
ちょっと面白い発見
ppを使うのにrequire要らずだってあったから試してみたけど、
使った最初に自動でrequireするようになってる

$ ruby25 --disable-gems -e 'puts $"'
enumerator.so
thread.rb
rational.so
complex.so
/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/encdb.so
/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/trans/transdb.so

$ ruby25 --disable-gems -e 'pp $"'
["enumerator.so",
 "thread.rb",
 "rational.so",
 "complex.so",
 "/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/encdb.so",
 "/usr/local/lib/ruby/2.5/amd64-freebsd11/enc/trans/transdb.so",
 "/usr/local/lib/ruby/2.5/prettyprint.rb",
 "/usr/local/lib/ruby/2.5/pp.rb"]
0601デフォルトの名無しさん
垢版 |
2017/12/26(火) 14:56:29.62ID:75dqQ4yg
private methodを定義する時ってどう書くのが普通?

private def foo
__bar
end

def foo
__ bar
end
private :foo

# クラスの後ろにまとめて定義
private
def foo
__bar
end
0602デフォルトの名無しさん
垢版 |
2017/12/26(火) 16:40:03.50ID:pHnCZ49/
自分の好きなタイミングで
0604デフォルトの名無しさん
垢版 |
2017/12/26(火) 17:36:54.63ID:Zhknjblq
俺は後ろにまとめて書くようにしてる。
ついでに言うとprivateが連続した場合2個目以降のprivateは不要だが、パッと見て分かるように常に付けている。

最近は触って欲しくないメソッドはリファインメントを使うっていう手法を覚えたけど、これは異端なのか分からない。
0605デフォルトの名無しさん
垢版 |
2017/12/26(火) 22:52:56.50ID:pHnCZ49/
アンチ息してる?
アンチスレ死亡してるみたいだけど
0607デフォルトの名無しさん
垢版 |
2017/12/26(火) 23:45:46.61ID:p5HaZQjy
そもそもRubyのprivateって実質的な強制力はほぼゼロでコメントとしての意味くらいしかないからな
そういう意味ではよほど小さなクラスを除けば全部に付けないとあまり意味ないんじゃないか
0608デフォルトの名無しさん
垢版 |
2017/12/27(水) 01:21:36.89ID:kb3Qecdj
アンチがアンチスレの存在をすっごい嫌がってるのは、本スレで暴れたいからだろうな

だが、断る
アンチはあの過疎ったアンチスレへ帰るべきだ
0609デフォルトの名無しさん
垢版 |
2017/12/27(水) 01:24:11.45ID:Kn/lt9VX
結局ここにアンチが来てなくても
アンチの話題をしたいわけなんだよな
もう病気だと思うよw
0611589
垢版 |
2017/12/27(水) 01:58:58.62ID:u0gTyM9V
>>589-592
自己レス

irb -E CP932

irb の起動時に、オプションを付けると、日本語文字列も正常になった

puts "あ"

Ruby は、Windows でも無敵やな!
0612デフォルトの名無しさん
垢版 |
2017/12/27(水) 04:54:44.27ID:vGbq0nNV
>>601
人それぞれでいいと思うけど、自分はクラスの後ろにまとめて定義する派だね
ドキュメンテーションとしての可読性を重視し、あるクラス定義において
デフォは公開したいメソッドだけどキーワード private で宣言した以降の
セクションは非公開にしたいという意図がある

 class Klass
   公開したいメソッドの定義セクション
 private
   不公開なメソッドの定義セクション
 end

個別に宣言する private :foo を使うケースは、公開するつもりでクラスを設計したけど、
リファクタリングの過程で「このメソッドは非公開でもいいんじゃね?」と疑問を感じたら
private :foo を付けテストを流して実験するといった一時的なもの


>>607
確かに、メンバ変数のアクセス制限という概念が無く、全ての変数がpublicとして扱われるのよね
 https://qiita.com/nkennek/items/8c54365cb873cca8730a
 http://woodyring.blog.so-net.ne.jp/2013-05-25-1
ああ中途半端でめんどくさ
0614デフォルトの名無しさん
垢版 |
2017/12/27(水) 14:47:08.38ID:K4eQH++r
メンバ変数なんてない
インスタンス変数の事を言ってるならそもそもオブジェクトの外からはアクセスできない
0615デフォルトの名無しさん
垢版 |
2017/12/28(木) 23:13:58.27ID:zlcR2/4C
みんな、デバッグはpで済ましてる?
それとも何かツール使ってる?
0619デフォルトの名無しさん
垢版 |
2017/12/30(土) 03:43:26.25ID:Codmlyj+
最近、debug.rb知って使うようになったけど


pで間に合うデバッギングしかまだやってないんだよな
0620540
垢版 |
2017/12/30(土) 08:54:20.80ID:M2I24uN0
RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)は、Rubyのポータブル版の実行環境だった。
Ruby 2.4(x64)は9MB で、解凍すると56MB になった

これだけでも、ファイルI/O など、結構遊べる

デフォルトで、erb, irb, minitest, sinatra などが入っている。
RSpec は入っていないけど

先に、bundler gem を入れて、
VS Code の画面で、Ruby Solargraph という拡張機能を入れると、
solargraph gem がインストールされるので、VS Code で補完ができる

VS Code で、Ruby のデバック用の拡張機能を入れようとすると、
Windows のネイティブコードにコンパイルする必要があるから、
The MSYS2 DevKit を入れる必要がある。
これが、1.7GB もあるらしいので、入れない方が良い

1行ずつデバッグせず、p などで表示しながら作るのが良い

MSYS2 DevKit を入れない範囲で、プログラミングするのが簡単
0623デフォルトの名無しさん
垢版 |
2017/12/30(土) 15:07:11.63ID:KgXg1sy3
英語が読めなかったんですね。すみませんでした
マニュアルには「コロンとコンマの区切りの後にspace:で指定した文字列がおかれる」と書いてあります
0627デフォルトの名無しさん
垢版 |
2017/12/30(土) 17:05:16.47ID:20iing1R
何しても`,'の後ろには入らないね
バグっていうよりマニュアルの不備なのかな
0628デフォルトの名無しさん
垢版 |
2017/12/30(土) 17:25:46.52ID:IKvN98q1
,の後ろにスペース入れるのは一般的なフォーマットだから、常識的にはドキュメントの方が正しいでしょ
直してプルリク出せ
0629デフォルトの名無しさん
垢版 |
2018/01/02(火) 13:03:30.40ID:nZWiMujw
明けおめ
今年初のRubyスレ書き込み
0630デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:10:18.61ID:Q+9WD3Xu
新年からRailsを勉強中。環境はwin64 

<%= csrf_meta_tags %>

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'default', 'data-turbolinks-track': 'reload' %>
</head>

さっきから、こいつに対してExecJS::ProgramError hogehoge#indexってエラーを吐いてばかり

coffee-scciptも1.8.0にしてもさっぱり解決せず。libv8とtherubyracerを入れろとか書いてるけど、
さっきから2時間以上苦戦してるが、全くインストールできずエラーばっかり

何なんだこれ
0631デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:12:28.67ID:Q+9WD3Xu
違った、viewの中身はこいつだ

<!DOCTYPE html>

<html>

<head>

<title>hogehoge</title>

<%= csrf_meta_tags %>


<%= stylesheet_link_tag "application", media:"all", "data-turbolinks-track"=> true %>

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>

</head>


<body>

<%= yield %>

</body>

</html>
0632デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:13:36.50ID:NRmrCA2E
今時WinでやるならWSLを使おう
どうせ運用はLinuxなんだからそれに慣れる意味でもな
あと、オワコンCoffeeなんか今更使っちゃダメ
0633デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:30:29.29ID:Q+9WD3Xu
タイトルでそう思ったけど、ここ初心者スレじゃなかったのか
仕方ない、自分でもうしばらく足掻くか
0634デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:32:05.53ID:ZaEks4dH
WSL使おうってアドバイスがあるのにさらっと無視するようじゃ、初心者スレ云々の問題じゃないかと思われる
0636デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:42:47.77ID:ZaEks4dH
だったらWSL使えないって言えよ
そしたらVMWare使えってアドバイスもらえるんだからさ
0637デフォルトの名無しさん
垢版 |
2018/01/02(火) 22:44:20.68ID:IA96dLm2
答えのわからない質問に、的はずれな回答しなくていいから
わからないなら黙ってなさい
0638デフォルトの名無しさん
垢版 |
2018/01/03(水) 00:44:42.35ID:0mS9Giqv
原因わかったよ、鋸使わなかったから
鋸使ったらうまくいった

あとで調べたらWSLは互換性がどうたらとか書いてたし、VM使うほど容量に余裕ないんで
でもまあwindowsよりLinux使えってのが大きなヒントになったのは確か
0639デフォルトの名無しさん
垢版 |
2018/01/03(水) 00:53:49.79ID:BK81yZAH
互換性はWSLの方が遥かにマシだぞ
WinのRubyなんか動いたらラッキーレベルのおまけ
0640デフォルトの名無しさん
垢版 |
2018/01/03(水) 06:24:30.41ID:LyakWDNT
>>620
に書いておいた

The MSYS2 DevKit などで、
Windows のネイティブコードにコンパイルしているようなものは、基本的に使えない。
それに、コンパイルできても、正常に動くとは限らないし

Nokogiri などの各gem が、バージョンアップに対応しないから、
Rails 5 などは使えない

各gem を作っている人は、皆手弁当でやっているから、
OS のバージョンアップに一々、対応していられない

Ruby の対応状況と、各gem の対応状況は、全く違うし、作者も別人。
とにかく、gem を使うものは、gem のバージョンに合わせて、
Ruby, Rails のバージョンを下げないといけない

Ruby 使いは、vagrant, chef を使う。
または、WSL, Docker など
0641640
垢版 |
2018/01/03(水) 08:15:54.66ID:LyakWDNT
基本的に、gem の作者が、Windows10 用のバイナリを配布していない、
gem は、作者によって動作が保証されていない

それを、The MSYS2 DevKit などで、ユーザーが勝手に、
Windows のネイティブコードにコンパイルして、動かしているようなものは、
基本的には安全ではない。
コンパイルできても、正常に動くとは限らないから

gem の作者でもないユーザーが、勝手にコンパイルして動かしても、安全性を証明できない

gem の作者が配布している、バイナリのバージョンまで、
Ruby, Rails のバージョンを下げる必要がある

Windows10 の場合は、RubyInstallers に、最初から入っている、
erb, irb, minitest, sinatra などで遊ぶ。

gem も、ユーザーがコンパイルする必要のない、gem の範囲で、遊ぶのが良い
0642デフォルトの名無しさん
垢版 |
2018/01/03(水) 12:59:19.24ID:vVUVg3Hi
gemの範囲で遊ぶのが良い までは読んだ

まあ遊びというか入門勉強用にしとけばいいわけだな。遊びでも触っておけば、本番で構築が必要になった時
いくらでも応用利くから。MVCも他のフレームワークとあまり変わらなさそうだし
0643デフォルトの名無しさん
垢版 |
2018/01/03(水) 13:59:57.88ID:7RCD6iyC
何故、荒らしはアンチスレに帰らないで本スレで自演してるの?
さみしいの?
0644デフォルトの名無しさん
垢版 |
2018/01/03(水) 14:12:30.27ID:xfm5wXWm
>>643
アンチもクソも、現実を直視しよう
Rubyのコアのコミュニティに行くとWin使いには人権ないぞ
このスレはまだマシな方だよ
0645デフォルトの名無しさん
垢版 |
2018/01/03(水) 14:57:18.33ID:vVUVg3Hi
人権とかいう排他的な言い方しなくても、win環境には適応しきれていないのはわかったよ
rails new hogehogeコマンドで新たなアプリケーション作ってもまともに動かないことも分かったし
社内PCにはVMぐらいは作ってあるから、そっちでいくらでも試せる

今度はサーバ設定ツールにvagrant、chef、Docker、WSLとか書かれてるけど
どれが一番オススメかは聞いておきたい
0646デフォルトの名無しさん
垢版 |
2018/01/03(水) 15:31:56.84ID:SZxPYOzJ
なんかもう言ってることがすごいな
>The MSYS2 DevKit などで、ユーザーが勝手に、
>Windows のネイティブコードにコンパイルして、動かしているようなものは、
>基本的には安全ではない。
0647デフォルトの名無しさん
垢版 |
2018/01/03(水) 16:02:22.19ID:Z3K4Tirs
サーバー設定はchef-soloが簡単かなー

鯖は最終借りて使うことになるし
AWS,VPSなんかに使いまわしできる。

dockerなんかも便利

web系はLinuxは必須。
0650デフォルトの名無しさん
垢版 |
2018/01/03(水) 19:29:07.03ID:tD4HLGIX
>>647
ansibleの方がマシ
ただ俺に言わせりゃ冪等性が必要ない
使い捨てマシンの設定はシェルスクリプトでいい
0651デフォルトの名無しさん
垢版 |
2018/01/03(水) 20:20:36.21ID:vVUVg3Hi
>>649
アンチスレとかあるんか?そんな技術どうこうに、わざわざアンチとか騒いで
何か開発上のメリットでもあるのか?
0652デフォルトの名無しさん
垢版 |
2018/01/03(水) 22:02:49.25ID:ML6+3XhW
嘘を吹聴してる荒らしはまだおるんか?
はよーアンチスレへ帰れ

初心者スレで嘘ばっかりつきやがって
0653デフォルトの名無しさん
垢版 |
2018/01/03(水) 23:03:06.29ID:vVUVg3Hi
そこまで言うなら
他のスレに貼り付けてやろうか?
Ruby開発者はこんな連中ばっかりだと

Pythonスレとかあたりに
0654デフォルトの名無しさん
垢版 |
2018/01/03(水) 23:07:20.10ID:vVUVg3Hi
俺はPHPとかJavaScriptはMVCフレームワーク含めて経験あるし、納品実績もあるけど

RubyやRailsは本当に初心者だよ、去年まではRailsなんて名前しか知らんかった
一応上司に勉強しといた方がいいって勧められて、せっかくの正月休みなんで
意気込んで勉強してたんだよ

こんなところで質問した自分が心底馬鹿だったわ

初心者を罵倒するスレに改名してくれ
0655デフォルトの名無しさん
垢版 |
2018/01/03(水) 23:08:40.92ID:ML6+3XhW
おまえ、
他のスレを荒らすのもええ加減にやめろ
みんな迷惑しとるやろうが
0656デフォルトの名無しさん
垢版 |
2018/01/03(水) 23:21:54.41ID:dC+KJDFP
>648デフォルトの名無しさん2018/01/03(水) 16:02:34.32ID:vVUVg3Hi
>結局Vagrant使ってVB入れて続きを動かしてみることにした

例の荒らしがとうとう他スレに移住してくれるわけか
これはめでたい
0657デフォルトの名無しさん
垢版 |
2018/01/04(木) 00:11:00.11ID:Db2jLLtK
Docker、2016、オライリー

実践 Vagrant、Mitchell Hashimoto、2014、オライリー

Vagrant, Packer などで有名な、HashiCorp の創始者


Chef実践入門 - コードによるインフラ構成の自動化、2014

cookbookは各社が公開している

Chef社のopscode、Railsを作っている Basecamp社、
Berkshelfを作っている Riot Games社、
Pivotal Trackerを作っている Pivotal Sprout社、
aws, engine yard
0659640
垢版 |
2018/01/04(木) 01:01:51.01ID:Db2jLLtK
CentOS は、64ビット版のみで、32ビット版はもうやっていない。
Linux も徐々に、32ビット版を作らなくなってきた

Ruby で、ユーザーが勝手に、ソースコードからコンパイルしているような、
32ビット版のgem は、使えなくなってくる

gem の作者がほったらかしで、64ビット版をサポートしていないから、
こういうgem に依存しているアプリは、Linux でも動かなくなっていく
0661デフォルトの名無しさん
垢版 |
2018/01/04(木) 02:54:14.07ID:IBQXDyQ6
これ、朝になったらアンチが発狂して自演繰り返すパターンだわ
俺知ってる
0662540
垢版 |
2018/01/04(木) 07:31:26.40ID:Db2jLLtK
Windows10 Home で、RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64) ポータブル版、The MSYS2 DevKit 無しで、

Nokogiri をインストールしたら、
コンパイル無しで、Windows用のバイナリgem がインストールできたのか?w
The MSYS2 DevKit は、インストールしていないけど

PS C:\Users\Owner\Documents\Ruby\proj01> bundle install
Fetching gem metadata from https://rubygems.org/..............
Resolving dependencies...
Using bundler 1.16.1

Fetching mini_portile2 2.3.0
Installing mini_portile2 2.3.0

Fetching nokogiri 1.8.1 (x64-mingw32)
Installing nokogiri 1.8.1 (x64-mingw32)

Bundle complete! 1 Gemfile dependency, 3 gems now installed.

Use `bundle info [gemname]` to see where a bundled gem is installed.

Post-install message from nokogiri:

Nokogiri is built with the packaged libraries: libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15.
0663540
垢版 |
2018/01/04(木) 10:00:23.11ID:Db2jLLtK
Windows10 Home で、RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64) ポータブル版 (The MSYS2 DevKit 無し)に、最初から、

libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15
などのコンパイル済みライブラリが入っているみたい

なので、The MSYS2 DevKit が無くても、
Nokogiri gem を入れるだけで動く

やってみたら、Nokogiri は、確かに動いた!

インストールの最難関と言われる、Nokogiri が、簡単にインストールできた!w
Ruby 2.4, gem, Nokogiri などの進化を感じた
0664デフォルトの名無しさん
垢版 |
2018/01/04(木) 10:31:04.56ID:M7dikhfh
>ID:Db2jLLtK
何度も言うが自演を繰り返して荒らすなら
アンチスレへ行け
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況