[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 08/13 18:23 / Filesize : 307 KB / Number-of Response : 1052
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Ruby 初心者スレッド Part 66



1 名前:デフォルトの名無しさん [2020/01/04(土) 01:15:34.30 ID:X7t3Qsuc0.net]
プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ

質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。
Ruby on Rails については、WEBプログラミング板で

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

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

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

逆引きRuby
www.namaraii.com/rubytips/

Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

767 名前:デフォルトの名無しさん [2020/08/21(金) 15:22:52.16 ID:2LaXNW9iF.net]
スキンのひとか

768 名前:デフォルトの名無しさん [2020/08/21(金) 15:35:51.23 ID:dYZcDjdTH.net]
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

VM + ASM を書いた (C#, DX) * x86 ではない!
simulationライブラリで純粋な関数式プログラミングをする
UIライブラリ (C#, 2D) を作ったよ
連続と離散を統一した!
4Dエンジン
matrixのライブラリ
ある強力なFor関数
SQLライブラリ

VM + ASM のダウンロード
ttp://up.x0000.net/files/TSimulang.zip

769 名前:デフォルトの名無しさん mailto:sage [2020/08/22(土) 00:05:39.01 ID:cH1OO8njr.net]
「実世界では、能力はかなり高いと評価されている」っていう言い回しが最高に知性を感じないんですけど
いや煽りとかじゃなくマジで

770 名前:デフォルトの名無しさん mailto:sage [2020/08/22(土) 00:13:16.02 ID:rn2pygew0.net]
異世界では無双している

771 名前:デフォルトの名無しさん mailto:sage [2020/08/22(土) 02:33:00.24 ID:orN/hav20.net]
>>737
非常に上層のごく一部の人しか入れないんだぞ!

772 名前:デフォルトの名無しさん [2020/08/22(土) 08:20:46.05 ID:lfF/bqLu0.net]
非情に上層のごく一部の人しか入れないんだぞ!

773 名前:デフォルトの名無しさん (ワッチョイ 7f52-Qb6H) mailto:sage [2020/08/22(土) 08:46:37 ID:j5SL9Fsb0.net]
>>737
あんまりちゃんと人と会話したりまともな本とかは読んだことがなくて、丁寧にかつちょっとカッコつけて話そうとしたらラノベとかで覚えた変な言い回ししか出てこなかった、と予想してみる

774 名前:デフォルトの名無しさん [2020/08/22(土) 15:31:25.70 ID:rjSk5doP0.net]
まあ、能力の高いっていうそこのお方は、Youtubeで流行ってる学歴ジャンケンでもして能力を示した方がいいんじゃん?
学歴だけが能力を示すものじゃないにしても、能力がどうの言い張るだけよりずっとマシだし、おおよその実力が周りの人も推定できるだろうからいいぜ!

775 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 22:10:17.03 ID:vLz2GEqc0.net]
Rubyは、node.jsに比べて、ファイル出力のメソッド名が短いので楽。
fp=File.open("filename","w");
fp.print( "nanigshi=#{変数名}\n" );
みたいに書ける。node.jsだと、
fd = fs.openSync("filename", "w");
fs.writeSync(fd, `nanigshi=${変数名}\n` );
となり、キーワードが長い。逆引用符`が打ち込みにくいという
欠点も有る。



776 名前:デフォルトの名無しさん (オッペケ Sr51-eS8N) mailto:sage [2020/09/01(火) 22:45:30 ID:Bhx0z62Fr.net]
US配列なら楽だぞ

777 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 22:58:40.10 ID:JyDU62SB0.net]
>>743
「Sync」をあえて表現してるんやろ。
ポリシーの問題。

778 名前:デフォルトの名無しさん mailto:sage [2020/09/01(火) 23:33:04.32 ID:knLE24Nq0.net]
ブロックと;省略で
File.open("filename","w") { |file| puts "nanigshi=#{変数名}" )
みたいに書くのがRubyっぽくない?

779 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 02:02:43.13 ID:0/6Ab1gT0.net]
クローズしちゃうだろ

780 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 15:16:44.13 ID:Wngy4TOD0.net]
>>745
でも、コンピュータ黎明期の非常に古くから open, write は、同期的だったの
だから、互換性を考えれば、逆さまにしたのは問題。

781 名前:デフォルトの名無しさん mailto:sage [2020/09/0 ]
[ここ壊れてます]

782 名前:2(水) 15:21:09.21 ID:Wngy4TOD0.net mailto: open, writeといえば、Unix/Linux/Windows/Macでも動作がほぼ同じな
非常に大事なもので、特にUnix/Linuxでは、「全てがファイル」という設計
思想であり、その根幹を成すのが、これらの関数で、あらゆる概念の基礎と
なっているので、その動作を変更するのはあらゆる場所に悪影響を及ぼす。
Unix系では、OSの動作の90%以上が、open, writeに依存した設計に
なっているといってもかごんでは無いくらい、基礎中の基礎。
その動作を変更することは、自然法則を変更するくらい驚天動地の試み。
重力が引力ではなく斥力になってしまうくらいで、太陽も惑星も存在し得ない
位の結果となる。
[]
[ここ壊れてます]

783 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 15:57:35.42 ID:iCfAZPhu0.net]
>>748
Cとの互換性がー、とか非同期重視のアグレッシブなNode.jsに言うの?w

784 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 16:53:35.95 ID:X9xcF9vI0.net]
>>749
でもネットワークはファイルじゃないんですよ
全てがファイルという設計と言っても
その程度のものなんです。

785 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 17:55:27.42 ID:Wngy4TOD0.net]
>>750
Cとの互換性というより、UnixやWindowsなどのあらゆるOSの基礎の部分との
互換性。
それくらい、open, writeは、OSの基礎に根ざしていて、勝手に働きを変えるべき
じゃない。
働きを変えたいなら、変えた方の関数の名前を少し変えるべき。
それで十分なのに、名前と働きをさかさまにしてはいけなかった。



786 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 18:19:28.61 ID:0/6Ab1gT0.net]
rubyInstallerでruby 2.7入れたんだがirbのレスポンスがめちゃくちゃ遅くて
かなりゆっくりキーボード入力しても入力を取りこぼすんだけど
速くする方法ありませんか?

787 名前:デフォルトの名無しさん mailto:sage [2020/09/02(水) 21:47:08.53 ID:iCfAZPhu0.net]
>>752
いちいちAsyncをつけろというのか?
Node.jsのポリシーにあわんやろ。
郷に入っては郷に従え。

オレも知らんけど。w

788 名前:デフォルトの名無しさん [2020/09/03(木) 10:05:34.13 ID:DK3Ul6vKF.net]
Sync.js

789 名前:デフォルトの名無しさん [2020/09/04(金) 00:42:11.02 ID:Wl7qFIBb0.net]
Node.js は非同期が基本。
Windows では、50ms 以上掛かるものは、非同期にするのが基本

>>753
irb とか、そんな面倒なものは使わない

VSCode の拡張機能・Code Runner(Run Code)で、
ファイル全体、または、コード片を選択して実行できる

790 名前:デフォルトの名無しさん (ワッチョイ bf8c-9HBf) mailto:sage [2020/09/04(金) 03:38:08 ID:Akgzavid0.net]
VSCodeでCode Runnerね。オーケーオーケー

791 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 05:36:12.08 ID:ovAJuzA/0.net]
穴ほって埋めるやつか

792 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 10:18:21.30 ID:icCvRHhg0.net]
平安京エイリアンか。

793 名前:デフォルトの名無しさん [2020/09/05(土) 22:17:01.41 ID:dAk5cbFF0.net]
エンジニアチャンネル粟島、9/4

プログラミングでYouTube動画の編集作業を自動化する
https://www.youtube.com/watch?v=2nDkNHeCKs4

プログラミングで、自動的に無音部分をカットして、動画をつなげる。
Python で作ってる

皆、何時間も掛かって編集しているから、
誰か、Ruby で作って、公開しろ

粟島に、スーパー・プログラマーの称号を独り占めさせるのは、癪にさわる

794 名前:デフォルトの名無しさん [2020/09/06(日) 14:32:01.97 ID:pKWvrGW4F.net]
ffmpeg 呼んでるだけだから ruby で同じことすればいいだけ
そもそも youtube の web 上の作業を自動化するのかと思ったらそうでもないし
誤解を招く

795 名前:759 mailto:sage [2020/09/07(月) 11:58:27.72 ID:IF51aHwX0.net]
粟島に、敵対心むき出しの、凡才プログラマーKBOY に教えてやったら?

エンジニアチャンネル粟島

【検証】現役プログラマーは30万円の案件を何時間で出来るのか?
https://www.youtube.com/watch?v=rt_X6n9oWa4

YouTube API で、指定条件に当てはまる、動画を集める(filtering)のを、Ruby で、1時間で作った。
つまり、時給30万円!

これも最終的に、30人が応募して、数千円になったらしいがw



796 名前:デフォルトの名無しさん (エムゾネ FF7f-j7FC) [2020/09/07(月) 12:03:06 ID:K0kNn/CsF.net]
闇サイトのバイトか

797 名前:デフォルトの名無しさん mailto:sage [2020/09/22(火) 15:57:03.29 ID:uSjSk1xMZ]
副業、大手も制度着々…コロナ禍、働き手は空き時間活用
https://www.itmedia.co.jp/business/articles/2009/07/news111.html
富士通「年収3500万円」の衝撃 ソニー、NECも戦々恐々の「グローバル採用競争」
https://www.itmedia.co.jp/business/articles/2008/21/news031.html
東大の起業ラッシュは本物か、大学発ベンチャー数日本一の実力
https://business.nikkei.com/atcl/NBD/19/special/00448/
AI研究の第一人者、東大・松尾研でも起業ラッシュ
https://business.nikkei.com/atcl/gen/19/00158/051900002/?i_cid=nbpnb_arc
失敗は認める、多数決はダメ。拡大する「社会起業家集団」の作り方
https://newswitch.jp/p/23033
新卒“即”起業せよ。社会起業家への最短距離に挑む若者たち
https://newswitch.jp/p/23020
人々の共感を得られないと潰される時代。
https://news.yahoo.co.jp/articles/37aef71415e8181ce8451e27feb3983bf1f6f9cd
ゼロから起業するよりも事業承継(小さな会社の買収)が圧倒的に有利である3つの理由
https://honsuki.jp/pickup/17323.html
「エース人材だって起業OK」、NECは挑戦者が集う場をつくる
https://business.nikkei.com/atcl/gen/19/00106/012900003/
NECなど「出向起業」 大企業人材、起業しやすく
https://www.nikkei.com/article/DGXMZO61733720Q0A720C2TJ1000/

798 名前:デフォルトの名無しさん [2020/09/23(水) 01:34:43.74 ID:vUEpR4nB0.net]
エンジニアチャンネル・小川

【悪用厳禁】Amazonの価格を監視するシステムを作ってみた
https://www.youtube.com/watch?v=Gr6FJUOfMHc

Amazon のAPI を使って、価格を監視して、LINE へ通知する

799 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 08:01:27.35 ID:ZnjqOblj0.net]
このサイトIRB代わりに使ってたんですがバージョン2.1.5とめっちゃ古いです
ライブコーディング?機能のついた同種のサイトってないですか
fatiherikli.github.io/fil/#eyJwYXRoIjoiSVJCLnJiIiwic291cmNlIjoicCBSVUJZX1ZFUlNJT04ifQ==

800 名前:デフォルトの名無しさん [2020/10/01(木) 08:39:12.41 ID:theiHz1p0.net]
JSON ファイルの中身が、下のようなユニコード・コードポイントの表示が多くて、読めない

{{\u30ab\u30ec\u30f3\u30c0\u30fc 10\u6708}}

ファイルを丸ごと読めるように、変換する方法を教えて!

801 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 08:49:16.5 ]
[ここ壊れてます]

802 名前:1 ID:theiHz1p0.net mailto: >>766
paiza.jp は比較的、新しいバージョンだったと思う

puts RUBY_VERSION
と入力してみ
[]
[ここ壊れてます]

803 名前:デフォルトの名無しさん mailto:sage [2020/10/01(木) 21:03:03.13 ID:BMjHKKQ5r.net]
>>766
そもそものopalのサイト使えば?
https://opalrb.com/try/

>>767
標準出力に出力すれば?

804 名前:765 [2020/10/01(木) 22:25:46.66 ID:theiHz1p0.net]
JSON ファイルをcat しても、変換されませんでした!

普通の英数字と、\u6708 みたいな文字が混じっているファイルです

805 名前:デフォルトの名無しさん [2020/10/02(金) 09:07:20.78 ID:ugOoTtJuM.net]
matlabでのfiltfilt()のように、ゼロ位相デジタルフィルター処理ができる関数はなんでしょうか



806 名前:デフォルトの名無しさん [2020/10/02(金) 11:29:50.32 ID:36KHjBX6M.net]
すみませんでした

807 名前:765 [2020/10/03(土) 07:39:23.69 ID:/wA+nWqo0.net]
c@at input.json | pe@rl -@Xpne 's/\\u([0-9a-fA-F]{4})/c@hr(h@ex($1))/eg'
(投稿できないので、@を入れました)
で、日本語で表示されました!

これを、Ruby では、どう書きますか?
正規表現で、\u6708 みたいな文字を、どう変換するの?

808 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 09:17:06.76 ID:DiO6Np8S0.net]
Rubyだと、正規表現にマッチした部分を引数にして関数に渡してくれる
メソッドが有る筈だから、それを使えば出来るはず。

809 名前:デフォルトの名無しさん [2020/10/03(土) 09:27:06.27 ID:F7oAx4CC0.net]
-Ks -Ke -Ku があるから -Kw もあるはずだろう(驚き最小)

810 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 09:32:00.87 ID:DiO6Np8S0.net]
>>773
以下のようにすれば、\uXXXX の部分を unicode コードとして文字に直した後のテキストが
標準出力に出力されるのではないかと思われる。
なお、試して無いので実際に動くかどうかは分からない。
$1.to_i(16)は、$1 に入っている文字列を 16進数とみなして整数値に直しているつもり。
x.chr は、数値 x を文字コードとして対応する文字に直しているつもり。
gsub は、正規表現に合致した部分を後続のブロックの中の $1 に入れて、結果に
置換しているつもり。

[test.rb]

strJson = JSONを読み込んだ文字列;

print( strJson.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr } );

811 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 09:45:21.01 ID:MOu6VxbMr.net]
そういうことならJSON.load使えば?

require 'json'
JSON.load(fname)

愚直にやるならArray#packを使いましょう。

str.gsub(/\\u(\h{4})/){[$1].pack('H*').unpack('n*').pack('U*')}

812 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 10:47:42.33 ID:DiO6Np8S0.net]
>>776
間違いがあった。正しくは、
print( strJson.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr("UTF-8") } );

813 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 10:58:07.83 ID:DiO6Np8S0.net]
"UTF-8"ではなくて、"UTF16-BE"か、"UTF16-LE"かも知れない。
試して上手く行くのを選んで欲しい。

814 名前:765 mailto:sage [2020/10/03(土) 11:41:59.34 ID:/wA+nWqo0.net]
>>777
>>778
でも、正常に動きました。ありがとう。
JSON.load で、自動的に読めるようになるのが便利

require 'json'

json = File.read( "input.json" )
p JSON.load( json )

p json.gsub(/\\u(\h{4})/){[$1].pack('H*').unpack('n*').pack('U*')}

print( json.gsub( /\\u([0-9a-fA-F]{4})/ ) { $1.to_i(16).chr("UTF-8") } );

815 名前:デフォルトの名無しさん mailto:sage [2020/10/03(土) 12:38:03.63 ID:1IyBCfpu0.net]
👨‍👩‍👧‍👦1コードポイント1文字とは限らないし¥uの後は4桁とは限らないよね👨



816 名前:765 mailto:sage [2020/10/03(土) 13:09:59.31 ID:/wA+nWqo0.net]
それなら、単純な正規表現では、ダメ。
実際に存在する、コードポイントを調べないといけない

ひょっとしたら、JSON.load は、それに対応しているかも

817 名前:デフォルトの名無しさん mailto:sage [2020/10/04(日) 15:56:43.31 ID:P8Zgc9xR0.net]
>>782
全ての文字を utf16 に変換してから、utf8に再変換すればいい気がする。


818 名前:一段階の変換で、ついでに \uXXXX の部分を 単純に 16BIT 整数に直せばいいはず。 []
[ここ壊れてます]

819 名前:765 [2020/10/05(月) 01:16:19.79 ID:z7kgQPv30.net]
\u は、4・8桁の2種類あるのか?

820 名前:765 mailto:sage [2020/10/05(月) 08:08:05.24 ID:z7kgQPv30.net]
👨‍👩‍👧‍👦 は、4つの文字が連結したような感じ

\uD83D\uDC68\u200D
\uD83D\uDC69\u200D
\uD83D\uDC67\u200D
\uD83D\uDC66

\U0001F468\U0000200D
\U0001F469\U0000200D
\U0001F467\U0000200D
\U0001F466

\u{1F468}\u{200D}
\u{1F469}\u{200D}
\u{1F467}\u{200D}
\u{1F466}

821 名前:デフォルトの名無しさん [2020/10/05(月) 10:14:21.95 ID:H6rSrLtq0.net]
もう ruby 関係無いだろ
良い加減消えろ

推奨スレ
mevius.5ch.net/test/read.cgi/tech/1545032904/
mevius.5ch.net/test/read.cgi/tech/1593777227/

822 名前:デフォルトの名無しさん [2020/10/11(日) 00:59:43.22 ID:B+MSoWxK0.net]
( line, ary ), line_num
この( ) をなくすと、エラーになる

TEXT = <<'EOT'
a
b
EOT

line_numbers = TEXT.each_line.with_object( [ ] ).with_index( 1 ) do | ( line, ary ), line_num | # 各行・蓄積変数・行番号
ary.push( line_num )
puts "#{ line_num } : #{ line }"
end

p line_numbers

出力
1 : a
2 : b
[1, 2]

823 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 18:44:20.92 ID:vt3DXswMr.net]
>>787
仕様通りです

824 名前:デフォルトの名無しさん [2020/10/13(火) 15:52:15.31 ID:Iy+8ZYjV0.net]
初心者です
Windows10でrubyのバージョンは2.4です
gets.chompで日本語の文字列を入力しprintで出力したら文字化けするのですがどうしたら治りますか?

825 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 16:24:17.23 ID:y5Oy6HcC0.net]
漏れは、WSL, Ubuntu 18.04 を使っているけど、
Ruby Installer のMSYS 2 かい?

日本語入力が難しい

ファイルか、端末の文字コードの設定だろう。
BOM 無しUTF-8(UTF-8N)

ユーザー環境変数に、RUBYOPT を作って、--encoding=UTF-8 を設定するとか。
ただし、irb が、コマンドプロンプトでは使えなくなるので、
PowerShell しか使えなくなる

VSCode の拡張機能、Code Runner で、
選択したコード片、またはファイル全体を実行できる

これで、irbは使わなくてもよいけど、デバッグで、pry が使えなくなるかも。
pry は、irbを使っているのかも?



826 名前:788 mailto:sage [2020/10/13(火) 16:34:59.69 ID:y5Oy6HcC0.net]
2020-10-06
RubyInstaller 2.7.2-1, 2.6.6-2 and 2.5.8-2 released

Windows では最新版を避けて、2.6.6-2 を使えば?

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

Linux側には、日本人が作った、バージョンマネージャーのanyenv で、rbenv, nodenv を使って、
ruby 2.6.6, node 12.16.2 を入れた

yarn は、Windows側に入れて、WSL から、拡張子なしのyarn コマンドを呼べる。
これは、#!/bin/sh で始まるシェルスクリプト

anyenv は多言語向きで、rbenv, nodenv, pyenv, phpenv などを同じ使い方で、統一的に扱える

827 名前:788 mailto:sage [2020/10/13(火) 16:44:54.23 ID:y5Oy6HcC0.net]
Windows 版Ruby の日本語入力では、

コマンドプロンプトよりも、
PowerShell を使う方が良いのかも?

日本語出力は問題ない。
もし、フォントがかすれて表示されたら、バグっているけど

828 名前:788 mailto:sage [2020/10/13(火) 16:56:07.22 ID:y5Oy6HcC0.net]
>>790
修正

>ユーザー環境変数に、RUBYOPT を作って、--encoding=UTF-8 を設定するとか。
>ただし、irb が、コマンドプロンプトでは使えなくなるので、
>PowerShell しか使えなくなる

RUBYOPT に、--encoding=UTF-8 を設定すると、
コマンドプロンプト・PowerShell の両方で、irbが起動しなくなる

C:/Ruby25-x64/lib/ruby/site_ruby/rbreadline.rb:6135:in `delete': invalid byte sequence in UTF-8

コマンドプロンプト・PowerShell の文字コードの設定で、使えるようになるのかな?
漏れは、VSCode, Code Runner を使っているから、irbを使ってい

829 名前:ネい []
[ここ壊れてます]

830 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 17:01:18.58 ID:v339nyYs0.net]
>>789
ridk use で切り替えられるから最新版を試すと良い
このへんの問題も改善されてたはず

831 名前:788 mailto:sage [2020/10/13(火) 17:05:42.76 ID:y5Oy6HcC0.net]
RUBYOPT に、--encoding=UTF-8 を設定すると、

コマンドプロンプト・PowerShell の文字コードの設定で、
chcp 65001
と入力したが、どちらもエラーで、irbが起動しない

でも、irbを使わなければ、
RUBYOPT に設定するのは、便利なんだけど

832 名前:788 mailto:sage [2020/10/13(火) 17:09:23.25 ID:y5Oy6HcC0.net]
>>794
ほう

833 名前:デフォルトの名無しさん [2020/10/13(火) 17:24:55.62 ID:Iy+8ZYjV0.net]
みんなありがとうございます
環境変数って編集したら再起動しないといけないとかありますか?

834 名前:788 mailto:sage [2020/10/13(火) 17:43:39.31 ID:y5Oy6HcC0.net]
OS の再起動は、いらないと思う。
Ruby の再起動だけで良いと思う

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

835 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 19:42:36.62 ID:MMOmBqSMr.net]
pryがirb使ってるわけないじゃん。(「irb使う」ってのもよくわからんが)
readlineのライブラリがマルチバイト未対応なだけだから
日本語扱うならnoreadlineで起動すればいいよ。



