[過去ログ] Ruby 初心者スレッド Part 66 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
799
(1): (ワッチョイ 2b08-TJC9) 2020/10/14(水)08:31 ID:kgj1R+5V0(1/2) AAS
RUBYPORT変えてやってみたけどだめでした.
コマンドプロンプトとPowerShellは両方文字化けします.
bash on Windowsだと問題なく動きます. 学校で配布された教材がコマンドプロンプトしか使っておらず, 与えられたサンプルプログラムはバージョン2.4以下じゃないと動かないらしいです. 留年しそう.
800: 788 (ワッチョイ 5b2c-F9zC) 2020/10/14(水)09:58 ID:z5Uy/Vd30(2/5) AAS
>RUBYPORT
RUBYOPT だよ。
ユーザー環境変数に、RUBYOPT に、--encoding=UTF-8 を設定する

PowerShell で、以下を入力して、正しく設定されたか、確認してみ
ls env:

irb さえ使わなければ、文字化けしないはず!

たぶん、ファイルの設定だろう。
省4
801: (ワッチョイ 4b33-bACO) 2020/10/14(水)10:01 ID:rQGDkRcC0(1) AAS
学校での話なら、友達か先生かに聞けよ。
802
(1): 788 (ワッチョイ 5b2c-F9zC) 2020/10/14(水)10:07 ID:z5Uy/Vd30(3/5) AAS
ただし、RUBYOPT に、--encoding=UTF-8 を設定した場合、
chcp はデフォルトの、CP932 のままにしておく!
65001 にしない

コマンドプロンプト・PowerShell で、chcp と入力してみ
803
(1): 788 (ワッチョイ 5b2c-n+7I) 2020/10/14(水)10:21 ID:z5Uy/Vd30(4/5) AAS
>>802
修正

>chcp はデフォルトの、CP932 のままにしておく!
>65001 にしない

RUBYOPT に、--encoding=UTF-8 を設定した場合、
CP932/65001 のどちらでも、文字化けしない。正常に動く
804: (ワッチョイ 2b08-TJC9) 2020/10/14(水)11:42 ID:kgj1R+5V0(2/2) AAS
>>803
ごめん!RUBYOPT変えた!
ファイルの設定ってプログラム書いてるテキストファイルの設定ってことですか?どうやって変えるのでしょうか? 一応Rubyopt変えただけだと文字化けしちゃってchcp 65001って実行してプログラム起動させたらコマンドプロンプトは落ちちゃった. PowerShellはもう日本語全部文字化けしちゃった
805: 788 (ワッチョイ 5b2c-F9zC) 2020/10/14(水)12:29 ID:z5Uy/Vd30(5/5) AAS
たぶん、エディタの文字コードの設定メニューあたりから、
BOM 無しUTF-8(UTF-8N)に設定する

一番よいのは、VSCode で、Code Runner を使う
806: (オッペケ Sr0f-7/+M) 2020/10/14(水)19:15 ID:Y0U/d7P+r(1) AAS
>>799
noreadlineで起動すればいいって言ってんじゃん
807: 788 (ワッチョイ 5b2c-F9zC) 2020/10/15(木)06:56 ID:7eWumHpU0(1/4) AAS
RUBYOPT に、--encoding=UTF-8 を設定すると、

irb --noreadline
で起動しても、エラーになる
808
(1): 788 (ワッチョイ 5b2c-F9zC) 2020/10/15(木)07:13 ID:7eWumHpU0(2/4) AAS
RUBYOPT に、--encoding=UTF-8 を設定すると、

irb --noreadline

irb -E UTF-8
irb -E Shift_JIS
で起動しても、エラーになる
809: 788 (ワッチョイ 5b2c-F9zC) 2020/10/15(木)07:32 ID:7eWumHpU0(3/4) AAS
Windows では、RUBYOPT の、--encoding=UTF-8 と、irb は両立しない

irb を捨てて、VSCode のCode Runner を使う方がよい。
これで、選択したコード片、またはファイル全体を実行できる

