プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 63
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby コミュニティ公式
https://www.ruby-lang.org/
探検
Ruby 初心者スレッド Part 64
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/09/01(土) 19:25:16.66ID:wk35+pf/602デフォルトの名無しさん
2018/10/10(水) 12:28:05.87ID:FcX3TrAZ603デフォルトの名無しさん
2018/10/10(水) 12:52:43.54ID:GtoVLTgS アンチは自演が足りてないな
木曜日の勢いはどうした?
木曜日の勢いはどうした?
604デフォルトの名無しさん
2018/10/10(水) 13:43:18.18ID:J+20JPiD >>603
お前がアンチ成りすましだろ
お前がアンチ成りすましだろ
605デフォルトの名無しさん
2018/10/10(水) 13:59:26.60ID:yHtilhZ9 アンチ成りすましというパワーワード
606デフォルトの名無しさん
2018/10/10(水) 16:01:24.42ID:6XSXLAH4 連休費やしてこれだけしか荒らせなかったのか?
レス稼ぎにもならんな
そんなんだから毛根が死滅するんだよ
レス稼ぎにもならんな
そんなんだから毛根が死滅するんだよ
607デフォルトの名無しさん
2018/10/11(木) 22:14:08.07ID:U1kKB/4M RubyのLOAD_PATHって誰がどうやって設定してるの?
ビルドするときにバイナリに埋め込まれるの?
ビルドするときにバイナリに埋め込まれるの?
608デフォルトの名無しさん
2018/10/12(金) 04:59:13.35ID:1iFt3dhJ 「Ruby は国内でしか使われていない」
デマ流してるのは Matz 本人だと思った
デマ流してるのは Matz 本人だと思った
609デフォルトの名無しさん
2018/10/12(金) 05:52:03.73ID:sbMdiEdb 「Rubyは死んだ」も自業自得
これまでMatzは調子こいて他言語をさんざん時代遅れ呼ばわりしてたからな
普通教祖は暴走する信者をたしなめるものなんだが…その器じゃなかったということか
これまでMatzは調子こいて他言語をさんざん時代遅れ呼ばわりしてたからな
普通教祖は暴走する信者をたしなめるものなんだが…その器じゃなかったということか
610デフォルトの名無しさん
2018/10/12(金) 07:57:15.54ID:C1pVYns8 >>607
知らないけど、Windows, Linux 用のパスが、設定ファイルに書いてあるんじゃないの?
知らないけど、Windows, Linux 用のパスが、設定ファイルに書いてあるんじゃないの?
611デフォルトの名無しさん
2018/10/12(金) 08:04:46.04ID:wwlgi++0 RubyにTSみたいな構造的部分型の静的型検査が入るのいつですか?
時代の最先端行ってるはずのRubyさんなのに、今回は遅くてイライラします!
時代の最先端行ってるはずのRubyさんなのに、今回は遅くてイライラします!
612デフォルトの名無しさん
2018/10/12(金) 08:16:47.73ID:Y9zzUgKz613デフォルトの名無しさん
2018/10/12(金) 08:40:32.55ID:4VCKLvgd javaやったらいちいちセミコロン付けないといけないらしくてちょくちょく忘れて焦ったわ
Rubyだとあってもなくてもいい、というか使う人いないから忘れがち
Rubyだとあってもなくてもいい、というか使う人いないから忘れがち
614610
2018/10/12(金) 09:06:52.78ID:C1pVYns8 >>612
知らないから、推測で書くけど、
ひとまず設定ファイルか、C 言語のヘッダファイルにでも、
デフォルト値を書いておいて、各OS 用にコンパイルする
各OS では環境変数に設定すると、デフォルト値を上書きできるとか?
知らないから、推測で書くけど、
ひとまず設定ファイルか、C 言語のヘッダファイルにでも、
デフォルト値を書いておいて、各OS 用にコンパイルする
各OS では環境変数に設定すると、デフォルト値を上書きできるとか?
615デフォルトの名無しさん
2018/10/12(金) 11:05:56.88ID:Y9zzUgKz >>614
rbenvで自分のHOME以下にインストールしたRubyのバイナリを
stringsで調べたら、自分の名前がバイナリに含まれてることを確認した。
Rubyに限らずLinux/Unix系の一般的な作法なのかもしれないけど、
参照する基本的なパスはバイナリに埋め込まれるのかなーって今思ってる。
Windowsだと一つのディレクトリに全部入れるからわかりやすいけど
Linuxだと、バイナリは/usr/bin/ruby(シンボリックリンク、実体は/usr/bin/ruby2.5)
だけど、LOAD_PATHは/usr/local/lib/site_ruby2.5.0とか/usr/lib/ruby/vendor_ruby/2.5.0とか
相対パスで決まらない場所にあちこちに散らばるから、これらのパスを書いておかないといけないはずなんだよね
最初は/etcかな?ともよくよく考えると/optとかに入れることもあるわけで、/etc決め打ちってわけにも行かない
実行バイナリからの相対パスに設定ファイルがあるようにも思えないのでやっぱりバイナリ埋め込みなのかな。
言い換えると実行バイナリを移動したりしても参照するディレクトリを変更することはできないと
rbenvのように標準とは異なるLOAD_PATHにする仕組みを作るためにはバイナリをビルドする必要があると
もちろんソースコードに直接書いてるわけじゃなくて、autoconf?とかビルドするときの--prefixとか
その他の設定によって、バイナリに埋め込まれる
rbenvで自分のHOME以下にインストールしたRubyのバイナリを
stringsで調べたら、自分の名前がバイナリに含まれてることを確認した。
Rubyに限らずLinux/Unix系の一般的な作法なのかもしれないけど、
参照する基本的なパスはバイナリに埋め込まれるのかなーって今思ってる。
Windowsだと一つのディレクトリに全部入れるからわかりやすいけど
Linuxだと、バイナリは/usr/bin/ruby(シンボリックリンク、実体は/usr/bin/ruby2.5)
だけど、LOAD_PATHは/usr/local/lib/site_ruby2.5.0とか/usr/lib/ruby/vendor_ruby/2.5.0とか
相対パスで決まらない場所にあちこちに散らばるから、これらのパスを書いておかないといけないはずなんだよね
最初は/etcかな?ともよくよく考えると/optとかに入れることもあるわけで、/etc決め打ちってわけにも行かない
実行バイナリからの相対パスに設定ファイルがあるようにも思えないのでやっぱりバイナリ埋め込みなのかな。
言い換えると実行バイナリを移動したりしても参照するディレクトリを変更することはできないと
rbenvのように標準とは異なるLOAD_PATHにする仕組みを作るためにはバイナリをビルドする必要があると
もちろんソースコードに直接書いてるわけじゃなくて、autoconf?とかビルドするときの--prefixとか
その他の設定によって、バイナリに埋め込まれる
616610
2018/10/12(金) 11:22:45.70ID:C1pVYns8 原理的には、rbenv は仮想環境だから、activate すると、
~/.bashrc などで、環境変数PATH の一番前に、プロジェクトフォルダを追加して、
~/.bashrc を再読み込みする
そうやって一時的に、ruby コマンドで起動する、rubyのバージョンを変える
~/.bashrc などで、環境変数PATH の一番前に、プロジェクトフォルダを追加して、
~/.bashrc を再読み込みする
そうやって一時的に、ruby コマンドで起動する、rubyのバージョンを変える
617デフォルトの名無しさん
2018/10/12(金) 11:31:26.65ID:vWnsmRfa618デフォルトの名無しさん
2018/10/12(金) 11:35:12.06ID:vWnsmRfa 環境変数でないのは、環境変数を表示してみればわかるはず
619デフォルトの名無しさん
2018/10/12(金) 11:49:52.50ID:vWnsmRfa あと、ちなみに>>616が言ってる仕組みは間違い
> ~/.bashrc などで、環境変数PATH の一番前に、プロジェクトフォルダを追加して
プロジェクトフォルダは追加しない
> ~/.bashrc を再読み込みする
再読込が必要なのはインストール直後のみ
.bashrcに書かれるのだから次回からは不要
> そうやって一時的に、ruby コマンドで起動する、rubyのバージョンを変える
一時的に変更するオプションはあるが、通常は一時的ではない
本当の仕組みは、まずPATHの一番前にrbenvのパスが追加される。
そこにrubyコマンド等が入っている・・・ように見えて、これはただのシェルスクリプト
rubyを実行すると、まずこのrbenvのrubyシェルスクリプトが実行される。
このシェルスクリプトは設定またはプロジェクトフォルダの.ruby-versionを参照して
適切なバージョンのrubyを実行する
> ~/.bashrc などで、環境変数PATH の一番前に、プロジェクトフォルダを追加して
プロジェクトフォルダは追加しない
> ~/.bashrc を再読み込みする
再読込が必要なのはインストール直後のみ
.bashrcに書かれるのだから次回からは不要
> そうやって一時的に、ruby コマンドで起動する、rubyのバージョンを変える
一時的に変更するオプションはあるが、通常は一時的ではない
本当の仕組みは、まずPATHの一番前にrbenvのパスが追加される。
そこにrubyコマンド等が入っている・・・ように見えて、これはただのシェルスクリプト
rubyを実行すると、まずこのrbenvのrubyシェルスクリプトが実行される。
このシェルスクリプトは設定またはプロジェクトフォルダの.ruby-versionを参照して
適切なバージョンのrubyを実行する
620610
2018/10/12(金) 13:03:26.10ID:C1pVYns8 恒久的に、~/.bashrc に書かれていたら、マズイじゃん。
常に、環境変数PATH の一番前に、仮想環境があるってことだろ
そうじゃなくて、仮想環境を、activate した時だけ、
PATHの順番が変わるようにしないといけない
普段は、Ruby 2.3 とかを使っていて、
activate した時だけ、2.5 を使うとか
常に、環境変数PATH の一番前に、仮想環境があるってことだろ
そうじゃなくて、仮想環境を、activate した時だけ、
PATHの順番が変わるようにしないといけない
普段は、Ruby 2.3 とかを使っていて、
activate した時だけ、2.5 を使うとか
621デフォルトの名無しさん
2018/10/12(金) 13:06:28.04ID:vWnsmRfa お前が思ってる仕組みが間違いで
それよりももっと高度な仕組みを使ってるから
恒久的に.bashrcに実際に書かれているが
何も問題になってないんだよ
勉強不足なんだから反省してから書き込め
それよりももっと高度な仕組みを使ってるから
恒久的に.bashrcに実際に書かれているが
何も問題になってないんだよ
勉強不足なんだから反省してから書き込め
622デフォルトの名無しさん
2018/10/12(金) 13:09:24.83ID:fTMxnY19623610
2018/10/12(金) 13:12:13.56ID:C1pVYns8 ruby というコマンドを入力すると、
そのシェルスクリプトが実行されて、適切なバージョンのRuby が呼び出されるのか
そのシェルスクリプトが実行されて、適切なバージョンのRuby が呼び出されるのか
624デフォルトの名無しさん
2018/10/12(金) 14:33:44.62ID:46Wm2YVF >>615
>Rubyに限らずLinux/Unix系の一般的な作法なのかもしれないけど、
>参照する基本的なパスはバイナリに埋め込まれるのかなーって今思ってる。
一般的ではないよ
普通は埋め込むとしても ~/ だから
rbenv が糞
>Rubyに限らずLinux/Unix系の一般的な作法なのかもしれないけど、
>参照する基本的なパスはバイナリに埋め込まれるのかなーって今思ってる。
一般的ではないよ
普通は埋め込むとしても ~/ だから
rbenv が糞
625デフォルトの名無しさん
2018/10/12(金) 17:10:53.96ID:vWnsmRfa >>622
だから、rbenvの仕組みを理解しろって
だいたい、仮想環境とかactivateなんて言葉は使わない。
こっちはわかってるんだよ。お前がPythonの話をしてるのは
なぜ間違いを素直に認められない?
https://memo.sugyan.com/entry/20111128/1322420500
> で、この${RBENV_ROOT}/shims/rubyの中身を見てみると…
>
> #!/usr/bin/env bash
> set -e
> export RBENV_ROOT="/Users/sugyan/.rbenv"
> exec rbenv exec "${0##*/}" "$@"
> とだけ書いてある。これは同ディレクトリにあるgemやirbやrakeなども全部同じ内容。
> 結局このPATHに入っているコマンドを呼ばれた場合はすべて同じように処理される、ということになる。
>>624
お前は何を言ってるんだ?
rbenvの話とrubyの話をごっちゃにするなって
だから、rbenvの仕組みを理解しろって
だいたい、仮想環境とかactivateなんて言葉は使わない。
こっちはわかってるんだよ。お前がPythonの話をしてるのは
なぜ間違いを素直に認められない?
https://memo.sugyan.com/entry/20111128/1322420500
> で、この${RBENV_ROOT}/shims/rubyの中身を見てみると…
>
> #!/usr/bin/env bash
> set -e
> export RBENV_ROOT="/Users/sugyan/.rbenv"
> exec rbenv exec "${0##*/}" "$@"
> とだけ書いてある。これは同ディレクトリにあるgemやirbやrakeなども全部同じ内容。
> 結局このPATHに入っているコマンドを呼ばれた場合はすべて同じように処理される、ということになる。
>>624
お前は何を言ってるんだ?
rbenvの話とrubyの話をごっちゃにするなって
626デフォルトの名無しさん
2018/10/12(金) 17:13:10.29ID:vWnsmRfa Ruby | rbenv | 仕組み
http://tbpgr.hatenablog.com/entry/20131109/1384019022
> rbenvの仕組みについて
>
> shims
> unixのコマンドは$PATHを左から順に探します。
> rbenvインストール前のパスは下記のようになっています。
>
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
> rbenvはPATHの先頭にshimsを追加することで動作します。
>
> %rbenv_home%/shims
> これによりuser/local/bin等より前に%rbenv_home%/shimsでrubyの各コマンドを
> 発見することになります。
> Ruby versionの決定順序
> 1.RBENV_VERSION環境変数の内容。
> 2.実行中のscrpitファイルから探した「.ruby-version」ファイルの内容。
> 3.現在の作業ディレクトリから探した「.ruby_version」ファイルの内容。
> 4.「%rbenv_home%/version」の内容。
> Rubyのインストールパス
> 各バージョンごとのRubyは下記の用にインストールされます。
>
> %rbenv_home%/versions/1.8.7-p371/
http://tbpgr.hatenablog.com/entry/20131109/1384019022
> rbenvの仕組みについて
>
> shims
> unixのコマンドは$PATHを左から順に探します。
> rbenvインストール前のパスは下記のようになっています。
>
> /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
> rbenvはPATHの先頭にshimsを追加することで動作します。
>
> %rbenv_home%/shims
> これによりuser/local/bin等より前に%rbenv_home%/shimsでrubyの各コマンドを
> 発見することになります。
> Ruby versionの決定順序
> 1.RBENV_VERSION環境変数の内容。
> 2.実行中のscrpitファイルから探した「.ruby-version」ファイルの内容。
> 3.現在の作業ディレクトリから探した「.ruby_version」ファイルの内容。
> 4.「%rbenv_home%/version」の内容。
> Rubyのインストールパス
> 各バージョンごとのRubyは下記の用にインストールされます。
>
> %rbenv_home%/versions/1.8.7-p371/
627デフォルトの名無しさん
2018/10/12(金) 17:19:11.25ID:vWnsmRfa とりあえず今度レスする時は、なんかのリンクを引用して
技術的な話をするように。
それができないから罵倒して終わるんだろうけどな。
技術的な話をするように。
それができないから罵倒して終わるんだろうけどな。
628デフォルトの名無しさん
2018/10/12(金) 17:50:23.24ID:vWnsmRfa Pythonの話が出たのでPythonを調べてみたが、やっぱり
デフォルトのパスはバイナリに埋め込まれてるみたいだな
http://hagifoo.hatenablog.com/entry/2013/07/29/132740
> 一番上まで行っても見つからない場合はコンパイル時に
> --prefix オプションで設定されたパスが使われるようです^2。
実際にpyenvを使ってユーザーディレクトリに以下に
インストールしたpythonのバイナリをstringsで調べてみたら
自分の名前が見つかった
デフォルトのパスはバイナリに埋め込まれてるみたいだな
http://hagifoo.hatenablog.com/entry/2013/07/29/132740
> 一番上まで行っても見つからない場合はコンパイル時に
> --prefix オプションで設定されたパスが使われるようです^2。
実際にpyenvを使ってユーザーディレクトリに以下に
インストールしたpythonのバイナリをstringsで調べてみたら
自分の名前が見つかった
629デフォルトの名無しさん
2018/10/12(金) 17:56:17.35ID:vWnsmRfa おっと、今まで「ビルド」で検索していたから見つからなかったのか
上のリンクでふと思いついて「コンパイル」で検索したらあっさり見つかった
https://docs.ruby-lang.org/ja/latest/method/Kernel/v/=2dI.html
普通にRubyのリファレンスでLOAD_PATHを調べていればすぐ答えが見つかっていたのか
予想通りライブラリのロードのパスは(設定ファイルや実行バイナリのパスなどではなく)
Linux/Unixではコンパイル時に決定するものなんだね
> $LOAD_PATH -> [String]
> Kernel.#load や Kernel.#require がファイルをロードする時に検索するディレクトリのリストを含む配列です。
>
> 起動時にはコマンドラインオプション -I で指定したディレクトリ、 環境変数 RUBYLIB の値、
> コンパイル時に指定したデフォルト値 をこの順番で含みます。
Windowsの場合も予想通りで、Rubyのインストールディレクトリから決まる(正確にはruby.dllからの相対パスらしい)
> コンパイル時のデフォルトパスは 多くの UNIX システムでは "/usr/local/lib/ruby" です。
> mswin32、mingw32、Cygwin、 bccwin32、mswince 環境では ruby.dll の位置からの相対で決まります。
> DJGPP と emx (OS/2) では ruby.exe の位置からの相対で決まります。
つーことで自己解決になったな。クソ役に立たない初心者レスばかりだった
上のリンクでふと思いついて「コンパイル」で検索したらあっさり見つかった
https://docs.ruby-lang.org/ja/latest/method/Kernel/v/=2dI.html
普通にRubyのリファレンスでLOAD_PATHを調べていればすぐ答えが見つかっていたのか
予想通りライブラリのロードのパスは(設定ファイルや実行バイナリのパスなどではなく)
Linux/Unixではコンパイル時に決定するものなんだね
> $LOAD_PATH -> [String]
> Kernel.#load や Kernel.#require がファイルをロードする時に検索するディレクトリのリストを含む配列です。
>
> 起動時にはコマンドラインオプション -I で指定したディレクトリ、 環境変数 RUBYLIB の値、
> コンパイル時に指定したデフォルト値 をこの順番で含みます。
Windowsの場合も予想通りで、Rubyのインストールディレクトリから決まる(正確にはruby.dllからの相対パスらしい)
> コンパイル時のデフォルトパスは 多くの UNIX システムでは "/usr/local/lib/ruby" です。
> mswin32、mingw32、Cygwin、 bccwin32、mswince 環境では ruby.dll の位置からの相対で決まります。
> DJGPP と emx (OS/2) では ruby.exe の位置からの相対で決まります。
つーことで自己解決になったな。クソ役に立たない初心者レスばかりだった
630デフォルトの名無しさん
2018/10/13(土) 17:57:33.60ID:jMM+yhMK Rails の本に、すべてのヘルパーモジュールは、
すべてのテンプレート(ファイル名.html.erb)にミックスインされるので、
各ヘルパーモジュール内で定義するヘルパーメソッドを、
同じ名前にしてはいけないと書いてあるけど、
どうやって、同じ名前になるのを回避してますか?
すべてのテンプレート(ファイル名.html.erb)にミックスインされるので、
各ヘルパーモジュール内で定義するヘルパーメソッドを、
同じ名前にしてはいけないと書いてあるけど、
どうやって、同じ名前になるのを回避してますか?
631デフォルトの名無しさん
2018/10/13(土) 21:05:42.05ID:LdRaeBfZ632デフォルトの名無しさん
2018/10/13(土) 22:02:34.64ID:L3Dj2/gz そう
ウンコオンレイルズは信頼性や品質は横においといて
低学歴知恵遅れでも大量生産できるのがメリットなのに
そこをどうこういうのは間違い
ウンコオンレイルズは信頼性や品質は横においといて
低学歴知恵遅れでも大量生産できるのがメリットなのに
そこをどうこういうのは間違い
633デフォルトの名無しさん
2018/10/13(土) 23:09:18.83ID:yupcnuUE バイナリにパスが埋め込まれるのはpython固有の糞仕様だと思ってた。
634デフォルトの名無しさん
2018/10/13(土) 23:29:31.24ID:An0DfPZD Windowsと違って特定のディレクトリ以下に入れるわけじゃないからね。
FHSの決まりで、バイナリは/usr/bin/以下で、ライブラリは
/usr/lib以下とかに置かなきゃならないし、
ユーザーディレクトリ以下に入れるなら例えば~/bin, ~/lib 以下にしないといけない
どうにかしてバイナリとライブラリのパスを結びつける必要があるからね
FHSの決まりで、バイナリは/usr/bin/以下で、ライブラリは
/usr/lib以下とかに置かなきゃならないし、
ユーザーディレクトリ以下に入れるなら例えば~/bin, ~/lib 以下にしないといけない
どうにかしてバイナリとライブラリのパスを結びつける必要があるからね
635デフォルトの名無しさん
2018/10/13(土) 23:43:34.54ID:+tURSGDJ >>630
そもそもRailsは他人が知らないところで勝手にヘルパー追加してあぼんするような大規模な開発で使うようにはできていない
コードレベルでのコミュニケーションが取れないような規模なら適当な粒度でアプリを分けるべき
そもそもRailsは他人が知らないところで勝手にヘルパー追加してあぼんするような大規模な開発で使うようにはできていない
コードレベルでのコミュニケーションが取れないような規模なら適当な粒度でアプリを分けるべき
636デフォルトの名無しさん
2018/10/14(日) 11:20:47.18ID:rnepwLqV Rubyの仕事したかったけど
今はRubyの業務経験がないとやれないね
今はRubyの業務経験がないとやれないね
637デフォルトの名無しさん
2018/10/14(日) 11:44:49.85ID:Hp95Ly7n Railsエンジニアは飽和してるからね
ただでさえ縮小する一方のパイをゴミみたいな単価で競り合ってる状態なのに、今更未経験なんか要るわけがない
ただでさえ縮小する一方のパイをゴミみたいな単価で競り合ってる状態なのに、今更未経験なんか要るわけがない
638デフォルトの名無しさん
2018/10/14(日) 12:41:21.34ID:k43jnLar 激遅のRailsなんか使いたくねえだろ
639デフォルトの名無しさん
2018/10/14(日) 12:59:15.12ID:YEgqdoYh 素朴な疑問なんだが、RubyアンチスレあるんだからRubyを貶したいならそっち行って書けばよくね?
640デフォルトの名無しさん
2018/10/14(日) 13:02:35.76ID:mBxOrkWE 俺はRubyアンチではないが、敵がいないところで
独り相撲したって意味がないだろう?
独り相撲したって意味がないだろう?
641デフォルトの名無しさん
2018/10/14(日) 13:18:24.01ID:UDdXgWuE >>640
ここは二人相撲するスレでもないんだが?
ここは二人相撲するスレでもないんだが?
642デフォルトの名無しさん
2018/10/14(日) 13:19:38.83ID:mBxOrkWE する場所かどうかは関係ない。
できる場所かどうかだよ。
敵が多くいれば荒らすことができる。
できる場所かどうかだよ。
敵が多くいれば荒らすことができる。
643デフォルトの名無しさん
2018/10/14(日) 14:28:39.09ID:G4e8iFcg 意外と寿命短かった
いままでありがとう
いままでありがとう
644デフォルトの名無しさん
2018/10/14(日) 15:10:29.81ID:Q3eQCyRU そうか
息をひきとったか
息をひきとったか
645630
2018/10/14(日) 15:40:24.01ID:hWarSIQ5 Rails を例に出したけど、一般的に、Ruby 全体でも同じ
同名のメソッド名を避けるために、
モジュールを定義する際、モジュール内にネストして、
モジュール・クラスを定義しているのかな?
と思って
同名のメソッド名を避けるために、
モジュールを定義する際、モジュール内にネストして、
モジュール・クラスを定義しているのかな?
と思って
646デフォルトの名無しさん
2018/10/14(日) 15:46:39.37ID:ZU3TvZbM 気にしない
RailsじゃないRubyなんてちょっとした書捨てスクリプトだけなんだから名前空間なんか尚更全く全然どうでもいいわ
RailsじゃないRubyなんてちょっとした書捨てスクリプトだけなんだから名前空間なんか尚更全く全然どうでもいいわ
647デフォルトの名無しさん
2018/10/14(日) 22:38:08.68ID:jW+kXdVn 数値の正負判定をするのに良い感じのメソッドありますか?
if文書くしかないんでしょうか
if文書くしかないんでしょうか
648デフォルトの名無しさん
2018/10/14(日) 22:58:57.80ID:aCAcUkNR649デフォルトの名無しさん
2018/10/14(日) 23:19:28.46ID:mBxOrkWE 英語ならわかりやすいって間違った考えなくならないかな
数値は数式のほうがわかりやすいんだよ。
英語がわかりにくいからこそ
数式が生まれたんだし
n > 0
短くてすぐに意味がわかる
数値は数式のほうがわかりやすいんだよ。
英語がわかりにくいからこそ
数式が生まれたんだし
n > 0
短くてすぐに意味がわかる
650デフォルトの名無しさん
2018/10/14(日) 23:26:54.71ID:b0OtuMGQ Rubyは本来的には文系文化だよ
教祖様が数学苦手だからな
教祖様が数学苦手だからな
651デフォルトの名無しさん
2018/10/14(日) 23:59:46.75ID:ZecQhRxe 数式が書きたければ書けば。
メソッドは述語的に書きたいときに使う。
メソッドは述語的に書きたいときに使う。
652デフォルトの名無しさん
2018/10/15(月) 00:32:33.12ID:9UZy+Ppr 「述語的に書きたい」は目的ではない
653デフォルトの名無しさん
2018/10/15(月) 03:54:40.36ID:LuEA1KFj >>648
ありがとうございます
ありがとうございます
654デフォルトの名無しさん
2018/10/15(月) 04:35:24.02ID:/DZZgAIK >>650
言えてる
言えてる
655デフォルトの名無しさん
2018/10/15(月) 05:44:32.10ID:5+V16LLD >>649
メソッドにしておくと select(&::positive?) と書けるという理由だった気がする
メソッドにしておくと select(&::positive?) と書けるという理由だった気がする
656デフォルトの名無しさん
2018/10/15(月) 08:57:53.64ID:mYocugNd >>652
おまえの「目的」なんか知らん。
おまえの「目的」なんか知らん。
657デフォルトの名無しさん
2018/10/15(月) 09:25:55.90ID:/ogVl406658デフォルトの名無しさん
2018/10/15(月) 10:09:06.69ID:r7U1tD/N 擬似コードがそのまま動くのはPythonじゃね
関数型言語なら演算子がそのまま第一級関数であることとカリー化を使って data |> select (> 0) みたいに書けたりするね
ガチ関数型でなくてもまともなラムダがある言語なら select(x => x > 0) と遥かに見通し良く書ける
Rubyの &:: は極めて驚きが大きく醜悪な機能の一つだね
関数型言語なら演算子がそのまま第一級関数であることとカリー化を使って data |> select (> 0) みたいに書けたりするね
ガチ関数型でなくてもまともなラムダがある言語なら select(x => x > 0) と遥かに見通し良く書ける
Rubyの &:: は極めて驚きが大きく醜悪な機能の一つだね
659デフォルトの名無しさん
2018/10/15(月) 10:16:14.63ID:r7U1tD/N660デフォルトの名無しさん
2018/10/15(月) 10:38:16.24ID:/DZZgAIK661デフォルトの名無しさん
2018/10/15(月) 12:35:25.67ID:9UZy+Ppr Rubyってなんで、イコールを表すものが
== と === と eql? と equal? と4つもあるのでしょうか?
== と === と eql? と equal? と4つもあるのでしょうか?
662デフォルトの名無しさん
2018/10/15(月) 13:25:43.22ID:mYocugNd663デフォルトの名無しさん
2018/10/15(月) 14:07:03.65ID:HsA8pSfO 英語の文章のようにかけるから
自由度を高めるため
etc.
自由度を高めるため
etc.
664デフォルトの名無しさん
2018/10/15(月) 14:23:01.80ID:9UZy+Ppr 英語の文章のようにかける言語は
COBOLだけで十分だ
COBOLだけで十分だ
665デフォルトの名無しさん
2018/10/15(月) 15:44:47.11ID:sW3L48eg date = '2018-10-01'
day = datetime.strptime(date,'%Y-%m-%d')
'''ここは、 = date.strptime(%Y-%m-%d') でできないのは何故??'''
before_5 = day - timedelta(days=5)
print_day = datetime.strftime(before_5,'%Y-%m-%d')
'''= before_5.strftime('%Y-%m-%d')でもできる。'''
print(print_day)
strptimeとstrftime. の入力の仕方が違うのはデフォルトですか?理由などありましたらおしえてください。
day = datetime.strptime(date,'%Y-%m-%d')
'''ここは、 = date.strptime(%Y-%m-%d') でできないのは何故??'''
before_5 = day - timedelta(days=5)
print_day = datetime.strftime(before_5,'%Y-%m-%d')
'''= before_5.strftime('%Y-%m-%d')でもできる。'''
print(print_day)
strptimeとstrftime. の入力の仕方が違うのはデフォルトですか?理由などありましたらおしえてください。
666デフォルトの名無しさん
2018/10/15(月) 16:43:35.78ID:13a7w8hI LISPのeqとequalの違いと同じ意味じゃないのか
667デフォルトの名無しさん
2018/10/15(月) 17:53:48.48ID:/DZZgAIK >>661
coffeescriptだかjavascriptだかよりは少ない
coffeescriptだかjavascriptだかよりは少ない
668デフォルトの名無しさん
2018/10/15(月) 17:54:57.74ID:/DZZgAIK669デフォルトの名無しさん
2018/10/15(月) 18:03:45.24ID:9UZy+Ppr >>667
JavaScriptは==と===の2つしかありませんよ
JavaScriptは==と===の2つしかありませんよ
670デフォルトの名無しさん
2018/10/15(月) 18:16:03.67ID:/DZZgAIK is とか equals とかあるやん?
671デフォルトの名無しさん
2018/10/15(月) 18:26:07.44ID:9UZy+Ppr672デフォルトの名無しさん
2018/10/15(月) 18:52:25.09ID:5+V16LLD673デフォルトの名無しさん
2018/10/15(月) 20:34:16.34ID:WdqnEZK6 >>668
いや、Perlは糞じゃない。
書きにくいところがあるのはたしかだが、断じて糞ではない。
互換性の高さを評価に含めると、今でもバカにできないはず。
とはいえ、一個人が糞だと言うのであれば、それもいいだろう。感想はひとそれぞれだからな。
しかし、それによってヘイトを買い、カウンターされるリスクは当然呑ませる。
ヤツの発言をオレは忘れんぞ。
いや、Perlは糞じゃない。
書きにくいところがあるのはたしかだが、断じて糞ではない。
互換性の高さを評価に含めると、今でもバカにできないはず。
とはいえ、一個人が糞だと言うのであれば、それもいいだろう。感想はひとそれぞれだからな。
しかし、それによってヘイトを買い、カウンターされるリスクは当然呑ませる。
ヤツの発言をオレは忘れんぞ。
674デフォルトの名無しさん
2018/10/15(月) 20:35:27.67ID:9UZy+Ppr Perl5とPerl6で互換性ぶった切られたじゃん
675デフォルトの名無しさん
2018/10/15(月) 20:49:50.94ID:Alus4P4F Perl6をPerlと呼んで良いのかどうかという問題が
676デフォルトの名無しさん
2018/10/15(月) 21:17:21.08ID:E6pr56BO 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
677デフォルトの名無しさん
2018/10/15(月) 23:40:18.31ID:MQ4HUUe2 rubyってあのおっさんが一人で作ったの?
678デフォルトの名無しさん
2018/10/16(火) 00:37:42.37ID:0EEpB7o8 >>674
まったく別の言語だからね。しかたないね。
Perl5は今でもアップデートされてる。
ただ、互換させようともしてたはず。
Perl5スクリプトをPerl6エンジンが直接解釈できるようにして。
まったく別の言語だからね。しかたないね。
Perl5は今でもアップデートされてる。
ただ、互換させようともしてたはず。
Perl5スクリプトをPerl6エンジンが直接解釈できるようにして。
679デフォルトの名無しさん
2018/10/16(火) 03:48:20.65ID:t3pQN/xM >>677
中田氏
中田氏
680デフォルトの名無しさん
2018/10/16(火) 05:06:21.14ID:TeNN2wBh681デフォルトの名無しさん
2018/10/16(火) 07:10:04.43ID:T8EfhA2v >>678
JAVA とJavaScriptくらい違うよね。
JAVA とJavaScriptくらい違うよね。
682デフォルトの名無しさん
2018/10/17(水) 18:51:33.45ID:RzUo3BE1 Windows10 で、MSYS2 を入れていないので、WebSocket gem がコンパイルできません。
どこかに、バイナリがありませんか?
Rails の日付時刻や、数字をカンマで3桁区切りにする関数などを使いたいので、
Rails のUtility 関数だけ、インストールできませんか?
WebSocket が無いので、Rails をインストールできないのです
どこかに、バイナリがありませんか?
Rails の日付時刻や、数字をカンマで3桁区切りにする関数などを使いたいので、
Rails のUtility 関数だけ、インストールできませんか?
WebSocket が無いので、Rails をインストールできないのです
683デフォルトの名無しさん
2018/10/17(水) 19:39:09.27ID:VvskueM8 >>682
そんな不便なWindows 10なんか、さっさと捨てなさいな。
そんな不便なWindows 10なんか、さっさと捨てなさいな。
684デフォルトの名無しさん
2018/10/17(水) 19:48:41.81ID:w3k0Guet >>682
ActiveSupport だけ入れればよろし
ActiveSupport だけ入れればよろし
685682
2018/10/17(水) 20:09:00.30ID:RzUo3BE1 ありがとう
Windows10 で、WSL は入れているけど、コンパイル環境は数GB もあるだろ。
漏れのノートPC は、100GB ほどのSSD で、Windows だけで半分使っているから
コンパイル済み、バイナリだけ欲しい
Windows10 で、WSL は入れているけど、コンパイル環境は数GB もあるだろ。
漏れのノートPC は、100GB ほどのSSD で、Windows だけで半分使っているから
コンパイル済み、バイナリだけ欲しい
686デフォルトの名無しさん
2018/10/17(水) 20:13:17.85ID:pcmrmHBT ドキュメント軽視とWindows蔑視はRubyコミュニティの伝統。
コードが仕様だ!Windowsなんて使ってる奴が悪い!
コードが仕様だ!Windowsなんて使ってる奴が悪い!
687デフォルトの名無しさん
2018/10/17(水) 20:17:44.70ID:z+Rs6gUv Unixで開発してるとGCCツールチェインは自然に入ってるからね
はっきり言うね、Windows使いに人権はありません
はっきり言うね、Windows使いに人権はありません
688デフォルトの名無しさん
2018/10/17(水) 20:20:03.34ID:t+3zMNmx Windows 10「WSLでその常識を全部覆してみせたで?」
689デフォルトの名無しさん
2018/10/17(水) 20:27:21.59ID:z+Rs6gUv まあWSLはUNIXそのものだからね
Macより互換性高いくらいだ
いっそ「WinならWSL使え」でWin版は完全に切り捨てたほうが、
初心者が勘違いしてWin版入れてしまって得るものの皆無な地獄を見る悲劇が起きなくて幸せだと思うわ
Macより互換性高いくらいだ
いっそ「WinならWSL使え」でWin版は完全に切り捨てたほうが、
初心者が勘違いしてWin版入れてしまって得るものの皆無な地獄を見る悲劇が起きなくて幸せだと思うわ
690デフォルトの名無しさん
2018/10/17(水) 20:33:29.32ID:t+3zMNmx UNIXじゃなくてLinuxな
NTカーネル上でLinuxカーネルを全く使うことなく
Linuxカーネルそのものをエミュレートしてしまった
NTカーネル上でLinuxカーネルを全く使うことなく
Linuxカーネルそのものをエミュレートしてしまった
691デフォルトの名無しさん
2018/10/17(水) 20:37:40.43ID:oYiy5BA3 >>682
VirtualBoxにCentOS7を入れてやるのが現実的だと思う
VirtualBoxにCentOS7を入れてやるのが現実的だと思う
692682
2018/10/17(水) 21:21:48.42ID:RzUo3BE1 Windows10 で、MSYS2 無しのRuby Installer を入れた
漏れのノートPC は、2コア・i3 の安物だから、VirtualBox を使えない。
SSD の残りも、数十GB しかないし
Windowsのirb は日本語でバグるから、WSL で、grep, irb を使っている
WindowsのExplorer では、BOM 無しUTF-8 は、日本語で検索できないから、WSLからgrepを使う。
BOM 有りUTF-8なら、Explorerでも検索できるけど、Linux系のアプリでバグるから使えない
漏れのノートPC は、2コア・i3 の安物だから、VirtualBox を使えない。
SSD の残りも、数十GB しかないし
Windowsのirb は日本語でバグるから、WSL で、grep, irb を使っている
WindowsのExplorer では、BOM 無しUTF-8 は、日本語で検索できないから、WSLからgrepを使う。
BOM 有りUTF-8なら、Explorerでも検索できるけど、Linux系のアプリでバグるから使えない
693デフォルトの名無しさん
2018/10/18(木) 09:10:04.95ID:GeIels2p i3なら余裕じゃんCeleronでも動くのに
694デフォルトの名無しさん
2018/10/18(木) 09:15:13.10ID:deASJKw+ もっと言えばSSDの残りが何バイトとかも関係ないしな
695デフォルトの名無しさん
2018/10/19(金) 12:59:34.33ID:jQ8EJjtV WSLのためだけにWin10にするひとって・・・
696デフォルトの名無しさん
2018/10/19(金) 13:00:05.07ID:jQ8EJjtV >>691
だよな
だよな
697デフォルトの名無しさん
2018/10/19(金) 13:29:05.63ID:fdWiEMtL vmware playerの方が良くね?(非営利の個人なら無料)
698デフォルトの名無しさん
2018/10/19(金) 14:03:39.94ID:7EbyWZ6s Qemuが軽い
699デフォルトの名無しさん
2018/10/19(金) 14:43:37.15ID:Gv4RzDVV >>697
VirtualBoxは営利でもサポート不要なら無料って見解が出てたのと
VMwareはWindowsゲストのパフォーマンスには力入れてるけど
Linuxゲストはあんまり充実してないイメージ(偏見)
VirtualBoxは営利でもサポート不要なら無料って見解が出てたのと
VMwareはWindowsゲストのパフォーマンスには力入れてるけど
Linuxゲストはあんまり充実してないイメージ(偏見)
700デフォルトの名無しさん
2018/10/19(金) 16:20:25.47ID:zBWz8HK+ Perlは正規表現で貢献した
ただ、そのおかげで将来正規表現だけでプログラム書けそうな気がしてくる
ただ、そのおかげで将来正規表現だけでプログラム書けそうな気がしてくる
701デフォルトの名無しさん
2018/10/19(金) 16:37:24.25ID:peD230zx チューリング完全じゃないよね?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★4 [BFU★]
- 小野田氏、”中国経済への依存“に警戒感 高市首相の国会答弁巡り [煮卵★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で [ぐれ★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【サッカー】独占入手 最年長JリーガーにW不倫疑惑 『お風呂覗きたいんですが笑』LINE流出も… 慰謝料トラブルを本人に直撃 [冬月記者★]
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
- 【高市経済】日経平均マイナス1600円!、金利1.76%!ドル円155円!世界恐慌へ [219241683]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 【悲報】麻生太郎、石破憎しで高市を擁立し晩節を汚す [884040186]
- とうすこ🏡愛され絵文字♡🤥👊😅👊👶♡
- 【高市速報】日本「中国さんお願い首脳会談させて!ねえってば!😭」 [931948549]