836 名前:788 mailto:sage [2020/10/14(水) 05:06:57.79 ID:z5Uy/Vd30.net]
pry, rails console を起動すると、irb が起動されるのかな? と思っていた。
画面が似てるでしょ?

例えば、Windows 10, WSL, Ubuntu 18.04 を起動すると、
コマンドプロンプトと同じ画面が起動される

そういうのと同じなのかな? と思って

837 名前:デフォルトの名無しさん [2020/10/14(水) 08:31:15.20 ID:kgj1R+5V0.net]
RUBYPORT変えてやってみたけどだめでした.
コマンドプロンプトとPowerShellは両方文字化けします.
bash on Windowsだと問題なく動きます. 学校で配布された教材がコマンドプロンプトしか使っておらず, 与えられたサンプルプログラムはバージョン2.4以下じゃないと動かないらしいです. 留年しそう.

838 名前:788 mailto:sage [2020/10/14(水) 09:58:02.17 ID:z5Uy/Vd30.net]
>RUBYPORT
RUBYOPT だよ。
ユーザー環境変数に、RUBYOPT に、--encoding=UTF-8 を設定する

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

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

たぶん、ファイルの設定だろう。
sjis・CP932 じゃなく、BOM 無しUTF-8(UTF-8N)

それで、PowerShell から「ruby a.rb」などで実行できるはず。