その代わり、pry, rails console が使えなくなるかも?
よく分からないけど
810: (ワッチョイ bb5f-nsiV) 2020/10/15(木)14:56 ID:FYvAP3o60(1) AAS
powershellじゃなくてレガシーコンソールのコマンドプロンプトを使わないとダメだったはず
811: 788 (ワッチョイ 5b2c-F9zC) 2020/10/15(木)15:46 ID:7eWumHpU0(4/4) AAS
>>808
は、PowerShell・コマンドプロンプトのどちらでも、エラーになる
812: (ワッチョイ 7b61-8ZN/) 2020/10/17(土)14:09 ID:cX3MrjsP0(1) AAS
4,000行ほどのRubyプログラムをnode.jsに乗り換えようと思ってましたが
やっぱりRubyの方が便利な気がしてきました。
JSはローカル変数がちゃんと作れることやapplyが使えること、ifブロックやコメントの書き方などが
好きだったんですが元々ブラウザ用だったせいかファイル関連が非同期推奨ですし
stdoutとfileの違いもちゃんと意識しないといけなくなっているようです。
ファイル関連のライブラリも非同期のみの対応の場合も多いようで、Rubyに比べると
使い勝手に問題が有りそうです。
省2
813: (ワッチョイ 7b61-8ZN/) 2020/10/18(日)01:39 ID:xeOKOt4d0(1) AAS
Rubyはちゃんとしたブロック変数が作りにくいことが欠点だと思っていたのですが
逆にnode.jsの場合、グローバル変数とローカル(ブロック)変数の違いが
最初の定義時にlet(またはvar)を書くかどうかだけで区別されており、
それはそれで危険な場面もあるように気付きました。
Rubyの場合は、先頭が$で始まる変数はグローバルになり、大文字で始まる変数は
グローバル定数になりますので、有る意味では安全ですし、命名規則としても
全てのプログラマで共通になりソースの分かり易さに貢献している可能性があります。
省6
814
(1): (ワッチョイ 5b2c-UsEC) 2020/10/18(日)18:18 ID:WlQf1Fni0(1/2) AAS
>最初の定義時に、let(またはvar)を書くかどうかだけで区別されており
VSCode ESLint とかで、チェックできるのでは?

Windows でも、50ms 以上掛かる、IO は非同期を推奨してるから、書きにくい

でも、Ruby on Rails 6 では、デフォルトで、Node.js, Webpack を使う

ただし、GUI はHTML, CSS/SASS, Bootstrap, JavaScript(JS)だけど、
サーバー側言語には、Rubyを使う

Rubyには最初から、C と同様、関数スコープがあった。
省1
815: 814 (ワッチョイ 5b2c-UsEC) 2020/10/18(日)18:30 ID:WlQf1Fni0(2/2) AAS
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる

この2つ以外は、出てこない。
JavaScript, Python から始めろって絶対に言わない!

Python から始めてはいけないって言ってる。
「AIや機械学習に興味があるのでPythonから勉強」は誤りです。【YAGNIの法則】

KENTA は、10言語以上知っていて、
省2
816: (ワッチョイ db4e-T8Cx) 2020/10/18(日)18:36 ID:xWXtsYNK0(1) AAS
KENTA「Rubyに拘泥する奴は伸びない。さっさと他の言語に進め」
817: (ワッチョイ fb33-bACO) 2020/10/18(日)19:10 ID:Ie2s5K3J0(1) AAS
>>814
Cは、関数スコープというより、ブロックスコープ。
Rubyとは違う。
818: (ワッチョイ 6b01-ntOo) 2020/10/18(日)20:35 ID:2aU6LfzH0(1) AAS
KENTA「C++を始めるべき」
819: (ワッチョイ 2922-9Kcm) 2020/10/23(金)17:32 ID:iE1/WHvK0(1) AAS
VSCodeなどにHTMLのLivePreview機能がありますが、
erbのLivePreview対応アプリケーションってありますか?
820
(1): (ワッチョイ 052c-9Kcm) 2020/10/24(土)08:32 ID:PENdR3tu0(1) AAS
VSCode の拡張機能のLive Server では、Web Extension で、
PHP で作る動的ページも表示してるけど、ERB のやり方は分からない

外部リンク:chrome.google.com

Rails 6 なら、webpack-dev-server が標準
821: (ワッチョイ 89e6-9Kcm) 2020/10/24(土)14:35 ID:rBYTjNf90(1) AAS
>>820
ありがとうございます
webpack-dev-server 調べてみます
822: (ワッチョイ 2101-JqA3) 2020/10/24(土)21:01 ID:ehonUome0(1/2) AAS
number = "0.072953"
float_number = number.to_f
bigdecimal_number = number.to_d

(1000 / float_number)
# => 13707.455485038312
(1000 / bigdecimal_number)
# => 0.13707455485038e5
省10
823: (オッペケ Sr11-y5oF) 2020/10/24(土)21:05 ID:xQuuF55sr(1) AAS
どっちも変わらん
p 100.fdiv(float_number) # => 1370.745548503831
p 100.fdiv(biddecimal_number) # => 1370.745548504
824: (ワッチョイ 654e-0r4w) 2020/10/24(土)21:19 ID:6XNLJEFJ0(1) AAS
biddecimalwwwww
825: (ワッチョイ 2101-JqA3) 2020/10/24(土)21:23 ID:ehonUome0(2/2) AAS
ありがとう
使ってるrubyのバージョンが低すぎるみたいだ
826
(1): (ワッチョイ 654e-0r4w) 2020/10/25(日)09:56 ID:/elpRfls0(1/2) AAS
rubyはバージョン上げると前動いたコードが動かないからな。
そこらへんの互換性はjs>>php>>>python>>>rubyみたいな感じ。
行き当たりバッタリで以前の仕様気にせず変える。
827
(1): (ワッチョイ c201-45kF) 2020/10/25(日)10:48 ID:M7kzCKlu0(1/4) AAS
>>826
phpは知らんけど
js >> ruby >>> python やろ

railsと違ってruby自体は後方互換性かなり高いぞ
CLI系なら10年以上前のものでもだいたい問題なく使える

pythonも言語自体は後方互換性高いが
バージョンごとにdeprecated/removedになるAPIはrubyよりずっと多い
省4
828
(1): (ワッチョイ 654e-0r4w) 2020/10/25(日)11:02 ID:/elpRfls0(2/2) AAS
確かにpythonは2系と3系は隔絶してるけどマイナーバージョンアップでブッ壊れるのはrubyだろ
829
(1): (ワッチョイ c201-45kF) 2020/10/25(日)11:36 ID:M7kzCKlu0(2/4) AAS
>>828
例えば?
830: (ワイーワ2 FFca-YvdE) 2020/10/25(日)12:12 ID:usbfp6+yF(1) AAS
C最強ですね判ります
831: (オッペケ Sr11-y5oF) 2020/10/25(日)13:00 ID:vQGWPLvqr(1) AAS
マイナーバージョンアップで後方互換性がぶっ壊れた例
俺も気になるんで教えて
832: (ワッチョイ c201-45kF) 2020/10/25(日)13:25 ID:M7kzCKlu0(3/4) AAS
>>827
よく考えるとjsもクライアントサイドだけじゃなく
サーバーサイドで考えると動かなくなることあるな

rubyやpythonに比べて新陳代謝が激しくて
10年使い続けたりしないから気にならないだけかも
833
(1): (オイコラミネオ MM69-kvjF) 2020/10/25(日)17:55 ID:y6I5Oh6cM(1/2) AAS
>>829
リリースノートでも読め。
標準モジュールの変更とか。
834: (ワッチョイ de7d-ELaA) 2020/10/25(日)18:04 ID:MTjKoQS00(1) AAS
JIS規格化されてる
835
(1): (ワッチョイ c201-45kF) 2020/10/25(日)18:42 ID:M7kzCKlu0(4/4) AAS
>>833
エアプでしたか
pythonと違ってrubyでは「標準モジュール」という言い方はしないよ
836
(1): (オイコラミネオ MM69-kvjF) 2020/10/25(日)19:16 ID:y6I5Oh6cM(2/2) AAS
>>835
んな言葉の違いはどうでも。w
ま、違いにあたらなければどうということはないから、すきにしろ。