または、VSCode のCode Runner でも出来る。
ただし、Code-runnerの設定ファイルで、File Directory As Cwd をチェックしておく

839 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 10:01:17.73 ID:rQGDkRcC0.net]
学校での話なら、友達か先生かに聞けよ。

840 名前:788 mailto:sage [2020/10/14(水) 10:07:17.92 ID:z5Uy/Vd30.net]
ただし、RUBYOPT に、--encoding=UTF-8 を設定した場合、
chcp はデフォルトの、CP932 のままにしておく!
65001 にしない

コマンドプロンプト・PowerShell で、chcp と入力してみ

841 名前:788 mailto:sage [2020/10/14(水) 10:21:16.97 ID:z5Uy/Vd30.net]
>>804
修正

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

RUBYOPT に、--encoding=UTF-8 を設定した場合、
CP932/65001 のどちらでも、文字化けしない。正常に動く

842 名前:デフォルトの名無しさん [2020/10/14(水) 11:42:15.98 ID:kgj1R+5V0.net]
>>805
ごめん!RUBYOPT変えた!
ファイルの設定ってプログラム書いてるテキストファイルの設定ってことですか?どうやって変えるのでしょうか? 一応Rubyopt変えただけだと文字化けしちゃってchcp 65001って実行してプログラム起動させたらコマンドプロンプトは落ちちゃった. PowerShellはもう日本語全部文字化けしちゃった