実際にあたった人や、心配性にはツラい言語。
3以降は、絶対にないレベルにしてほしいものだ。
できればPerlレベルに。
837: (ワイーワ2 FFca-YvdE) 2020/10/26(月)15:04 ID:EltRWJ/HF(1) AAS
Ruby が C++ を Hate してるのはホント良く判る
838
(1): (ブーイモ MM0d-Gto1) 2020/10/26(月)16:25 ID:NTmfRHBrM(1) AAS
>>836
Perlもエアプかいw
駱駝道で極楽浄土に行けるといいネ
839: (オイコラミネオ MM69-kvjF) 2020/10/26(月)17:52 ID:yxMoBvg5M(1) AAS
>>838
今やPerl6は存在しないことを知らないの?w
840: (ワッチョイ c12c-G7xE) 2020/10/28(水)21:30 ID:H1Ljm7vl0(1) AAS
>>2
リファクタリング:Rubyエディション (日本語) 単行本、2020/3、
Jay Fields/Shane Harvie/Martin Fowler/Kent Beck/長尾 高弘

Martin Fowlerの名著『リファクタリング』のRuby対応全面改訂版が、ついに復刊!
Kent Beck は、eXtreme Programming(XP)の提唱者

Java 版をRubyへ書き直したもの。
2010年の復刊。8,800円!
841
(1): (ワントンキン MMd3-8ci1) 2020/10/31(土)08:20 ID:B8uNhuq7M(1) AAS
ruby初心者です。

以下のNodeクラスにEnumerable moduleをincludeできるようなeachメソッドを
定義することはできますか。

class Node
attr_accessor :data, :next
def initialize(data)
@data = data
省3
842
(1): (ワッチョイ c12c-fDVG) 2020/10/31(土)14:36 ID:zTfIs5nt0(1) AAS
「Ruby Enumerable 実装」で検索!

Rubyで簡潔にeachなどの機能を持つクラスを実装する方法
外部リンク:ja.stackoverflow.com

Ruby: EnumerableをincludeするよりEnumeratorを返そう
外部リンク:techracho.bpsinc.jp
843
(1): (スッップ Sd33-OXsB) 2020/10/31(土)15:21 ID:OmKC8x+Wd(1) AAS
>>841
外部リンク:ideone.com
844: (ワンミングク MMd3-D/jF) 2020/11/01(日)00:02 ID:X6j+EvTNM(1/2) AAS
>>842 さん
特に、>>843 さん
実装を教えていただいて、ありがとうございます。
外部リンク:ideone.comに記載されていた実装は
私では考えつくことができませんでした。
何を勉強したら書けるようになるのか、悩みます。

ちなみにですが、私の考えたeachの実装は以下のようなものです。
省9
845: (ワンミングク MMd3-D/jF) 2020/11/01(日)00:07 ID:X6j+EvTNM(2/2) AAS
>> 844
self.self.nextは、self = self.nextの誤記です。
846
(1): (ワッチョイ c12c-fDVG) 2020/11/02(月)02:18 ID:cH+o+Znx0(1/2) AAS
Mix-in とは、何かのモジュールをinclude すると、
それが継承チェーンの親の所へ入ってくるから、
そのモジュール内の関数が使えるようになる

例えば、include Enumerable とすると、
自クラスで、each を定義してあれば、Enumerable内のすべての関数が使える

Array も、Enumerableをインクルードしているから、
Array内の関数と、Enumerable内の関数が使える
省9
847: 846 (ワッチョイ c12c-fDVG) 2020/11/02(月)08:31 ID:cH+o+Znx0(2/2) AAS
「Ruby each 実装」「ruby イテレータ 実装」で検索!
内部・外部イテレータの違いも、調べてみれば?