843 名前:788 mailto:sage [2020/10/14(水) 12:29:05.96 ID:z5Uy/Vd30.net]
たぶん、エディタの文字コードの設定メニューあたりから、
BOM 無しUTF-8(UTF-8N)に設定する

一番よいのは、VSCode で、Code Runner を使う

844 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 19:15:13.60 ID:Y0U/d7P+r.net]
>>801
noreadlineで起動すればいいって言ってんじゃん

845 名前:788 mailto:sage [2020/10/15(木) 06:56:58.31 ID:7eWumHpU0.net]
RUBYOPT に、--encoding=UTF-8 を設定すると、

irb --noreadline
で起動しても、エラーになる



846 名前:788 mailto:sage [2020/10/15(木) 07:13:17.57 ID:7eWumHpU0.net]
RUBYOPT に、--encoding=UTF-8 を設定すると、

irb --noreadline

irb -E UTF-8
irb -E Shift_JIS
で起動しても、エラーになる

847 名前:788 mailto:sage [2020/10/15(木) 07:32:54.02 ID:7eWumHpU0.net]
Windows では、RUBYOPT の、--encoding=UTF-8 と、irb は両立しない

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

その代わり、pry, rails console が使えなくなるかも?
よく分からないけど

848 名前:デフォルトの名無しさん mailto:sage [2020/10/15(木) 14:56:39.44 ID:FYvAP3o60.net]
powershellじゃなくてレガシーコンソールのコマンドプロンプトを使わないとダメだったはず

849 名前:788 mailto:sage [2020/10/15(木) 15:46:22.07 ID:7eWumHpU0.net]
>>810
は、PowerShell・コマンドプロンプト

850 名前:フどちらでも、エラーになる []
[ここ壊れてます]

851 名前:デフォルトの名無しさん mailto:sage [2020/10/17(土) 14:09:06.36 ID:cX3MrjsP0.net]
4,000行ほどのRubyプログラムをnode.jsに乗り換えようと思ってましたが
やっぱりRubyの方が便利な気がしてきました。
JSはローカル変数がちゃんと作れることやapplyが使えること、ifブロックやコメントの書き方などが
好きだったんですが元々ブラウザ用だったせいかファイル関連が非同期推奨ですし
stdoutとfileの違いもちゃんと意識しないといけなくなっているようです。
ファイル関連のライブラリも非同期のみの対応の場合も多いようで、Rubyに比べると
使い勝手に問題が有りそうです。
スクリプト言語の目的は簡単にプログラムしたいことですが、node.jsよりRubyの方が
ファイル関連は簡単なようです。

852 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 01:39:25.66 ID:xeOKOt4d0.net]
Rubyはちゃんとしたブロック変数が作りにくいことが欠点だと思っていたのですが
逆にnode.jsの場合、グローバル変数とローカル(ブロック)変数の違いが
最初の定義時にlet(またはvar)を書くかどうかだけで区別されており、
それはそれで危険な場面もあるように気付きました。
Rubyの場合は、先頭が$で始まる変数はグローバルになり、大文字で始まる変数は
グローバル定数になりますので、有る意味では安全ですし、命名規則としても
全てのプログラマで共通になりソースの分かり易さに貢献している可能性があります。
node.jsの場合、let文を書き忘れただけでグローバル変数になるのは原因不明の
バグが入り込む可能性を増やしている可能性があります。
また、Rubyは、system関数が便利です。
実際に使用してみた感想としてRubyは全体的に安定している印象を持ちましたが、
node.jsは、インストール時の一番大事な環境変数ですら自動設定されておらず、
プログラマー以外の人にプログラムを配布することは絶望的です。