ruby eachの実装
外部リンク:teratail.com
848: (ササクッテロル Spc5-D/jF) 2020/11/03(火)09:41 ID:XEwmRHqvp(1) AAS
>>846さん
アドバイスありがとうございました。
示していただいたキーワードを使ってネットの情報を読み漁ってました。
rubyに関する基本的な文法知識も弱いのですが、デザインパターンという
考え方?思想?もわかっていないので、文法の習得と並行して勉強が必要だと
感じました。修業します。
849
(1): 846 (ワッチョイ c12c-WmiC) 2020/11/03(火)22:57 ID:pWieQE6j0(1) AAS
Mix-in の例で、include Enumerable して、
Enumerableモジュール内の関数が使えるように、
自クラスで、each を実装しましょうとか、
こういうのを初心者向けで見たことがない

ほとんど、こういう事をやってる人は、いないと思う

なぜかというと、Array は、Enumerableをインクルードしているから、
配列に入れれば、何でもできるから
省3
850: (ワッチョイ 7933-cLMs) 2020/11/03(火)23:15 ID:eTFEu/to0(1) AAS
>>849
遅延評価
851: (アウウィフ FFcd-GqKp) 2020/11/04(水)10:08 ID:wF8lqQTTF(1) AAS
Ruby、信者は、おことわり
852: 846 (ワッチョイ ad2c-j5Tt) 2020/11/04(水)23:31 ID:oOk5Pqvr0(1) AAS
一部のメソッドで、遅延評価できる

instance method Enumerable#lazy
lazy -> Enumerator::Lazy

map/collect, flat_map/collect_concat
select/find_all
reject
grep
省4
853: (ワッチョイ d201-CJ6T) 2020/11/04(水)23:51 ID:lTVc+I7v0(1) AAS
Enumerableは高階関数とともに脱初心者の一番の目安
この2つをパパっと作って使えるようになれば初心者は卒業
854: 846 (ワッチョイ ad2c-j5Tt) 2020/11/05(木)23:53 ID:lCe7ZMVj0(1) AAS
Ruby の強みは、

Array, Hash, Enumerable, Enumerator の豊富なメソッドを、
メソッドチェーンでつなげていくプログラミング

どういうメソッドがあるのか、じっくり見ておくべき!
855: (ワッチョイ 368c-5lCJ) 2020/11/07(土)23:50 ID:DktN1QwS0(1) AAS
TIOBE Index、perlより下じゃん
856: (ワッチョイ 0d4e-3cp2) 2020/11/08(日)03:09 ID:YnyAcD/m0(1) AAS
とうとうperlより下になったかw
誕生経緯w存在意義が…w
857: (ワッチョイ debb-+U3E) 2020/11/08(日)10:17 ID:WJSuSySW0(1) AAS
助成金ひっぱりんごビジネス
858: (アメ MMfd-3cp2) 2020/11/08(日)10:46 ID:msYgn7TJM(1) AAS
エンベデッド詐欺
ストリーム詐欺
859: (ワッチョイ f6e9-Oc6r) 2020/11/08(日)13:35 ID:P6MM9gKe0(1) AAS
問題 Rubyを開発したのはだれか
答え 2ちゃんねる開発者でもあるひろゆき

根拠
外部リンク:programmercollege.jp
860: (ワントンキン MM62-JCXQ) 2020/11/08(日)16:28 ID:2D8TgavPM(1) AAS
もうすっかりマイナー言語だな
861: (ワッチョイ 8101-aWq5) 2020/11/09(月)21:51 ID:A/fRbmyh0(1) AAS
初めまして、現在の状況はRuby、Windows 10、 VSCode(エディターのみ)です。
以前Basic言語をやってましたがRubyの言語は勉強しました。
1.RubyでVSCodeの便利なデバッガーは何がいいですか。
2.RubyでVSCodeのインターネットまたは本等の使い方を勉強したい。
3.gemへのログインの方法を知りたい。
以上の3点知ってる人がいましたら教えてください、お願いします。
862: (ワッチョイ ad2c-faW7) 2020/11/10(火)00:15 ID:TotITmpP0(1) AAS
>>789
に書いた

漏れは、Windows 10, WSL1, Ubuntu 18.04 で、
VSCode の拡張機能、Remote WSL も使う

WSL2 と言う、Hyper-v を使ったものもあるけど、
安定バージョンかどうかは、知らない