853 名前:デフォルトの名無しさん [2020/10/18(日) 18:18:43.72 ID:WlQf1Fni0.net]
>最初の定義時に、let(またはvar)を書くかどうかだけで区別されており
VSCode ESLint とかで、チェックできるのでは?

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

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

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

Rubyには最初から、C と同様、関数スコープがあった。
ES2015 で、JS にも出来たのかな?

854 名前:814 mailto:sage [2020/10/18(日) 18:30:15.98 ID:WlQf1Fni0.net]
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる

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

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

KENTA は、10言語以上知っていて、
登録者数5万人、月千円のサロンが、2千人もいるから、
十分にヒアリングしてるし、どの言語が挫折確率が高いか、よく分かっている

855 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 18:36:30.11 ID:xWXtsYNK0.net]
KENTA「Rubyに拘泥する奴は伸びない。さっさと他の言語に進め」



856 名前:デフォルトの名無しさん mailto:sage [2020/10/18(日) 19:10:33.77 ID:Ie2s5K3J0.net]
>>816
Cは、関数スコープというより、ブロックスコープ。
Rubyとは違う。

857 名前:デフォルトの名無しさん [2020/10/18(日) 20:35:28.25 ID:2aU6LfzH0.net]
KENTA「C++を始めるべき」

858 名前:デフォルトの名無しさん mailto:sage [2020/10/23(金) 17:32:28.92 ID:iE1/WHvK0.net]
VSCodeなどにHTMLのLivePreview機能がありますが、
erbのLivePreview対応

859 名前:アプリケーションってありますか? []
[ここ壊れてます]

860 名前:デフォルトの名無しさん [2020/10/24(土) 08:32:09.72 ID:PENdR3tu0.net]
VSCode の拡張機能のLive Server では、Web Extension で、
PHP で作る動的ページも表示してるけど、ERB のやり方は分からない

https://chrome.google.com/webstore/detail/live-server-web-extension/fiegdmejfepffgpnejdinekhfieaogmj?hl=pt-BR

Rails 6 なら、webpack-dev-server が標準

861 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 14:35:22.81 ID:rBYTjNf90.net]
>>822
ありがとうございます
webpack-dev-server 調べてみます

862 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:01:22.94 ID:ehonUome0.net]
number = "0.072953"
float_number = number.to_f
bigdecimal_number = number.to_d

(1000 / float_number)
# => 13707.455485038312
(1000 / bigdecimal_number)
# => 0.13707455485038e5

1000.div(float_number)
# => 13707
1000.div(bigdecimal_number)
# => 13707

1000.fdiv(float_number)
# => 13707.455485038312
1000.fdiv(bigdecimal_number)
# => 2.22360747e-314

なぜ 1000.fdiv(bigdecimal_number) のときは 13707 台ではなく 2.2 e-314 になるの?
fdivの引数にdecimalは期待されていない?