VSCodeの便利な拡張機能については、VSCodeのスレで聞いてください。
省15
863: (オッペケ Sr79-Y0rt) 2020/11/10(火)07:08 ID:yOpM0tMJr(1) AAS
Rubyで本の使い方を勉強するってどういう意味?
864: (ワイーワ2 FF1a-D/bg) 2020/11/10(火)12:09 ID:08CevRpcF(1) AAS
Ruby 卒業しようぜ さっさと
865
(1): (ワッチョイ ed5f-D0pj) 2020/11/12(木)23:43 ID:9JGUhgPP0(1/3) AAS
g++です
undefined reference to `ruby_init'
と表示されます
たぶんdllに入ってると思うのですがどこにあるのでしょうか?
よろしくお願いします
866: (ワッチョイ ed5f-D0pj) 2020/11/12(木)23:44 ID:9JGUhgPP0(2/3) AAS
versionは2.7.0です
867
(1): (ワッチョイ c533-9FM4) 2020/11/12(木)23:46 ID:1kfP87l60(1) AAS
「dumpbin Windows」で検索!
868: (ワッチョイ ed5f-D0pj) 2020/11/12(木)23:48 ID:9JGUhgPP0(3/3) AAS
そもそもDLLが見つかりません
ほんとお願いします
869: (ワッチョイ ed5f-D0pj) 2020/11/13(金)00:13 ID:1m9BN6xD0(1/7) AAS
>>867
初心者には意味不明です
870: 862 (ワッチョイ dd2c-tE7G) 2020/11/13(金)00:22 ID:LLS1FCOb0(1/7) AAS
g++ は、GNU の GCC に含まれる、C++コンパイラ。
GNU で、Windows 向けのDLL を作るの?

RubyInstaller か?
MSYS2/MINGW の、RubyInstaller Development Kit(DevKit)有りか?
ridk install がどうしたこうしたとか?
よく知らないけど

外部リンク:rubyinstaller.org
省3
871: (ワッチョイ ed5f-D0pj) 2020/11/13(金)00:28 ID:1m9BN6xD0(2/7) AAS
c++にruby_initを組み込んでみたいです
コンパイルエラーがでます
さっぱりわかりません
872: (ワッチョイ ed5f-D0pj) 2020/11/13(金)00:34 ID:1m9BN6xD0(3/7) AAS
#include <ruby.h>

int main() {
// Rubyインタプリタの初期化
ruby_init();

// スクリプトの実行
rb_eval_string("print 'Hello World!'");

// Rubyインタプリタのクリーンアップ
省2
873: (ワッチョイ c533-9FM4) 2020/11/13(金)00:55 ID:4qY0TlDt0(1) AAS
「初心者」のやることじゃねえ。w
874: (ワッチョイ dd2c-tE7G) 2020/11/13(金)01:16 ID:LLS1FCOb0(2/7) AAS
正気?
初心者が、こんな事をする訳ないだろ

C/C++ を、数年以上やってからの話
875: (ワッチョイ ed5f-D0pj) 2020/11/13(金)01:17 ID:1m9BN6xD0(4/7) AAS
そう言わずにコンパイルできる方法を教えてください
876: (ワッチョイ dd2c-tE7G) 2020/11/13(金)01:52 ID:LLS1FCOb0(3/7) AAS
ffi は C や C++ ように作成された共有ライブラリを、
Ruby で扱うことができるようにするためのライブラリです

libffi を使っているので、事前にインストールが必要です。
NativeExtensions を直接扱わずに、C を操作できます

ruby ffi 入門
外部リンク[html]:hawksnowlog.blogspot.com
877: (ワッチョイ ed5f-D0pj) 2020/11/13(金)01:57 ID:1m9BN6xD0(5/7) AAS
その逆が知りたいわけで。。。
878: (ワッチョイ dd2c-tE7G) 2020/11/13(金)02:03 ID:LLS1FCOb0(4/7) AAS
C/C++ から、Ruby を呼ぶ方法か

検索すれば?
879: (ワッチョイ ed5f-D0pj) 2020/11/13(金)02:06 ID:1m9BN6xD0(6/7) AAS
検索したんですけど見つかりませんでした
1-
あと 123 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.026s