863 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:05:37.26 ID:xQuuF55sr.net]
どっちも変わらん
p 100.fdiv(float_number) # => 1370.745548503831
p 100.fdiv(biddecimal_number) # => 1370.745548504

864 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:19:23.51 ID:6XNLJEFJ0.net]
biddecimalwwwww

865 名前:デフォルトの名無しさん mailto:sage [2020/10/24(土) 21:23:11.77 ID:ehonUome0.net]
ありがとう
使ってるrubyのバージョンが低すぎるみたいだ



866 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 09:56:38.85 ID:/elpRfls0.net]
rubyはバージョン上げると前動いたコードが動かないからな。
そこらへんの互換性はjs>>php>>>python>>>rubyみたいな感じ。
行き当たりバッタリで以前の仕様気にせず変える。

867 名前:デフォルトの名無しさん mailto:sage [2020/10/25(日) 10:48:16.22 ID:M7kzCKlu0.net]
>>828
phpは知らんけど
js >> ruby >>> python やろ

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

pythonも言語自体は後方互換性高いが
バージョンごとにdeprecated/removedになるAPIはrubyよりずっと多い
それもあってメジャーなライブラリの新バージョン対応は遅くて
半年くらい待たないと言語の新しいバージョンを使えないし
言語の新バージョン + ライブラリの旧バージョンの組み合わせだと
動かなくなる率が高くてライブラリのAPI変更にも対応しないといけない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<307KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef