>>116
> chmodひとつできないとは。
いやできるよ
chmodはWSLのメタ情報を変更するコマンド。
NTFSのメタ情報を変えたいなら、Windowsのコマンドを
WSLから実行すればいい。
MSYS2を使ってもそれは同じでしょ?MSYS2を使った所で
chmodじゃNTFSのメタ情報を変えることはできない
探検
Ruby 初心者スレッド Part 65
レス数が1000を超えています。これ以上書き込みはできません。
120デフォルトの名無しさん (ワッチョイ d614-Fjw0)
2019/01/14(月) 06:15:31.08ID:z7CSW9d20121デフォルトの名無しさん (ワッチョイ f94e-45a3)
2019/01/14(月) 06:16:34.93ID:MmdBprG30 うまくいってるときは自己肯定されるからwindows嫌ってるコミュニティが直すわけなかった。詰んでた。
122デフォルトの名無しさん (ワッチョイ d62c-NvUN)
2019/01/14(月) 12:18:53.84ID:9Cudnq1q0 ext4, NTFS では、ファイルシステムが異なるから、ファイルのメタ情報も異なる。
これらを、同一に出来ない
数年前に出た、Samba の本は、1万ページぐらいあるような分厚さだけど、
それだけあっても、ファイル共有しても、メタ情報が異なる
仮想OS でも、そう
これらを、同一に出来ない
数年前に出た、Samba の本は、1万ページぐらいあるような分厚さだけど、
それだけあっても、ファイル共有しても、メタ情報が異なる
仮想OS でも、そう
123デフォルトの名無しさん (エムゾネ FF9a-Iup+)
2019/01/14(月) 12:38:06.45ID:aPj/koI6F >>121
ほんそれ
ほんそれ
124デフォルトの名無しさん (ワッチョイ 715f-7QjO)
2019/01/14(月) 16:20:56.29ID:JeIXD5P+0125デフォルトの名無しさん (アウアウエー Sa22-oec2)
2019/01/14(月) 17:48:15.39ID:5iofUGXQa どうでもいいな
そのために無駄な開発リソースが割かれて開発が遅くなるくらいならきっぱり切り捨てるべき
そのために無駄な開発リソースが割かれて開発が遅くなるくらいならきっぱり切り捨てるべき
126デフォルトの名無しさん (ワッチョイ 7aa5-kZrb)
2019/01/14(月) 18:41:27.26ID:3y+lvQiF0 rubyって数人で開発してるような状況だしね
127デフォルトの名無しさん (ワッチョイ e501-XL8C)
2019/01/14(月) 19:57:22.28ID:h6/SfWd00 目的 ゲームのプロトタイピング
機能 スプライト、モーフ、負荷は軽め
環境 Windows、cRuby
Ruby/SDLやDXRubyあたりが有名かと思いますが前者は関連ライブラリが多い上に最近のcRubyで動くのか判らず
後者はWindows依存になってしまう上に低レベル故にコード量が増えそうです
高レベルかつ簡単にインストールできる(解凍すれば終わりみたいな)のとか無いですかね
最終的にはWindows以外でも動かすのでDirectXべったりは好ましくないです
機能 スプライト、モーフ、負荷は軽め
環境 Windows、cRuby
Ruby/SDLやDXRubyあたりが有名かと思いますが前者は関連ライブラリが多い上に最近のcRubyで動くのか判らず
後者はWindows依存になってしまう上に低レベル故にコード量が増えそうです
高レベルかつ簡単にインストールできる(解凍すれば終わりみたいな)のとか無いですかね
最終的にはWindows以外でも動かすのでDirectXべったりは好ましくないです
128デフォルトの名無しさん (ワントンキン MM8a-4XJz)
2019/01/14(月) 20:09:53.30ID:q/lOLam5M >>127
rubyでやる仕事ではないな
rubyでやる仕事ではないな
129デフォルトの名無しさん (ワッチョイ 7aa5-kZrb)
2019/01/14(月) 20:14:34.47ID:3y+lvQiF0 >>127
もう今の時代はウェブブラウザでええやん
もう今の時代はウェブブラウザでええやん
130デフォルトの名無しさん (ブーイモ MM9a-oec2)
2019/01/14(月) 20:21:44.76ID:qRVrYClaM >>127
Unity使おう
Unity使おう
131デフォルトの名無しさん (アメ MM71-45a3)
2019/01/14(月) 20:31:46.30ID:N5gjDl48M >>128-130の要約「無い」
132デフォルトの名無しさん (ワッチョイ c52d-RNo8)
2019/01/15(火) 01:47:26.53ID:c8pcsuST0 学習中ですまんが
https://www.ruby-lang.org/ja/documentation/ruby-from-other-languages/to-ruby-from-java/
> JavaからRubyへ移行すると、コードの量を大幅に削減できます。
っていうのはどんな感じでコードを削減できるの?
カッコが減るとかそういう話?
https://www.ruby-lang.org/ja/documentation/ruby-from-other-languages/to-ruby-from-java/
> JavaからRubyへ移行すると、コードの量を大幅に削減できます。
っていうのはどんな感じでコードを削減できるの?
カッコが減るとかそういう話?
133デフォルトの名無しさん (ワッチョイ 7a7d-4XJz)
2019/01/15(火) 02:44:03.42ID:cb8Yslm40 >>132
デザパタの言語組み込み化レベルでコードが減る
100行のコードが正規表現ループで5行になりましたみたいな感じ
それの初稿が書かれたときには存在しなかったが現在ならJavaをKotlinで書くのに近い
デザパタの言語組み込み化レベルでコードが減る
100行のコードが正規表現ループで5行になりましたみたいな感じ
それの初稿が書かれたときには存在しなかったが現在ならJavaをKotlinで書くのに近い
134デフォルトの名無しさん (ワッチョイ 8133-gHoM)
2019/01/15(火) 03:36:26.93ID:sS85uSF20 Javaよりも冗長な言語は存在しないレベルなんやで?
135デフォルトの名無しさん (ワッチョイ 334b-fAiL)
2019/01/17(木) 22:18:22.04ID:IiwqVv020 bundler使ってインストールしたgemをrequireするhoge.rbファイルを実行するには
bundle exec ruby hoge.rb
するしかない?
ruby hoge.rb
で実行できるような方法ってない?
bundle exec ruby hoge.rb
するしかない?
ruby hoge.rb
で実行できるような方法ってない?
136デフォルトの名無しさん (アウアウエー Sa23-0Knw)
2019/01/17(木) 23:01:02.67ID:c3Nj69Cfa bundlerじゃなくてグローバルにインストールしたら
137デフォルトの名無しさん (ワッチョイ 334b-fAiL)
2019/01/17(木) 23:18:22.29ID:IiwqVv020 レンタル鯖想定。
138デフォルトの名無しさん (ワッチョイ 495f-Qnxu)
2019/01/18(金) 12:05:28.94ID:rnv4ZKlN0 require "bundler/setup"
139デフォルトの名無しさん (ワッチョイ 334b-fAiL)
2019/01/18(金) 15:20:28.40ID:jNBljk3t0140デフォルトの名無しさん (ワッチョイ 1314-G1wx)
2019/01/20(日) 10:06:06.17ID:U54SgNBZ0 tes
141デフォルトの名無しさん (ワッチョイ 2e2c-/4Fh)
2019/01/29(火) 22:13:23.83ID:AnpnZGSz0 2018/11/19
Matz が、LegalForce 社の技術顧問に就任
https://www.legalforce.co.jp/news/2018/1119_01.html
自然言語処理を用いた、クラウド型契約書レビュー支援サービス
DSL を使うのか?
Vagrant, Chef, Sinatra みたいなものか
Matz が、LegalForce 社の技術顧問に就任
https://www.legalforce.co.jp/news/2018/1119_01.html
自然言語処理を用いた、クラウド型契約書レビュー支援サービス
DSL を使うのか?
Vagrant, Chef, Sinatra みたいなものか
142デフォルトの名無しさん (ワッチョイ 2e14-wD8z)
2019/01/30(水) 01:15:50.19ID:CIpmDrdW0143デフォルトの名無しさん (ササクッテロラ Spf1-NB8P)
2019/01/30(水) 11:41:14.75ID:V+DSKtssp ProgateのRuby5までやったけど、なにかできるかと言われると何もできない
悲しい
悲しい
144デフォルトの名無しさん (ワッチョイ 2e2c-/4Fh)
2019/01/30(水) 21:14:12.08ID:T9WgAkKs0 改訂2版 Ruby逆引きハンドブック、2018/8/28
株式会社マネーフォワード
これを読めば、grep みたいな、パイプライン上でのフィルターも作れる。
Ruby は、Windows でも、PowerShell よりも可読性が高く、高度。
Windows のクリップボード処理もできる
WSL から実行すれば、なんと日本語のファイル名でも文字化けしない!
Windows も、WSL 側から見れば、UTF-8 になってる
オブジェクト指向で、本格的なシステムを作るのなら、以下も読む
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、間違いやすいポイントを解説
株式会社マネーフォワード
これを読めば、grep みたいな、パイプライン上でのフィルターも作れる。
Ruby は、Windows でも、PowerShell よりも可読性が高く、高度。
Windows のクリップボード処理もできる
WSL から実行すれば、なんと日本語のファイル名でも文字化けしない!
Windows も、WSL 側から見れば、UTF-8 になってる
オブジェクト指向で、本格的なシステムを作るのなら、以下も読む
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、間違いやすいポイントを解説
145デフォルトの名無しさん (アウアウカー Sa53-5aE2)
2019/01/31(木) 19:04:04.34ID:9x10OdKVa146デフォルトの名無しさん (ワッチョイ 7fa5-qf6r)
2019/02/02(土) 12:18:57.49ID:uVBSvVIy0 もう2.6.1出てたのか
147デフォルトの名無しさん (スッップ Sd9f-5aE2)
2019/02/05(火) 15:42:16.97ID:TkbL0x5ed ruby って、ちゃんとwin10の仕様に乗ったバルーンだして、バルーンクリックされたら
イベントハンドラ実行とかすら
まともにできなくね?
イベントハンドラ実行とかすら
まともにできなくね?
148デフォルトの名無しさん (アウウィフ FFa3-zGAl)
2019/02/05(火) 15:44:46.33ID:dQJUt0gZF rubyTk + balloonhelp
149デフォルトの名無しさん (アメ MM03-5/sk)
2019/02/05(火) 17:47:57.56ID:JaYy4UepM 今どきtkかよ…
150デフォルトの名無しさん (アウウィフ FFa3-zGAl)
2019/02/05(火) 18:23:25.15ID:dQJUt0gZF そう思っていた時期が私にもありました
151デフォルトの名無しさん (ワッチョイ cd8b-DOJB)
2019/02/10(日) 21:01:48.90ID:0GsJb55C0 ここだから質問する。今あえてPython3とRuby2.5を同時に勉強してるところ
同じような動きするサイトを作ってみて、tk動かしてみたら、明らかに
Rubyのtk遅いんだが、こいつを速く動かす方法ある?
ちなみに環境はWindows10の64bit
同じような動きするサイトを作ってみて、tk動かしてみたら、明らかに
Rubyのtk遅いんだが、こいつを速く動かす方法ある?
ちなみに環境はWindows10の64bit
152デフォルトの名無しさん (アメ MMcd-z8kj)
2019/02/10(日) 21:08:31.33ID:KoYwv+8zM rubyではwindows使いに人権はありません。おととい来やがれ!
153デフォルトの名無しさん (ドコグロ MM09-/S9r)
2019/02/10(日) 21:38:14.93ID:96GWWqq3M >>151
WindowsかRubyどちらかを今すぐ捨てなさい
WindowsかRubyどちらかを今すぐ捨てなさい
154デフォルトの名無しさん (ワッチョイ 927d-yPlE)
2019/02/10(日) 21:42:51.38ID:BrknxwTX0 >>152
まあ、Windows環境においては、それくらいは自力で対処できる人、あるいは「Pythonで満足に動いてるならそっちでいいじゃん」と言えるような人が求められてはいるな
まあ、Windows環境においては、それくらいは自力で対処できる人、あるいは「Pythonで満足に動いてるならそっちでいいじゃん」と言えるような人が求められてはいるな
155デフォルトの名無しさん (ドコグロ MM09-/S9r)
2019/02/10(日) 21:48:13.21ID:96GWWqq3M ちなみに海外だとWindowsのPython製商用GUIアプリもあったりするけど、
RubyでWindowsの実用GUIアプリを作ってる奴なんて い な い から、GUIライブラリなんてロクに最適化されてなくて当然だ
RubyでWindowsの実用GUIアプリを作ってる奴なんて い な い から、GUIライブラリなんてロクに最適化されてなくて当然だ
156デフォルトの名無しさん (ワンミングク MM52-yPlE)
2019/02/10(日) 21:48:48.12ID:vBBtSO1rM 「同じような結果を出すように作られているが同じような構造にはなっていない」に3000点
157デフォルトの名無しさん (ワッチョイ 6e2c-V6Wy)
2019/02/10(日) 21:59:53.92ID:QHXP4+rK0 GUI は、HTML, CSS, JavaScript で作る
そうすれば、ほとんどの操作を、ブラウザが提供してくれる!
そうすれば、ほとんどの操作を、ブラウザが提供してくれる!
158デフォルトの名無しさん (アメ MMcd-z8kj)
2019/02/10(日) 22:13:32.88ID:KoYwv+8zM えっ、rubyキチガイこと読点君どうしちゃったの?くじけた?
159デフォルトの名無しさん (ワッチョイ cd8b-DOJB)
2019/02/10(日) 22:21:14.90ID:0GsJb55C0160デフォルトの名無しさん (ワッチョイ 02a5-/WZR)
2019/02/10(日) 22:35:18.64ID:8IV/oKAp0 tkの速度にそんな違いが出るとは思えないんだが
161デフォルトの名無しさん (スッップ Sd22-lwMy)
2019/02/10(日) 22:37:18.73ID:78jXEpo3d まぁ、かくして、Rubyは毎年
凄い勢いでシェア減らしてるから、
あり様に対する評価は返ってきてる。
あと8年ぐらいでPerlと同じぐらいまで、
新規でrubyで新規ゴード書く人は
激減するかと。
凄い勢いでシェア減らしてるから、
あり様に対する評価は返ってきてる。
あと8年ぐらいでPerlと同じぐらいまで、
新規でrubyで新規ゴード書く人は
激減するかと。
162デフォルトの名無しさん (ワッチョイ cd8b-DOJB)
2019/02/10(日) 22:59:03.49ID:0GsJb55C0 Railsは前よりだいぶWindowsに馴染んでるようにはなってるんだけどなあ。前なんて
gem通すところからもう初心者門前払い状態で、相当苦労したんだが、今は
あっさりスコーンと入って基本のCRUDぐらいはすぐできる。nokogiri入れるの
面倒なぐらい
さてと、今からVM通すためにルータに穴空けよ
gem通すところからもう初心者門前払い状態で、相当苦労したんだが、今は
あっさりスコーンと入って基本のCRUDぐらいはすぐできる。nokogiri入れるの
面倒なぐらい
さてと、今からVM通すためにルータに穴空けよ
163デフォルトの名無しさん (ワッチョイ 6e2c-V6Wy)
2019/02/10(日) 23:24:53.45ID:QHXP4+rK0 漏れは、MSYS2 のコンパイル環境は入れていないけど、
gem "sqlite3"
で、Ruby リポジトリから、以下の共有ライブラリをダウンロードして入れてくれる
c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.4/sqlite3_native.so
もちろん、Nokogiri も問題ない
ただし、WebSocket が問題。
これが、Windows のバイナリがない!
コンパイラが無いと、コンパイルできない
gem "sqlite3"
で、Ruby リポジトリから、以下の共有ライブラリをダウンロードして入れてくれる
c/Ruby24-x64/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.4/sqlite3_native.so
もちろん、Nokogiri も問題ない
ただし、WebSocket が問題。
これが、Windows のバイナリがない!
コンパイラが無いと、コンパイルできない
164デフォルトの名無しさん (アウアウエー Sa0a-DOJB)
2019/02/10(日) 23:55:09.46ID:HGoiPykSa そのレスどっかで見たな
165デフォルトの名無しさん (アウアウエー Sa0a-DOJB)
2019/02/10(日) 23:56:09.04ID:HGoiPykSa166デフォルトの名無しさん (ワッチョイ 7f2c-Ioh3)
2019/02/16(土) 00:28:04.64ID:GifcQbbL0 Ruby で、1-liner のフィルタ。
ファイル名を大文字で表示する
ls | ruby -lne 'print $_.upcase'
ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ruby -lne 'print $_.upcase' a.txt b.txt
ruby -lpe '$_' a.txt b.txt
sed -n, awk をエミュレートしたもの
Windows10 で、a.txt の最後に、改行コードが無いと、バグる!
a X
あ y(ここに改行コード無し)
a X
あ
y が消えてしまう!
行末処理する、-l が最後の2バイトを削除するからかな?
ファイル名を大文字で表示する
ls | ruby -lne 'print $_.upcase'
ARGF を1行ずつ読み込んで、変数$_ に格納する。
ARGF とは、複数のファイルや標準入力を連結して、1つにした仮想ファイル
ruby -lne 'print $_.upcase' a.txt b.txt
ruby -lpe '$_' a.txt b.txt
sed -n, awk をエミュレートしたもの
Windows10 で、a.txt の最後に、改行コードが無いと、バグる!
a X
あ y(ここに改行コード無し)
a X
あ
y が消えてしまう!
行末処理する、-l が最後の2バイトを削除するからかな?
167166 (ワッチョイ 7f2c-Ioh3)
2019/02/16(土) 03:37:44.66ID:GifcQbbL0 >166 の続きです
Windows10 で、ファイルの最終行の末尾に、改行コードが無いとバグるので、
Windows・Linux の双方で、それをチェックしたいけど、どうすればよい?
改行コードがあれば真、無ければ偽とする
ファイルの内容は、
a X
あ y(ここに改行コード無し)
Windows10 で、ファイルの最終行の末尾に、改行コードが無いとバグるので、
Windows・Linux の双方で、それをチェックしたいけど、どうすればよい?
改行コードがあれば真、無ければ偽とする
ファイルの内容は、
a X
あ y(ここに改行コード無し)
168デフォルトの名無しさん (ワッチョイ 275f-4ITP)
2019/02/16(土) 10:30:01.85ID:WqXdlLEj0 https://docs.ruby-lang.org/ja/latest/doc/spec=2frubycmd.html
> gets で読み込まれた各行の最後に対して String#chop!を行います。
るりまにも、こう書いてあるしバグというか仕様だな
なんでperl互換のchomp!じゃなくてchop!なのかは知らんが
-lオプション使わなければいいんじゃないの?
> gets で読み込まれた各行の最後に対して String#chop!を行います。
るりまにも、こう書いてあるしバグというか仕様だな
なんでperl互換のchomp!じゃなくてchop!なのかは知らんが
-lオプション使わなければいいんじゃないの?
169デフォルトの名無しさん (ワッチョイ 8714-yQ/S)
2019/02/16(土) 11:51:26.01ID:SPTGalft0 >>166
> Windows10 で、a.txt の最後に、改行コードが無いと、バグる!
Windowsは関係なくて、Linux/Unixの文化だよ。
行の終わりは改行がかならずあるという前提
なくても良いものがあるけど、例えばシェルスクリプトで
whileとreadを使って普通に読み込むと、最後に改行コードがないと読み取れない
> Windows10 で、a.txt の最後に、改行コードが無いと、バグる!
Windowsは関係なくて、Linux/Unixの文化だよ。
行の終わりは改行がかならずあるという前提
なくても良いものがあるけど、例えばシェルスクリプトで
whileとreadを使って普通に読み込むと、最後に改行コードがないと読み取れない
170デフォルトの名無しさん (ワンミングク MM3f-kRyl)
2019/02/16(土) 12:18:02.30ID:jIRE2QWtM 0とだけ(改行なしで)書かれたテキストファイルで嫌がらせができるお話
171デフォルトの名無しさん (エムゾネ FF7f-wP4P)
2019/02/16(土) 12:39:10.30ID:lF7O1vprF172デフォルトの名無しさん (ワンミングク MM3f-kRyl)
2019/02/16(土) 12:43:33.03ID:CW5lzYCnM lオプションの仕様だね
自動判別入れてるchompキモい派というのがいてだな云々
改行だけ消して欲しいのなら自力でchompだ
自動判別入れてるchompキモい派というのがいてだな云々
改行だけ消して欲しいのなら自力でchompだ
173デフォルトの名無しさん (エムゾネ FF7f-wP4P)
2019/02/16(土) 13:05:27.59ID:lF7O1vprF chompとchopで名前変えた理由もそれ?
174デフォルトの名無しさん (ワッチョイ 275f-kkMJ)
2019/02/16(土) 16:37:54.24ID:WqXdlLEj0 というか、修正されとるぞ
https://bugs.ruby-lang.org/issues/12926
https://bugs.ruby-lang.org/issues/12926
175166 (ワッチョイ 7f2c-Ioh3)
2019/02/16(土) 23:44:04.14ID:GifcQbbL0 ありがとう。もう修正されているのか
ただし、漏れが使っているのは、Windows10 のRuby Installer で、
ruby 2.4.4p296 (2018-03-28 revision 63013) [x64-mingw32]
このバージョンでは、まだ直っていないのかも?
ただし、漏れが使っているのは、Windows10 のRuby Installer で、
ruby 2.4.4p296 (2018-03-28 revision 63013) [x64-mingw32]
このバージョンでは、まだ直っていないのかも?
176デフォルトの名無しさん (アウアウエー Sa1f-wP4P)
2019/02/17(日) 07:35:01.66ID:Y2cvGT7Ea mingw版だから放置かな
177デフォルトの名無しさん (ワッチョイ 275f-kkMJ)
2019/02/17(日) 07:36:29.27ID:+zGmbmNL0 単純に2.5.0以降修正されたってだけ
178デフォルトの名無しさん (ワッチョイ ff7c-/Ktc)
2019/02/17(日) 11:52:25.05ID:7mUUrd8D0 windows固有の問題だから放置されてたってだけ
179デフォルトの名無しさん (ワッチョイ c701-OU7K)
2019/02/17(日) 14:08:35.55ID:N1izVyMt0 Windowsが憎い。
180デフォルトの名無しさん (ワッチョイ a784-Qpe+)
2019/02/17(日) 14:14:39.64ID:ACF+eJ9A0 不都合な動作をしたときバグなのか仕様なのか制限なのか考慮漏れなのか分からない
181デフォルトの名無しさん (ワッチョイ c701-OU7K)
2019/02/18(月) 01:18:03.82ID:yYX5e63o0 ソースが仕様。
183デフォルトの名無しさん (ワッチョイ 5f7d-akdL)
2019/02/18(月) 11:23:55.36ID:vR+zg9W+0184デフォルトの名無しさん (アメ MM6b-QWHq)
2019/02/18(月) 12:21:38.16ID:1FoQC5svM >>182
その程度のクセに他スレでruby宣伝荒らしするな!
その程度のクセに他スレでruby宣伝荒らしするな!
185デフォルトの名無しさん (ワッチョイ 7f2c-Ioh3)
2019/02/20(水) 05:44:21.57ID:B2QSVSiS0 Linux では、大文字小文字だけが異なるファイルが、同一フォルダに存在できる。
例、Ab.txt, aB.txt など
それらの有無を判定するには、どうすればよい?
有れば真、無ければ偽とする
例、Ab.txt, aB.txt など
それらの有無を判定するには、どうすればよい?
有れば真、無ければ偽とする
186デフォルトの名無しさん (ワッチョイ 5f7d-akdL)
2019/02/20(水) 05:48:10.61ID:u9a1RSm50 どうすればいいかの部分は自分で考えようよ
そこの根底から丸投げしたらそれがちょっとの違いで動かなくなったとき全然対処できないよ
どういう処理をすればいいかを考えたら「これの実装どうすればいいっすか」って質問してくだされ
そこの根底から丸投げしたらそれがちょっとの違いで動かなくなったとき全然対処できないよ
どういう処理をすればいいかを考えたら「これの実装どうすればいいっすか」って質問してくだされ
187デフォルトの名無しさん (ワントンキン MM3f-kRyl)
2019/02/20(水) 06:29:32.98ID:w5Ml/ZA8M 7f2c-Ioh3はrubyやる前に修めておくべきコンピュータの知識の授業があるような気がちょっとするな
188デフォルトの名無しさん (ワッチョイ 5f52-4Twi)
2019/02/20(水) 07:30:28.01ID:dKxFZ7rM0189デフォルトの名無しさん (ドコグロ MM1f-ngFe)
2019/02/20(水) 09:08:29.22ID:EgtCXVwuM まあ国内の平均的なRailsやってます系は実際こんなもんだよ
Railsの教科書通りのコードを継ぎ接ぎするだけで、アルゴリズムはまるで書けない
Railsの教科書通りのコードを継ぎ接ぎするだけで、アルゴリズムはまるで書けない
190デフォルトの名無しさん (ワッチョイ 275f-kkMJ)
2019/02/20(水) 14:42:30.80ID:PnFIenH+0 Setとuppercaseもしくはlowercaseで
191デフォルトの名無しさん (アウウィフ FF4b-wP4P)
2019/02/20(水) 19:39:59.58ID:v7iPz90JF192デフォルトの名無しさん (ワッチョイ 8701-YoT1)
2019/02/20(水) 22:32:30.32ID:bRSP0nNv0 大学の授業でRubyとCやらされた
193デフォルトの名無しさん (フォォーッ MMa5-2CcH)
2019/02/21(木) 15:16:18.90ID:wmjYnWL+M 丸投げの質問の仕方しかわからなく申し訳ありません。
Windows10 でruby 2.4.4p296 (2018-03-28 revision 63013)を入れてますが、
グラフ出力用に Numo::Gnuplotというgem(GnuplotへのRubyインターフェース)
を入れて、gnuplot2.6.2も入れました。グラフ出力は上手くいってます。
そして、Rubyを実行ファイルにできるocraというのもいれて、.exe化でき
ました。しかし、別のパソコンで.exeを起動すると計算結果とかは出てもグラフが出る
前に終了してしまいます。 おそらくgemのgnuplotは取り込んでいるが、本体の
gnuplotは実行ファイル作成時に取り込まれていないからだと思います。
本体のgnuplotはC:\Program Filesにあるので、これをgnuplotのフォルダごと
C:\Ruby24-x64\libにコピーして
> ocra graff48b.rb C:\Ruby24-x64\lib --no-autoload --add-all-core と実行
してみましたが、今度はexeファイルがうまく実行できません
本体のgnuplotとそれをRubyで使うためのgemをまとめてexe化できないものでしょうか?
無理な気もしますが・・
Windows10 でruby 2.4.4p296 (2018-03-28 revision 63013)を入れてますが、
グラフ出力用に Numo::Gnuplotというgem(GnuplotへのRubyインターフェース)
を入れて、gnuplot2.6.2も入れました。グラフ出力は上手くいってます。
そして、Rubyを実行ファイルにできるocraというのもいれて、.exe化でき
ました。しかし、別のパソコンで.exeを起動すると計算結果とかは出てもグラフが出る
前に終了してしまいます。 おそらくgemのgnuplotは取り込んでいるが、本体の
gnuplotは実行ファイル作成時に取り込まれていないからだと思います。
本体のgnuplotはC:\Program Filesにあるので、これをgnuplotのフォルダごと
C:\Ruby24-x64\libにコピーして
> ocra graff48b.rb C:\Ruby24-x64\lib --no-autoload --add-all-core と実行
してみましたが、今度はexeファイルがうまく実行できません
本体のgnuplotとそれをRubyで使うためのgemをまとめてexe化できないものでしょうか?
無理な気もしますが・・
194デフォルトの名無しさん (ワッチョイ 6614-rusg)
2019/02/21(木) 16:27:00.87ID:f8G92//U0195デフォルトの名無しさん (ワキゲー MM2e-8sMm)
2019/02/21(木) 16:29:45.73ID:A4uVBoycM それだけじゃ原因がわからん
まずhello worldでも作ってみろ
ocraは実行ファイルのパスに多バイト文字が含まれている場合起動に失敗するから日本人が作ったneriってgemを使うか自分で依存関係調べてぶっこむなりしよう
つぎにgithubざっと読んだ感じだとgnuplotのパスは Gnuplot.new(path: 'パス') で指定するみたいだからlibなんちゃらにコピーとか関係ない。きちんと指定しろ
最後に、gnuplotも合わせて配布するつもりならライセンスが独自のものだからきちんと読んでからやってね
以上
まずhello worldでも作ってみろ
ocraは実行ファイルのパスに多バイト文字が含まれている場合起動に失敗するから日本人が作ったneriってgemを使うか自分で依存関係調べてぶっこむなりしよう
つぎにgithubざっと読んだ感じだとgnuplotのパスは Gnuplot.new(path: 'パス') で指定するみたいだからlibなんちゃらにコピーとか関係ない。きちんと指定しろ
最後に、gnuplotも合わせて配布するつもりならライセンスが独自のものだからきちんと読んでからやってね
以上
196デフォルトの名無しさん (ワキゲー MM2e-8sMm)
2019/02/21(木) 17:07:21.07ID:OxGbt4z1M ああ、一部ちゃんと読んでなかったわ
>本体のgnuplotとそれをRubyで使うためのgemをまとめてexe化できないものでしょうか?
普通はやらないが、可能か不可能かで言えば余裕で可能
んでパソコン苦手な非英語圏の人相手に配布するならocraはやめておいた方が良いってのと
起動自体はできてるなら配布先にgnuplotを各自インストールしてパスを通してもらうか
スタンドアロンのwgnuplotとかを実行ファイルに同梱して使うかしてね
後者の場合は上のレスを参考にパスを指定しろよな
あと一応 ruby, rubyinstaller, 使ったgem, Gnuplotのライセンスは確認しとけよ
以上終了
>本体のgnuplotとそれをRubyで使うためのgemをまとめてexe化できないものでしょうか?
普通はやらないが、可能か不可能かで言えば余裕で可能
んでパソコン苦手な非英語圏の人相手に配布するならocraはやめておいた方が良いってのと
起動自体はできてるなら配布先にgnuplotを各自インストールしてパスを通してもらうか
スタンドアロンのwgnuplotとかを実行ファイルに同梱して使うかしてね
後者の場合は上のレスを参考にパスを指定しろよな
あと一応 ruby, rubyinstaller, 使ったgem, Gnuplotのライセンスは確認しとけよ
以上終了
197デフォルトの名無しさん (ワンミングク MM7a-Pez2)
2019/02/21(木) 19:33:23.57ID:MIixq5+8M ライセンスとか無視したとしても、外部のでっかい(依存関係が大きくファイル数も多い)アプリを同梱して配布というのは「運用上」わりと速攻で破綻する
「必要なアプリやライブラリが利用可能になっているかをチェックして、不足時には別途インストールを促すスクリプト」をrubyで作って最初に実行するorさせるといいぞ
そこまでここで面倒見る必要はないという線を引くんだ、たとえ内製配布アプリだとしてもね
「必要なアプリやライブラリが利用可能になっているかをチェックして、不足時には別途インストールを促すスクリプト」をrubyで作って最初に実行するorさせるといいぞ
そこまでここで面倒見る必要はないという線を引くんだ、たとえ内製配布アプリだとしてもね
198デフォルトの名無しさん (フォォーッ MMed-2CcH)
2019/02/21(木) 22:06:11.57ID:h83SWuCLM 193です。厳しくかつ熱心な助言をいただきまして、皆さまがプログラミング
に真剣に取り組んでいらっしゃるとわかりました。おかげさまで、別のPCにwgnuplot?
を入れて、パスを通したら解決いたしました。
島根在住なうえに、独学で勉強しているため難儀していました。
ジオデシックドームの計算とグラフ出力をするためにプログラムを始めまして、グラフ
出力を友達に見てもらいたいから、実行ファイルにしたわけです。 とはいえ、ライセンス
に注意しなければならないという意見、真摯に受け止めます。
>>197 そこまでここで面倒見る必要はないという線を引くんだ
そうですね。一人でしょい込む必要ありませんでした。肩の荷がおりました
に真剣に取り組んでいらっしゃるとわかりました。おかげさまで、別のPCにwgnuplot?
を入れて、パスを通したら解決いたしました。
島根在住なうえに、独学で勉強しているため難儀していました。
ジオデシックドームの計算とグラフ出力をするためにプログラムを始めまして、グラフ
出力を友達に見てもらいたいから、実行ファイルにしたわけです。 とはいえ、ライセンス
に注意しなければならないという意見、真摯に受け止めます。
>>197 そこまでここで面倒見る必要はないという線を引くんだ
そうですね。一人でしょい込む必要ありませんでした。肩の荷がおりました
199デフォルトの名無しさん (アウアウエー Sa52-bAbS)
2019/02/21(木) 23:17:11.76ID:5agtgbY/a Ruby配布とか絶対にやりたくないな
せっかくRuby使うんなら普通にRailsでWebアプリにしたらいいでしょ
グラフ出力も普通に可能だよ
せっかくRuby使うんなら普通にRailsでWebアプリにしたらいいでしょ
グラフ出力も普通に可能だよ
200デフォルトの名無しさん (フォォーッ MMed-2CcH)
2019/02/21(木) 23:41:22.83ID:h83SWuCLM え、Railsって気軽にできるもんなんですか? 使い道がわからないので、クラスやインスタンス変数など一度も
使ったことがないのですが。 松江市はRubyの本が数冊しかないので、勉強が進みません
・・・
使ったことがないのですが。 松江市はRubyの本が数冊しかないので、勉強が進みません
・・・
201デフォルトの名無しさん (ドコグロ MM15-bAbS)
2019/02/22(金) 00:43:05.60ID:AuaMVifYM 少なくともRubyをWinで配布しようとするよりはRailsの方が遥かに簡単だろうな
本も腐るほどあるし勉強会とか行けば初心者仲間もいくらでもいる
本も腐るほどあるし勉強会とか行けば初心者仲間もいくらでもいる
202デフォルトの名無しさん (ササクッテロラ Spbd-o7aX)
2019/02/22(金) 03:05:39.97ID:y9srh0J/p >>198
島根在住ってとこは釣りなの?
島根在住ってとこは釣りなの?
203デフォルトの名無しさん (ワッチョイ 662c-pE6h)
2019/02/22(金) 04:39:47.69ID:43iXBVf10 1-liner の説明を読むと、-rfileutils みたいに、-r でモジュールをrequire できるとか、
gem install で、gem をダウンロードするのも、あったような気もする
gem install・bundle installなしでgemを使ったスクリプトを実行する方法
https://qiita.com/takahashim/items/c7b5d0e30b4aeb73d8f8
この本も良い
改訂2版 Ruby逆引きハンドブック、2018/8/28
株式会社マネーフォワード
島根県は、Ruby では有名
gem install で、gem をダウンロードするのも、あったような気もする
gem install・bundle installなしでgemを使ったスクリプトを実行する方法
https://qiita.com/takahashim/items/c7b5d0e30b4aeb73d8f8
この本も良い
改訂2版 Ruby逆引きハンドブック、2018/8/28
株式会社マネーフォワード
島根県は、Ruby では有名
204デフォルトの名無しさん (ワッチョイ 662c-pE6h)
2019/02/22(金) 07:21:16.27ID:43iXBVf10 sqlite3 のgem(パッケージ)を、グローバルにインストールすると、
自分は、Ruby2.4 を使っているのに、2.0〜2.4 のすべてが入った!
なぜ?
最新版のバージョン指定をしなかったからかな?
C:\Ruby24-x64 以下に、
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.0/sqlite3_native.so
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.1/sqlite3_native.so
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.2/sqlite3_native.so
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.3/sqlite3_native.so
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.4/sqlite3_native.so
自分は、Ruby2.4 を使っているのに、2.0〜2.4 のすべてが入った!
なぜ?
最新版のバージョン指定をしなかったからかな?
C:\Ruby24-x64 以下に、
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.0/sqlite3_native.so
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.1/sqlite3_native.so
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.2/sqlite3_native.so
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.3/sqlite3_native.so
./lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13-x64-mingw32/lib/sqlite3/2.4/sqlite3_native.so
205デフォルトの名無しさん (ワキゲー MM2e-8sMm)
2019/02/22(金) 07:27:12.32ID:8CzmR2bmM >2.0〜2.4 のすべてが入った!
入ってない
終了
入ってない
終了
206デフォルトの名無しさん (フォォーッ MMa5-2CcH)
2019/02/22(金) 07:29:39.28ID:LB9B22A9M 島根在住です。 通いつけのクリニックがあるビルにまつもとさんの会社があるので、
すれ違ったことあるはず。どんな人か知らないけど。いまだに光ケーブルが通ってない田舎です。
本も入門書しかないんです。
Ruby逆引きハンドブック、チェックしてみます。
すれ違ったことあるはず。どんな人か知らないけど。いまだに光ケーブルが通ってない田舎です。
本も入門書しかないんです。
Ruby逆引きハンドブック、チェックしてみます。
207デフォルトの名無しさん (ドコグロ MM12-Vg2/)
2019/02/22(金) 10:48:26.93ID:jNyfsysYM208204 (ワッチョイ 662c-pE6h)
2019/02/22(金) 11:24:33.25ID:43iXBVf10 さすがに、MSYS2 のようなコンパイラーは、何GB も食うから、いらない。
ただし、コンパイラーが無いから、Windows 用のweb socket のバイナリが無くて、困っている
>>204
の、sqlite3/2.4/sqlite3_native.so だけを入れる方法は無いの?
2.0〜2.3 は、いらない
ただし、コンパイラーが無いから、Windows 用のweb socket のバイナリが無くて、困っている
>>204
の、sqlite3/2.4/sqlite3_native.so だけを入れる方法は無いの?
2.0〜2.3 は、いらない
209デフォルトの名無しさん (ワッチョイ a902-rusg)
2019/02/22(金) 22:52:10.31ID:hC9++n+50 >>206
Amazonや楽天ぐらいあるだろ…
Amazonや楽天ぐらいあるだろ…
210デフォルトの名無しさん (ワッチョイ eaec-bb9Q)
2019/02/25(月) 16:51:11.43ID:6aHiqgcw0 技術書ほとんど電子書籍でしか買わないかな。PDF でパソコンかタブレットで読んでる
211デフォルトの名無しさん (エムゾネ FF0a-kEY9)
2019/02/25(月) 17:10:55.80ID:cOrzmhCLF212デフォルトの名無しさん (ドコグロ MM12-bAbS)
2019/02/25(月) 18:11:00.52ID:sO03erxCM そもそもmrubyに出番があったことなど無かった
島根県の助成金貰う代わりのネタを考えないとMatzと取り巻きが露頭に迷う懸念はあるね
島根県の助成金貰う代わりのネタを考えないとMatzと取り巻きが露頭に迷う懸念はあるね
213デフォルトの名無しさん (アメ MMc9-K3Le)
2019/02/25(月) 18:24:32.74ID:mboQc3DnM214デフォルトの名無しさん (ワッチョイ 3a7d-EvR6)
2019/02/25(月) 19:47:52.74ID:PRvX3sK80 ていうかmrubyは「くみこみでもるびーつかいたい」という以上のものではないしそれ以上の役割を持たせてもいけないはずだったのだ
どこで間違えたのやら
どこで間違えたのやら
215デフォルトの名無しさん (ドコグロ MM15-bAbS)
2019/02/26(火) 14:44:39.80ID:s53snE6vM >>214
mrubyは経産省やハードウェアメーカーがスポンサーに入ってるから、やってみた、うごいた、わーい、だけじゃ済まされないよ
だから誰も使ってなくても誰にも求められてなくても誰もやりたくなくても開発は続けなきゃいけない
mrubyは経産省やハードウェアメーカーがスポンサーに入ってるから、やってみた、うごいた、わーい、だけじゃ済まされないよ
だから誰も使ってなくても誰にも求められてなくても誰もやりたくなくても開発は続けなきゃいけない
216デフォルトの名無しさん (アメ MMc9-K3Le)
2019/02/26(火) 15:13:52.55ID:W0wJxBNyM 典型的な埋没費用だね
経産省は血税をなんだと思ってるんだ
経産省は血税をなんだと思ってるんだ
217デフォルトの名無しさん (アウウィフ FF21-kEY9)
2019/02/26(火) 15:18:03.05ID:8+7ktUtNF218デフォルトの名無しさん (ワッチョイ eaec-bb9Q)
2019/02/26(火) 16:23:09.00ID:tl8UlM+n0 そもそも組込で Ruby 使いたいっていう需要が小さいよね
219デフォルトの名無しさん (ワッチョイ 9e8c-upo5)
2019/02/26(火) 20:25:10.10ID:cNXsTeTJ0 東ロボなみの失態
220デフォルトの名無しさん (ワッチョイ 1e4b-HV/b)
2019/02/27(水) 01:40:46.20ID:TAg3u7Bg0 組み込みに贅沢な文法いらんしなぁ。
数千行程度までなら、lua程度でいい。
数千行程度までなら、lua程度でいい。
221デフォルトの名無しさん (ワッチョイ f1f3-5GpB)
2019/02/27(水) 02:13:01.70ID:oZYESBBc0 rubyからCや特定CPU向けアセンブラを生成できるようにすれば用途は広がるが、
CPUを活用するにはrubyに不足している機能があるのかも
AIに出番をつくる何かを追加しよう
CPUを活用するにはrubyに不足している機能があるのかも
AIに出番をつくる何かを追加しよう
222デフォルトの名無しさん (ワッチョイ 797c-BftX)
2019/02/27(水) 13:17:12.60ID:+TCpifLa0 まだ負けと決まった訳じゃない(キリっ
223デフォルトの名無しさん (フォォーッ MMa5-4qoz)
2019/02/27(水) 22:05:06.13ID:qTA28+u/M224デフォルトの名無しさん (ワッチョイ d72d-SKB1)
2019/02/28(木) 13:12:02.91ID:MdFdHsbt0 勝ち負けどころちゃうやろ、Rails以外にもう使い途なんてあらへん状態や
225166 (ワッチョイ ff2c-Im2K)
2019/03/05(火) 11:07:33.23ID:CZi591h70 >>167
自己レス。自分で作った
# ファイルの最終行が、改行コードで終わっているかどうかを判別する
# CRLF, LF ( \r\n, \n )
last_line = nil
File.foreach( "a.txt" ){ |line| last_line = line }
p last_line.end_with?( "\n" ) # 末尾が、\n か?
自己レス。自分で作った
# ファイルの最終行が、改行コードで終わっているかどうかを判別する
# CRLF, LF ( \r\n, \n )
last_line = nil
File.foreach( "a.txt" ){ |line| last_line = line }
p last_line.end_with?( "\n" ) # 末尾が、\n か?
226デフォルトの名無しさん (ワッチョイ 7f7c-vuRV)
2019/03/05(火) 11:24:52.77ID:HwCl8Q1J0 ひろゆきもpythonに浮気か
227デフォルトの名無しさん (アメ MM3b-Z6MB)
2019/03/05(火) 11:41:00.66ID:DIrFqE8lM 漢字Talkでは失敗するなw
228デフォルトの名無しさん (ワッチョイ d77d-HTI0)
2019/03/05(火) 16:52:31.95ID:eRmNxjQF0 >>225
ファイル全部を読まなくても size-1 で seek すれば十分だよ。
ファイル全部を読まなくても size-1 で seek すれば十分だよ。
229166 (ワッチョイ ff2c-Im2K)
2019/03/05(火) 23:56:13.17ID:CZi591h70 seek できるのは、バイナリファイルだけだろ。
改行コードを判定できるかね?
最後の1バイトを取って、文字コードに変換できるのかな?
バイナリから、文字コードへの変換
改行コードを判定できるかね?
最後の1バイトを取って、文字コードに変換できるのかな?
バイナリから、文字コードへの変換
230デフォルトの名無しさん (ワッチョイ b75f-4uE9)
2019/03/06(水) 00:17:19.60ID:WeP2IlHt0 Gem.ruby_version >= Gem::Version.create("2.5")
でRuby2.5以上であることを判定しとけばいいじゃない
でRuby2.5以上であることを判定しとけばいいじゃない
231デフォルトの名無しさん (ワッチョイ d77d-HTI0)
2019/03/06(水) 01:09:00.71ID:sa1I2u5H0 >>229
ri File.seek
ri File.seek
232166 (ワッチョイ 162c-1cTK)
2019/03/07(木) 21:29:51.98ID:8RwKmlXy0 テキストファイルを、バイナリファイルとして読み込んで、
最後のバイトが、CR かLF なら、最後に改行コードが無いと考えてみたが、
sjis でお馴染みの「表」などのダメ文字のバグが多い事を考えると、
バイナリファイルでは、複数バイトの文字を判別できない
ダメ文字とは、euc-jp では、複数バイト文字の最後のバイトに、\(逆スラッシュ)が存在しないが、
sjisには存在するため、行の最後に「表」などがあると、
その最後のバイト\ で、改行がエスケープされてしまう
文字の種類が増えていくと、これと同じ問題が生じるかも知れない。
複数バイト文字の最後のバイトに、CR かLF が存在するかも知れないから、改行と区別できない
最後のバイトが、CR かLF なら、最後に改行コードが無いと考えてみたが、
sjis でお馴染みの「表」などのダメ文字のバグが多い事を考えると、
バイナリファイルでは、複数バイトの文字を判別できない
ダメ文字とは、euc-jp では、複数バイト文字の最後のバイトに、\(逆スラッシュ)が存在しないが、
sjisには存在するため、行の最後に「表」などがあると、
その最後のバイト\ で、改行がエスケープされてしまう
文字の種類が増えていくと、これと同じ問題が生じるかも知れない。
複数バイト文字の最後のバイトに、CR かLF が存在するかも知れないから、改行と区別できない
233166 (ワッチョイ 162c-1cTK)
2019/03/07(木) 21:32:17.66ID:8RwKmlXy0 >232
修正
>テキストファイルを、バイナリファイルとして読み込んで、
>最後のバイトが、CR かLF なら、最後に改行コードが無いと考えてみたが、
テキストファイルを、バイナリファイルとして読み込んで、
最後のバイトが、CR かLF なら、最後に改行コードがあると考えてみたが、
修正
>テキストファイルを、バイナリファイルとして読み込んで、
>最後のバイトが、CR かLF なら、最後に改行コードが無いと考えてみたが、
テキストファイルを、バイナリファイルとして読み込んで、
最後のバイトが、CR かLF なら、最後に改行コードがあると考えてみたが、
234185 (ワッチョイ 162c-1cTK)
2019/03/08(金) 00:25:29.01ID:N66/0TP00 >>185
# 大文字小文字だけが異なる、ファイル名を見つける
filenames = <<"EOT".lines # ファイル名の配列
aB.txt
Ab.txt
xx
cd
CD
EOT
results = { }
filenames.each do |filename|
filename.chomp! # 改行を削除
fn_down = filename.downcase # 小文字に変換
if results.has_key? fn_down
results[ fn_down ].push filename
else
results[ fn_down ] = [ filename ]
end
end
return if results.empty? # 空
# 重複しないファイル名を削除する
results.reject! { |k, v| v.length == 1 }
results.each_value { |v| puts v.join( " : " ) }
結果
aB.txt : Ab.txt
cd : CD
# 大文字小文字だけが異なる、ファイル名を見つける
filenames = <<"EOT".lines # ファイル名の配列
aB.txt
Ab.txt
xx
cd
CD
EOT
results = { }
filenames.each do |filename|
filename.chomp! # 改行を削除
fn_down = filename.downcase # 小文字に変換
if results.has_key? fn_down
results[ fn_down ].push filename
else
results[ fn_down ] = [ filename ]
end
end
return if results.empty? # 空
# 重複しないファイル名を削除する
results.reject! { |k, v| v.length == 1 }
results.each_value { |v| puts v.join( " : " ) }
結果
aB.txt : Ab.txt
cd : CD
235デフォルトの名無しさん (ワッチョイ a333-BuCU)
2019/03/08(金) 00:49:28.36ID:OXqbGHm40236デフォルトの名無しさん (ワッチョイ b252-1CkI)
2019/03/08(金) 01:06:02.77ID:Sy1GZuWW0 >>232
いつも他スレで暴れてるrubyボット君か。
毎度毎度、仕入れた知識の表層をなぞるだけで知ってるつもりになってるから、具体的な問題点が理解できてないし、考えようともしない。だからいつも的はずれなことを言っては他の人に突っ込まれる。
いつも他スレで暴れてるrubyボット君か。
毎度毎度、仕入れた知識の表層をなぞるだけで知ってるつもりになってるから、具体的な問題点が理解できてないし、考えようともしない。だからいつも的はずれなことを言っては他の人に突っ込まれる。
237166 (ワッチョイ 162c-1cTK)
2019/03/08(金) 12:09:07.38ID:N66/0TP00 sjisには悪名高い「表」などのダメ文字が存在する。
複数バイト文字の最後のバイトに、\(逆スラッシュ)が存在する。
euc-jp では存在しないけど
ダメ文字で、バグらされた人は多い
特に外人は、1文字1バイトでコーディングするから、バグる!
複数バイト文字の最後のバイトに、\(逆スラッシュ)が存在する。
euc-jp では存在しないけど
ダメ文字で、バグらされた人は多い
特に外人は、1文字1バイトでコーディングするから、バグる!
238デフォルトの名無しさん (ワッチョイ 1614-uGU8)
2019/03/08(金) 12:24:05.67ID:jbQifWXg0 今はUTF-8を使うので、sjisはもう過去の問題。
WindowsもUnicodeに完全対応している
WindowsもUnicodeに完全対応している
239デフォルトの名無しさん (ワッチョイ 162c-1cTK)
2019/03/08(金) 14:40:40.07ID:N66/0TP00 https://rubygems.org/gems/lazy_priority_queue/versions/0.1.1
Windows10 で、MSYS2 コンパイラー無しの状況で、上の順位キューを、
gem 'lazy_priority_queue', '~> 0.1.1'
で入れようとしていますが、
この、SHA 256 checksum は、gem で入れたモジュールに対して、どうやって確かめるの?
e5d4ea8d037e8743afc91019fc23f5f6858372fea73e05e8244f8964f0634337
Windows10 で、MSYS2 コンパイラー無しの状況で、上の順位キューを、
gem 'lazy_priority_queue', '~> 0.1.1'
で入れようとしていますが、
この、SHA 256 checksum は、gem で入れたモジュールに対して、どうやって確かめるの?
e5d4ea8d037e8743afc91019fc23f5f6858372fea73e05e8244f8964f0634337
240デフォルトの名無しさん (ドコグロ MM97-/Er5)
2019/03/08(金) 15:10:01.94ID:GpWg6Xx2M >>239
チェックはgemが勝手に行っているから貴方のような馬鹿がいちいち気にする必要はない
チェックはgemが勝手に行っているから貴方のような馬鹿がいちいち気にする必要はない
241239 (ワッチョイ 162c-1cTK)
2019/03/08(金) 15:26:21.92ID:N66/0TP00 ダウンロードじゃなくて、gem で入れた場合は、
checksum を確かめる必要は無かったかな?
checksum を確かめる必要は無かったかな?
242デフォルトの名無しさん (ワッチョイ a333-BuCU)
2019/03/08(金) 19:11:03.24ID:OXqbGHm40 >>237
コントロール文字に関係ないやろ。
コントロール文字に関係ないやろ。
243デフォルトの名無しさん (ワッチョイ 1f7d-tMNZ)
2019/03/09(土) 08:50:15.35ID:Qv+6Y9Yd0 >>237
File.open( "foo.txt", "w:CP932" ){|fh| fh.puts("ソ") }
File.open( "bar.txt", "w:CP932" ){|fh| fh.print("ソ") }
File.open( "car.txt", "w:UTF-8" ){|fh| fh.print("\u4E0A") }
File.open( "foo.txt", "r:CP932" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") }
File.open( "bar.txt", "r:CP932" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") }
File.open( "car.txt", "r:UTF-8" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") }
UTF-16やUTF-32等のファイルがあるなら対策すること。
File.open( "foo.txt", "w:CP932" ){|fh| fh.puts("ソ") }
File.open( "bar.txt", "w:CP932" ){|fh| fh.print("ソ") }
File.open( "car.txt", "w:UTF-8" ){|fh| fh.print("\u4E0A") }
File.open( "foo.txt", "r:CP932" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") }
File.open( "bar.txt", "r:CP932" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") }
File.open( "car.txt", "r:UTF-8" ){|fh| fh.seek(fh.size-1); puts fh.read(1).start_with?("\r","\n") }
UTF-16やUTF-32等のファイルがあるなら対策すること。
244デフォルトの名無しさん (ワッチョイ 335f-yYMx)
2019/03/09(土) 09:11:16.66ID:P/rUKkBa0 バカは古いバージョン使ってるからバグる
245166 (ワッチョイ 162c-1cTK)
2019/03/09(土) 11:14:06.24ID:GVs3bbIF0 >>243
テキストファイルとして読み込んだファイルに、
seek のようなバイナリ(1バイトずつの)処理を使うと、
複数バイトの文字が存在するから、バグらない?
複数バイトの文字があると、文字数とバイト数が異なるから
テキストファイルとして読み込んだファイルに、
seek のようなバイナリ(1バイトずつの)処理を使うと、
複数バイトの文字が存在するから、バグらない?
複数バイトの文字があると、文字数とバイト数が異なるから
246デフォルトの名無しさん (ワッチョイ 127d-rLsy)
2019/03/09(土) 12:10:02.52ID:pTdmUQIN0 >>245
お前もう諦めろ
お前もう諦めろ
247デフォルトの名無しさん (ワッチョイ 335f-yYMx)
2019/03/09(土) 13:55:35.31ID:P/rUKkBa0248デフォルトの名無しさん (ワッチョイ ef12-GDas)
2019/03/10(日) 00:40:01.29ID:2U7BqM9T0 macでHomebrewを使用して、最新版2.6.1をインストールしましたが、
ターミナルでバージョンを確認すると古いもの(2.3.7)が表示される。
この場合考えられる要因は何でしょうか?
ターミナルでバージョンを確認すると古いもの(2.3.7)が表示される。
この場合考えられる要因は何でしょうか?
249デフォルトの名無しさん (ワッチョイ a333-BuCU)
2019/03/10(日) 02:00:15.91ID:waZbF5z90 マッキンは知らんけど、どうせPATHやろ?
whichとかruby -Vとかで、インストールされたパスと実際に実行されるパスを確認したら?
whichとかruby -Vとかで、インストールされたパスと実際に実行されるパスを確認したら?
250デフォルトの名無しさん (ワッチョイ 162c-1cTK)
2019/03/10(日) 19:48:05.79ID:bEzyp4mc0 Mac は知らないけど、元からRuby が入っているから、仮想環境のanyenv を使うとか?
元のバージョンも消せないでしょ?
rbenv(Ruby), pyenv(Python), ndenv(Node.js)
こういう事も知らない素人が、2.6 などの最新版を使ったら、ダメでしょ。
1年過ぎたバージョンを使え!
漏れは、Windows10 だけど、まだ、2.4.4 を使ってる
元のバージョンも消せないでしょ?
rbenv(Ruby), pyenv(Python), ndenv(Node.js)
こういう事も知らない素人が、2.6 などの最新版を使ったら、ダメでしょ。
1年過ぎたバージョンを使え!
漏れは、Windows10 だけど、まだ、2.4.4 を使ってる
251デフォルトの名無しさん (ドコグロ MMea-/Er5)
2019/03/10(日) 20:19:51.46ID:JyECxoS9M Win以外なら最新版でほとんど問題ないんだよおバカさん
252デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/10(日) 22:42:52.26ID:6nzJw0Ap0253166 (ワッチョイ 162c-1cTK)
2019/03/10(日) 23:07:47.98ID:bEzyp4mc0 >>243
結果は、true, false, false になったけど、どういう事?
結果は、true, false, false になったけど、どういう事?
254185 (ワッチョイ 162c-1cTK)
2019/03/10(日) 23:57:03.24ID:bEzyp4mc0 >>234
修正
String#lines の所を見たら、chomp: true で改行も削除できる。
こりゃ便利!
p ary = <<"EOT".lines( chomp: true ) # 配列
a
b
EOT
#=> ["a", "b"]
修正
String#lines の所を見たら、chomp: true で改行も削除できる。
こりゃ便利!
p ary = <<"EOT".lines( chomp: true ) # 配列
a
b
EOT
#=> ["a", "b"]
255デフォルトの名無しさん (ワッチョイ 837f-/bUt)
2019/03/11(月) 01:01:19.82ID:5t+/rFdi0 なぁなぁ。
CSRF対策って、トークンを input hidden に書けってのが鉄板だけど。
あれってform action のURLに書いてもセキュア度って変わらないことないか?
URLなら href にも書ける(使い道は考えてない)
CSRF対策って、トークンを input hidden に書けってのが鉄板だけど。
あれってform action のURLに書いてもセキュア度って変わらないことないか?
URLなら href にも書ける(使い道は考えてない)
256デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/11(月) 01:33:23.12ID:W406Vhex0 >>255
だめ
CSRFっていうのは、悪意のあるやつからリンクが送られてきて
それを開いてしまうことで成り立つもの
リンクの中にトークンを入れてしまったら意味がない
トークンがリンクの中に入らないからこそ意味がある
だめ
CSRFっていうのは、悪意のあるやつからリンクが送られてきて
それを開いてしまうことで成り立つもの
リンクの中にトークンを入れてしまったら意味がない
トークンがリンクの中に入らないからこそ意味がある
257デフォルトの名無しさん (ワッチョイ 837f-/bUt)
2019/03/11(月) 01:43:29.79ID:5t+/rFdi0 >>2256
そんなん。
悪意のある奴から送られてくるリンクにあるトークンと
対象者の持ってるセッションに紐付けられるトークンは
全然違うやん。
悪意サイトに埋め込むフォームの場合も結局は
action と hidden を書くわけじゃん?
要するに hidden に書くべきトークンが予想できないからCSRF対策になる訳でしょ。
これが action に書いてあってもなんら変わらないじゃん?
↑以上、予想が非常に困難なトークンを前提。もちろんそれが当たり前だし。
そんなん。
悪意のある奴から送られてくるリンクにあるトークンと
対象者の持ってるセッションに紐付けられるトークンは
全然違うやん。
悪意サイトに埋め込むフォームの場合も結局は
action と hidden を書くわけじゃん?
要するに hidden に書くべきトークンが予想できないからCSRF対策になる訳でしょ。
これが action に書いてあってもなんら変わらないじゃん?
↑以上、予想が非常に困難なトークンを前提。もちろんそれが当たり前だし。
258デフォルトの名無しさん (オッペケ Src7-EzoF)
2019/03/11(月) 09:43:03.52ID:EA8HXttJr259デフォルトの名無しさん (ワッチョイ 837f-/bUt)
2019/03/11(月) 15:12:15.45ID:5t+/rFdi0 >お前が考え出した方法のほうが優れている
どこをどう読んだらそう解釈できんの?実際使うとか、勝手に妄想するなよ……。
そもそも全世界が認めている方法であれば理由は明確なんだよな?
その割に鉄板扱いの呪文レベルで、理由が書いてある記事がないのは一体どういう理由なんだろうか?
そもそも get ではなく post にするのは感覚的にも、暗黙の了解的にも、
当たり前だがCSRF対策で postにせよと書いてあるもの自体が少ない。
セキュリティ初心者向けならなおさらなんだが。
get にしてしまえば URL に乗るし、input である理由が薄弱なのがイラっとするんだよ。
理由が知りたい。
どこをどう読んだらそう解釈できんの?実際使うとか、勝手に妄想するなよ……。
そもそも全世界が認めている方法であれば理由は明確なんだよな?
その割に鉄板扱いの呪文レベルで、理由が書いてある記事がないのは一体どういう理由なんだろうか?
そもそも get ではなく post にするのは感覚的にも、暗黙の了解的にも、
当たり前だがCSRF対策で postにせよと書いてあるもの自体が少ない。
セキュリティ初心者向けならなおさらなんだが。
get にしてしまえば URL に乗るし、input である理由が薄弱なのがイラっとするんだよ。
理由が知りたい。
260デフォルトの名無しさん (アウアウエー Saaa-Bj/M)
2019/03/12(火) 05:35:46.16ID:FSVt1tPQa Rubyでスキルアップ出来るか?
https://www.youtube.com/watch?v=2wfQ3iG08UI
https://www.youtube.com/watch?v=2wfQ3iG08UI
261デフォルトの名無しさん (アウアウエー Saaa-O4Le)
2019/03/12(火) 21:11:19.87ID:EhRgemxCa >>259
Ruby以前に、社会人としておかしいな。
Ruby以前に、社会人としておかしいな。
262デフォルトの名無しさん (ワッチョイ ffa5-h1+v)
2019/03/17(日) 22:43:16.23ID:7ulQuPhQ0 Numbered parametersだって
263デフォルトの名無しさん (ワッチョイ 134e-yW/I)
2019/03/19(火) 23:37:28.37ID:gx/b6f7p0 Ruby ではクラス直下では、self(this)は、クラスを指す。
一方、initialize 内では、new で呼ばれた各インスタンスを指す
class Cat
p self #=> Cat クラス
def initialize( name, weight )
@name = name
@weight = weight
p self #=> 各インスタンス
end
end
bob = Cat.new( "bob", 5 )
alice = Cat.new( "alice", 4 )
出力
Cat
#<Cat: @name="bob", @weight=5>
#<Cat: @name="alice", @weight=4>
オブジェクト指向をわかっていない人には、Python は無理
まず、Rubyでオブジェクト指向・関数型を学んでから、
Python, JavaScript, Kotlin などをやらないと無理
一方、initialize 内では、new で呼ばれた各インスタンスを指す
class Cat
p self #=> Cat クラス
def initialize( name, weight )
@name = name
@weight = weight
p self #=> 各インスタンス
end
end
bob = Cat.new( "bob", 5 )
alice = Cat.new( "alice", 4 )
出力
Cat
#<Cat: @name="bob", @weight=5>
#<Cat: @name="alice", @weight=4>
オブジェクト指向をわかっていない人には、Python は無理
まず、Rubyでオブジェクト指向・関数型を学んでから、
Python, JavaScript, Kotlin などをやらないと無理
264デフォルトの名無しさん (ワッチョイ cf2c-Of+3)
2019/03/20(水) 01:03:37.41ID:RdYQnT9u0 one time token は、URL のクエリ文字列など、見えたらダメ!
form のhidden 内じゃないとダメ
form のhidden 内じゃないとダメ
265デフォルトの名無しさん (アウアウエー Sadf-Cp6o)
2019/03/20(水) 08:14:18.91ID:ygECSxKva formのhiddenが見えないとかマジかよ
さすがにその理解はヤバすぎ
さすがにその理解はヤバすぎ
266デフォルトの名無しさん (ワッチョイ 6b2d-5HBQ)
2019/03/26(火) 19:14:05.12ID:d0iwa0lD0 Rubyを勉強し始めようか迷っていて、適当にWeb見てたんだけどさあ
一部のページで、「Railsから入った人にとっては驚くかもしれないけど、Ruby単体でもプログラムが書ける」みたいなことが書いてあって驚いちゃったな
これ、Rubyの言語より先にRailsの学習をすることも可能なんか?
一部のページで、「Railsから入った人にとっては驚くかもしれないけど、Ruby単体でもプログラムが書ける」みたいなことが書いてあって驚いちゃったな
これ、Rubyの言語より先にRailsの学習をすることも可能なんか?
267デフォルトの名無しさん (CA 0Haf-yVw/)
2019/03/26(火) 19:18:17.37ID:NbUyZWCMH 誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 96873
https://you-can-program.hatenablog.jp
https://you-can-program.hatenablog.jp
268デフォルトの名無しさん (ワンミングク MM3a-RF5v)
2019/03/26(火) 19:20:08.89ID:oGfwRodhM269デフォルトの名無しさん (ワッチョイ 6b2d-5HBQ)
2019/03/26(火) 19:26:11.18ID:d0iwa0lD0270デフォルトの名無しさん (ワッチョイ de2c-ZSTg)
2019/03/26(火) 22:24:08.02ID:gZH84WWp0 Rails は半年掛かるので、普通人は挫折する。
Sinatra から始めるのが良い
社内エンジニアから、Railsエンジニアになった人の動画が、YouTube にもある
Railsの知識が、膨大な理由は、Ruby の文法じゃない
Linux のOS のコマンド・機能、テスト、環境構築運用技術や、
DB、HTML, CSS・SASS, JavaScript, jQuery など、システムのAll Set だから
Railsが、全言語のフレームワークに応用できるのは、大半がRubyの文法とは関係ないから。
ほとんどの内容が、システムの事
Sinatra から始めるのが良い
社内エンジニアから、Railsエンジニアになった人の動画が、YouTube にもある
Railsの知識が、膨大な理由は、Ruby の文法じゃない
Linux のOS のコマンド・機能、テスト、環境構築運用技術や、
DB、HTML, CSS・SASS, JavaScript, jQuery など、システムのAll Set だから
Railsが、全言語のフレームワークに応用できるのは、大半がRubyの文法とは関係ないから。
ほとんどの内容が、システムの事
271デフォルトの名無しさん (ワッチョイ 9f33-voek)
2019/03/26(火) 22:55:31.07ID:nYFNe3O+0 でももうRailsははやらんよな。
実際にはわかりやすくもないし。
もちろん用途によるけど、Rubyに興味があるのなら、Rubyからやったほうがええんちゃう?
実際にはわかりやすくもないし。
もちろん用途によるけど、Rubyに興味があるのなら、Rubyからやったほうがええんちゃう?
272デフォルトの名無しさん (ワッチョイ de2c-ZSTg)
2019/03/27(水) 03:26:16.91ID:iumvruyG0 この行列の前後に、番兵(0)を置くには、どう書く?
ary = [[1, 2, 3], [4, 5, 6]]
結果
0, 0, 0, 0, 0
0, 1, 2, 3, 0
0, 4, 5, 6, 0
0, 0, 0, 0, 0
ary = [[1, 2, 3], [4, 5, 6]]
結果
0, 0, 0, 0, 0
0, 1, 2, 3, 0
0, 4, 5, 6, 0
0, 0, 0, 0, 0
273デフォルトの名無しさん (アウアウエー Sac2-yExI)
2019/03/27(水) 06:09:28.25ID:J3LATpLka import pandas as pd
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])
df = pd.concat([pd.DataFrame([0]*df.shape[0]),df,pd.DataFrame([0]*df.shape[0])], axis=1)
df.columns = list(range(df.shape[1]))
df = pd.concat([pd.DataFrame([[0]*df.shape[1]]),df,pd.DataFrame([[0]*df.shape[1]])])
df.index = list(range(df.shape[0]))
>>> df
0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 0
2 0 4 5 6 0
3 0 0 0 0 0
df = pd.DataFrame([[1, 2, 3], [4, 5, 6]])
df = pd.concat([pd.DataFrame([0]*df.shape[0]),df,pd.DataFrame([0]*df.shape[0])], axis=1)
df.columns = list(range(df.shape[1]))
df = pd.concat([pd.DataFrame([[0]*df.shape[1]]),df,pd.DataFrame([[0]*df.shape[1]])])
df.index = list(range(df.shape[0]))
>>> df
0 1 2 3 4
0 0 0 0 0 0
1 0 1 2 3 0
2 0 4 5 6 0
3 0 0 0 0 0
274デフォルトの名無しさん (ワッチョイ 4ad2-KGYh)
2019/03/27(水) 13:26:23.63ID:mz7eRfCH0 >>272
ary = [[1, 2, 3], [4, 5, 6]]
a=[0]*ary[0].sizeこ
b=([a]+ary+[a]).map{|x|[0]+x+[0]}
p b
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 0], [0, 4, 5, 6, 0], [0, 0, 0, 0, 0]]
ary = [[1, 2, 3], [4, 5, 6]]
a=[0]*ary[0].sizeこ
b=([a]+ary+[a]).map{|x|[0]+x+[0]}
p b
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 0], [0, 4, 5, 6, 0], [0, 0, 0, 0, 0]]
275デフォルトの名無しさん (ワッチョイ 4ad2-KGYh)
2019/03/27(水) 13:35:27.03ID:mz7eRfCH0 >>274
すみません。途中に入ったひらがなはゴミです無視してください。
すみません。途中に入ったひらがなはゴミです無視してください。
276デフォルトの名無しさん (ワッチョイ 0b14-rXtv)
2019/03/27(水) 13:38:32.48ID:kDDFgxGr0277デフォルトの名無しさん (オイコラミネオ MMeb-voek)
2019/03/27(水) 18:23:38.55ID:ie5q9CuxM 番兵て。w
マトリクスに余白があれば、処理が簡単になるアルゴリズムは存在するやろ。
パッとは出てこないけど、ホントにいろいろ。
マトリクスに余白があれば、処理が簡単になるアルゴリズムは存在するやろ。
パッとは出てこないけど、ホントにいろいろ。
278272 (ワッチョイ de2c-ZSTg)
2019/03/27(水) 23:32:37.93ID:iumvruyG0 番兵を使わないと、1〜6 (1:start, 6:end)の道順をたどる際、面倒だろ?
例えば、1 から次を探すのに、上下左右を判断して、
上・左にはマスが無いから、番兵で壁を作った方が、プログラミングしやすい
例えば、1 から次を探すのに、上下左右を判断して、
上・左にはマスが無いから、番兵で壁を作った方が、プログラミングしやすい
279デフォルトの名無しさん (ワッチョイ ca01-0TW1)
2019/03/27(水) 23:40:47.09ID:Dp9Jy9i30 素直じゃない
280デフォルトの名無しさん (ワッチョイ 0f2c-injD)
2019/04/02(火) 21:21:41.64ID:3dIjgbOm0 たのしいRuby 第6版、2019/3/19
Ruby 2.6 対応の新版が出た!
Ruby 2.6 対応の新版が出た!
281デフォルトの名無しさん (アウアウエー Sa8a-kE2b)
2019/04/07(日) 22:27:45.26ID:AQpaCo65a 番兵が出てくるのはカプセル化が下手糞な証拠
282デフォルトの名無しさん (ワッチョイ 4d33-H3rI)
2019/04/07(日) 22:39:35.97ID:5zmVKMWF0 番兵は、カプセル化には何の関係もない。
効率的な実装に役立つものだから。
効率的な実装に役立つものだから。
283デフォルトの名無しさん (ワッチョイ 7d5f-H+4x)
2019/04/08(月) 02:08:42.22ID:UNm+DOhC0 nilとfalseが別だったりするし
Rubyの場合は番兵いらんと思うぞ
Rubyの場合は番兵いらんと思うぞ
284デフォルトの名無しさん (ワッチョイ 4d33-H3rI)
2019/04/08(月) 19:44:29.48ID:xeXNozVz0 そら、番兵がいらんようなコードしか書いてないだけや。
285デフォルトの名無しさん (ワッチョイ 02d2-GBaV)
2019/04/08(月) 19:53:09.21ID:Axd3G2xU0 番兵の話はお題スレからきていてると思うのだけど
番兵が有用と言う人と無用と言う人で
元のお題をやってみたら?
番兵が有用と言う人と無用と言う人で
元のお題をやってみたら?
286272 (ワッチョイ ee2c-f03p)
2019/04/09(火) 00:49:34.31ID:BWeYJxgy0 番兵が無ければ、
上下 : 上下に行があるか?
左右 : 左右に列があるか?
を判定しないといけないから、わかりにくい
上下 : 上下に行があるか?
左右 : 左右に列があるか?
を判定しないといけないから、わかりにくい
287デフォルトの名無しさん (アメ MM8d-3NqX)
2019/04/09(火) 01:32:18.70ID:03qzHG/tM 範囲外アクセスをどう扱うかの方法論でしかないのでは?
lengthすらない昔のC辺りのやり方。
色々整備されてる現代言語でやる奴はアホ。
アホというか、だったらCやってりゃいいじゃん。
楽に書くために高級な機能があるのに番兵のほうが分かりやすい?w
高級機能のために速度犠牲にしてる言語で高級機能使わないとかww
lengthすらない昔のC辺りのやり方。
色々整備されてる現代言語でやる奴はアホ。
アホというか、だったらCやってりゃいいじゃん。
楽に書くために高級な機能があるのに番兵のほうが分かりやすい?w
高級機能のために速度犠牲にしてる言語で高級機能使わないとかww
288デフォルトの名無しさん (アメ MM8d-3NqX)
2019/04/09(火) 01:35:04.47ID:03qzHG/tM eachよりforのほうが分かりやすい
mapよりforのほうが分かりやすい
reduceよりforのほうが分かりやすい
CでいいじゃんCやってなよ
mapよりforのほうが分かりやすい
reduceよりforのほうが分かりやすい
CでいいじゃんCやってなよ
289デフォルトの名無しさん (ワッチョイ 4d33-H3rI)
2019/04/09(火) 02:17:33.75ID:3lXFFzae0 範囲内かどうかをいちいち判定して、わざわざ分岐したいんか。
まったく、物好きやな。w
んなことをせんでも、番兵や余白を利用したら、わかりやすさや効率化を果たせることもあるんやで。
まったく、物好きやな。w
んなことをせんでも、番兵や余白を利用したら、わかりやすさや効率化を果たせることもあるんやで。
290デフォルトの名無しさん (ワッチョイ 8201-x0Y6)
2019/04/09(火) 02:56:23.16ID:Lun3H7EC0 こんなのあったな
10 ON STICK(0) GOTO 40,60,30,60,50,60,20,60
20 X=X+(X>0):GOTO 60
30 X=X-(X<3):GOTO 60
40 Y=Y+(Y>0):GOTO 60
50 Y=Y-(Y<2):GOTO 60
60 RETURN
10 ON STICK(0) GOTO 40,60,30,60,50,60,20,60
20 X=X+(X>0):GOTO 60
30 X=X-(X<3):GOTO 60
40 Y=Y+(Y>0):GOTO 60
50 Y=Y-(Y<2):GOTO 60
60 RETURN
291デフォルトの名無しさん (ワッチョイ 8201-x0Y6)
2019/04/09(火) 03:40:14.16ID:Lun3H7EC0 範囲が1つ多かったな
あと押さない場合0だったような
あと押さない場合0だったような
292デフォルトの名無しさん (ワッチョイ 012d-gjr1)
2019/04/09(火) 17:27:08.92ID:a64vJmyf0 Ruby Motionって契約してる人います?
これって今から使い始めても継続的に保守され続けるような雰囲気してますか?
これって今から使い始めても継続的に保守され続けるような雰囲気してますか?
293デフォルトの名無しさん (ドコグロ MMa2-kE2b)
2019/04/09(火) 18:42:29.12ID:GpL36fRzM IDEが欲しいならRubyMineかVSCodeにしとけ
さすがにRubyMotionなんかもう完全に終わってる
さすがにRubyMotionなんかもう完全に終わってる
294デフォルトの名無しさん (ワッチョイ 7d5f-H+4x)
2019/04/09(火) 19:38:46.13ID:gArhDSWi0295デフォルトの名無しさん (ワッチョイ ed84-db+S)
2019/04/09(火) 20:45:47.01ID:W6lz3wMr0 番兵の勝ち
296デフォルトの名無しさん (アメ MM8d-3NqX)
2019/04/09(火) 20:57:02.17ID:QoVolURMM じゃあCでいいな。
遅いくせにCでやってたのと同じ方法でしか解決できないクソ言語。
遅いくせにCでやってたのと同じ方法でしか解決できないクソ言語。
297デフォルトの名無しさん (ワッチョイ 8273-iMOx)
2019/04/09(火) 23:02:02.22ID:AKuUbIoh0 何言ってんだこいつ
298デフォルトの名無しさん (ワッチョイ 012d-gjr1)
2019/04/10(水) 07:32:34.80ID:2VCYuCv80 >>293
広く捉えればIDEなのかも知れませんが、iOS/Android等の開発ができるのが売りなので他ではなかなか代替が効かないと思うんです
http://www.rubymotion.com/jp/
これもう廃れてるんですかね・・・・・
広く捉えればIDEなのかも知れませんが、iOS/Android等の開発ができるのが売りなので他ではなかなか代替が効かないと思うんです
http://www.rubymotion.com/jp/
これもう廃れてるんですかね・・・・・
299デフォルトの名無しさん (ワッチョイ a11f-e49e)
2019/04/10(水) 07:36:54.35ID:lSfLGzBw0 Rubyすら死にかけているというのに
いわんやRubyMotionをや
いわんやRubyMotionをや
300デフォルトの名無しさん (アウアウエー Sa8a-kE2b)
2019/04/10(水) 07:53:22.57ID:bZQdtc4sa Rubyでスマホアプリとかそれこそ論外
プロのバリバリのRubyエンジニアですら誰も使ってないわそんなもん
プロのバリバリのRubyエンジニアですら誰も使ってないわそんなもん
301デフォルトの名無しさん (ワッチョイ 012d-gjr1)
2019/04/10(水) 19:42:08.61ID:2VCYuCv80302デフォルトの名無しさん (ワッチョイ 617d-3knu)
2019/04/10(水) 19:53:43.11ID:Uk872prY0 そんなん移植すればよかろうよ
書いた総時間の10分の1くらいでできるはずだ
プログラミングに慣れているというのはそういうことでもある
書いた総時間の10分の1くらいでできるはずだ
プログラミングに慣れているというのはそういうことでもある
303デフォルトの名無しさん (ワッチョイ d91f-Rw3k)
2019/04/11(木) 00:11:15.02ID:rbVbMGbi0 Rubyで書いたのかもったいない
絵に描いたような技術的負債だな
サンクコストと割り切って早めの移植をお薦めする
絵に描いたような技術的負債だな
サンクコストと割り切って早めの移植をお薦めする
304デフォルトの名無しさん (ワッチョイ 1373-XGqV)
2019/04/11(木) 00:27:57.58ID:6OTuCZjY0 プロトタイプとして作るならRubyでも全然アリだと思うけどな
技術的負債と言い切る方がむしろおかしい感じがする
技術的負債と言い切る方がむしろおかしい感じがする
305デフォルトの名無しさん (ワッチョイ 8b2c-9RpW)
2019/04/11(木) 00:28:18.22ID:SMdbPkuM0 Haxe が、Ruby・Elixir も、JavaScript(JS) に変換してくれればなあ
パズル本でも、解答はRuby で書いてある。
これが、JS なら、可読性が悪くなるから
まあ、ES2015(ES6)で書いて、Babel で、ES5 に変換するぐらいかな?
パズル本でも、解答はRuby で書いてある。
これが、JS なら、可読性が悪くなるから
まあ、ES2015(ES6)で書いて、Babel で、ES5 に変換するぐらいかな?
306デフォルトの名無しさん (ワッチョイ d91f-Rw3k)
2019/04/11(木) 01:05:21.02ID:rbVbMGbi0307デフォルトの名無しさん (ワッチョイ 1373-XGqV)
2019/04/11(木) 01:12:54.22ID:6OTuCZjY0 >>306
間違いは「プロトタイプをそのまま使いまわそうとすること」であって、
「プロトタイプにRubyを使ったこと」ではないはずだよね
「何がなんでもRubyを使うことは間違い」と言いたいだけなんちゃうん?
間違いは「プロトタイプをそのまま使いまわそうとすること」であって、
「プロトタイプにRubyを使ったこと」ではないはずだよね
「何がなんでもRubyを使うことは間違い」と言いたいだけなんちゃうん?
308デフォルトの名無しさん (ワッチョイ d91f-Rw3k)
2019/04/11(木) 01:50:09.37ID:rbVbMGbi0309デフォルトの名無しさん (ワッチョイ 8b2c-9RpW)
2019/04/11(木) 02:33:02.00ID:SMdbPkuM0 Sinatra, Rails を使えば?
GUI は、HTML, CSS, JavaScript で、
サーバーサイドはRuby
GUI は、HTML, CSS, JavaScript で、
サーバーサイドはRuby
310デフォルトの名無しさん (ワッチョイ b15f-V8f8)
2019/04/11(木) 07:54:47.05ID:dq518c3V0 Rubyで書いたものを別言語に移植するのは、そう難しい話でもないだろ
opalとかで楽しようとしたほうが罠に嵌りそう
opalとかで楽しようとしたほうが罠に嵌りそう
311デフォルトの名無しさん (エムゾネ FF33-grM/)
2019/04/11(木) 11:27:47.80ID:bTGeujWNF perlで書いたのがもったいない
そう思っていた時期がありましたが
rubyで書いたらそんな小さな心配は吹き飛びました
↓
rubyで書いたのがもったいない
そう思っていた時期がありましたが
pythonで書いたらそんな小さな心配は吹き飛びました
そう思っていた時期がありましたが
rubyで書いたらそんな小さな心配は吹き飛びました
↓
rubyで書いたのがもったいない
そう思っていた時期がありましたが
pythonで書いたらそんな小さな心配は吹き飛びました
312デフォルトの名無しさん (アメ MM4d-nfNM)
2019/04/11(木) 11:44:58.37ID:GR4ezT/uM 最初に苦労してCで書いておけばその後は言語の流行りに合わせてFFIラッパー書くだけで済んだのにねwwww
313デフォルトの名無しさん (ワッチョイ 1373-XGqV)
2019/04/11(木) 20:54:31.10ID:6OTuCZjY0 >>312
モノになるかどうか分からんものに苦労を強いるなんて愚の骨頂
モノになるかどうか分からんものに苦労を強いるなんて愚の骨頂
314デフォルトの名無しさん (ドコグロ MMbd-x1Th)
2019/04/11(木) 21:15:03.89ID:JHOkJdt/M >>313
将棋のAIみたいなCPU時間のかかる処理だと、Cならブルートフォースで全く問題にならない箇所が
ゲロ遅Rubyだとアルゴリズムの最適化が必要になったりして、結局Cの方が早かったんじゃないか、、、となるケースが多いよ
そもそもアルゴリズムの実装はCでもあまり生産性に差が出ないし
将棋のAIみたいなCPU時間のかかる処理だと、Cならブルートフォースで全く問題にならない箇所が
ゲロ遅Rubyだとアルゴリズムの最適化が必要になったりして、結局Cの方が早かったんじゃないか、、、となるケースが多いよ
そもそもアルゴリズムの実装はCでもあまり生産性に差が出ないし
315デフォルトの名無しさん (ワッチョイ 1373-XGqV)
2019/04/11(木) 21:24:11.31ID:6OTuCZjY0316デフォルトの名無しさん (アウアウエー Sae3-x1Th)
2019/04/11(木) 21:34:09.67ID:+nT2xOqaa317デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 00:55:41.82ID:L59U/aC10 >>315
sassがそれをやったわけだが。
最初Rubyでsassが作られた。
今はlibsassというC言語実装が作られた。
だけどあれ、確か2006年ぐらいにRuby版がでてから
6年ぐらいもかかっただろ?
そしてRuby版に機能が追いつくまでさらに数年
sassがそれをやったわけだが。
最初Rubyでsassが作られた。
今はlibsassというC言語実装が作られた。
だけどあれ、確か2006年ぐらいにRuby版がでてから
6年ぐらいもかかっただろ?
そしてRuby版に機能が追いつくまでさらに数年
318デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 00:57:31.09ID:L59U/aC10 >>316
> 遅すぎる言語を使うことで
遅すぎるという言葉には2つの意味があって、
"実行速度が" 遅すぎる言語で問題になることがあるように、
"開発が" 遅すぎる言語では、その開発の遅さが問題になることがある
> 遅すぎる言語を使うことで
遅すぎるという言葉には2つの意味があって、
"実行速度が" 遅すぎる言語で問題になることがあるように、
"開発が" 遅すぎる言語では、その開発の遅さが問題になることがある
319デフォルトの名無しさん (ワッチョイ b102-eS/W)
2019/04/12(金) 01:54:31.59ID:kPkxqpeR0 >>315
馬鹿なの?
トライ&エラーではrubyなりpython で作って、そくどの為にCで書き直すんだろ。
Twitter やFacebook もロジックはrubyで作って、そのままでは限界を感じたからも、っと速い言語に書き換えたろ?
ロジックさえ確立すれば、多少の記述量増加よりは問題にならない。
(むしろ問題があったから変更する必要に迫られた)
馬鹿なの?
トライ&エラーではrubyなりpython で作って、そくどの為にCで書き直すんだろ。
Twitter やFacebook もロジックはrubyで作って、そのままでは限界を感じたからも、っと速い言語に書き換えたろ?
ロジックさえ確立すれば、多少の記述量増加よりは問題にならない。
(むしろ問題があったから変更する必要に迫られた)
320デフォルトの名無しさん (ワッチョイ 8b2c-9RpW)
2019/04/12(金) 02:31:01.87ID:WO5SLys30 Vagrant, Chef, Homebrew など、環境構築運用でシェルスクリプトの代わりには、Ruby で書く。
rbenv(anyenv) も、Rubyか?
他にも、SASS とか、他の言語よりも、数年早いから、
実験段階のものや、アクセスが少ない、中小企業向けに良い
大規模になってきたら、他の言語に変える
rbenv(anyenv) も、Rubyか?
他にも、SASS とか、他の言語よりも、数年早いから、
実験段階のものや、アクセスが少ない、中小企業向けに良い
大規模になってきたら、他の言語に変える
321デフォルトの名無しさん (アウアウエー Sae3-x1Th)
2019/04/12(金) 07:29:49.69ID:xRzutCJ1a >>319
高負荷な処理の開発においては、検証すらままならないほどに遅くなることが普通にある(Cで書いててもね)
そもそも最初からパフォーマンスが問題になることが分かっているなら、速度自体もアルゴリズムの良し悪しを決める重要なファクターだ
まあRuby使いには想像しにくい世界かもね
高負荷な処理の開発においては、検証すらままならないほどに遅くなることが普通にある(Cで書いててもね)
そもそも最初からパフォーマンスが問題になることが分かっているなら、速度自体もアルゴリズムの良し悪しを決める重要なファクターだ
まあRuby使いには想像しにくい世界かもね
322デフォルトの名無しさん (ワッチョイ 13a5-5Pop)
2019/04/12(金) 11:06:50.87ID:+AQGVq0O0323デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 13:41:56.03ID:L59U/aC10 >>320
> rbenv(anyenv) も、Rubyか?
rbenvもanyenvもその兄弟(*env)たちもシェルスクリプトで作られてるよ。
https://github.com/rbenv/rbenv の緑のバーをクリックすりゃわかるだろ?
Shell 96.5% Ruby 1.5% C 1.4% Other 0.6%
環境構築というか、"端末の"環境構築なので
端末を提供しているシェルスクリプトが一番相性が良い
> rbenv(anyenv) も、Rubyか?
rbenvもanyenvもその兄弟(*env)たちもシェルスクリプトで作られてるよ。
https://github.com/rbenv/rbenv の緑のバーをクリックすりゃわかるだろ?
Shell 96.5% Ruby 1.5% C 1.4% Other 0.6%
環境構築というか、"端末の"環境構築なので
端末を提供しているシェルスクリプトが一番相性が良い
324デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 13:47:31.31ID:L59U/aC10 あとrubyの環境を整えるのに、rubyが必要とかありえないわなw
それにruby遅いねん。(ruby以外のスクリプト言語もそうだろうけど)
$ time ruby -e 'print "ruby"'
ruby
real 0m0.054s
user 0m0.042s
sys 0m0.013s
$ time sh -c 'echo "sh"'
sh
real 0m0.001s
user 0m0.000s
sys 0m0.001s
それにruby遅いねん。(ruby以外のスクリプト言語もそうだろうけど)
$ time ruby -e 'print "ruby"'
ruby
real 0m0.054s
user 0m0.042s
sys 0m0.013s
$ time sh -c 'echo "sh"'
sh
real 0m0.001s
user 0m0.000s
sys 0m0.001s
325デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 14:33:52.25ID:L59U/aC10 Perlは少しはマシだな
$ time perl -e 'print "perl"'
perl
real 0m0.003s
user 0m0.000s
sys 0m0.002s
$ time php -r 'print "php";'
php
real 0m0.016s
user 0m0.016s
sys 0m0.000s
$ time python -c 'print "python";'
python
real 0m0.016s
user 0m0.012s
sys 0m0.004s
$ time perl -e 'print "perl"'
perl
real 0m0.003s
user 0m0.000s
sys 0m0.002s
$ time php -r 'print "php";'
php
real 0m0.016s
user 0m0.016s
sys 0m0.000s
$ time python -c 'print "python";'
python
real 0m0.016s
user 0m0.012s
sys 0m0.004s
326デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 14:37:23.94ID:L59U/aC10327デフォルトの名無しさん (ドコグロ MM63-x1Th)
2019/04/12(金) 14:56:49.04ID:LhXUTlO1M それでもほぼ起動のオーバーヘッドだろう
RubyはRails専用なので長時間動作が前提だから起動時間はあまり重視されてないんだろうね
RubyはRails専用なので長時間動作が前提だから起動時間はあまり重視されてないんだろうね
328デフォルトの名無しさん (ワッチョイ b3a5-jmEn)
2019/04/12(金) 15:03:10.45ID:HYW7LIPs0 ツイッターってrailsって本当?
329デフォルトの名無しさん (エムゾネ FF33-grM/)
2019/04/12(金) 15:26:10.57ID:VR9mZ4dFF スタートアップで使ってたってだけで
もう使ってないから
遅すぎて見切られた
もう使ってないから
遅すぎて見切られた
330デフォルトの名無しさん (アメ MM4d-nfNM)
2019/04/12(金) 15:58:45.73ID:EM6Ln3LKM ツイッターがRailsていつの時代の話だよwww原始人かww
今でもScalaなのかどうかが気になるわwwww
今でもScalaなのかどうかが気になるわwwww
331デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 16:30:59.42ID:kdt5VzkQ0332デフォルトの名無しさん (オイコラミネオ MM55-Srw3)
2019/04/12(金) 18:26:13.37ID:xKzG8Z1CM IOのオーバーヘッドもあるんじゃないの?
RubyはUnicodeの確認とかしてそう。
逆に、BashやPerl5はしてなさそう。
RubyはUnicodeの確認とかしてそう。
逆に、BashやPerl5はしてなさそう。
333デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 19:31:58.44ID:kdt5VzkQ0 なんだよ?Unicodeの確認って
単に「Rubyは起動が遅い。」でいいだろw
単に「Rubyは起動が遅い。」でいいだろw
334デフォルトの名無しさん (ワッチョイ d133-qzPJ)
2019/04/12(金) 23:32:32.24ID:5JLil1XU0 出力にかかる時間を計ってる以上、「起動」の時間はわからんだろ。
Unicodeうんぬんは、文字の妥当性を検証してる気がしたから。バイナリを流すとエラーになったような。
きっとRubyは遅いだろうと思うが、それでも、おまえの確認は証明になっていないぞ。
Unicodeうんぬんは、文字の妥当性を検証してる気がしたから。バイナリを流すとエラーになったような。
きっとRubyは遅いだろうと思うが、それでも、おまえの確認は証明になっていないぞ。
335デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 23:39:02.39ID:kdt5VzkQ0 >>334
Rubyは起動か文字列出力が遅い
Rubyは起動か文字列出力が遅い
336デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 23:46:43.64ID:kdt5VzkQ0 はぁ、くだらね。Rubyが遅いという結論は変わらないんだから
こっちは、起動が遅くても文字列出力が遅くても構わんのだがなーw
はい。やっぱりRubyは起動が遅いです。
php、pythonの3.5倍、Perlの17倍、shの50倍遅いです。
$ time ruby -e ''
real 0m0.053s
user 0m0.049s
sys 0m0.004s
$ time sh -c ''
real 0m0.001s
user 0m0.000s
sys 0m0.001s
$ time perl -e ''
real 0m0.003s
user 0m0.003s
sys 0m0.000s
$ time php -r ''
real 0m0.015s
user 0m0.004s
sys 0m0.011s
$ time python -c ''
real 0m0.014s
user 0m0.011s
sys 0m0.004s
こっちは、起動が遅くても文字列出力が遅くても構わんのだがなーw
はい。やっぱりRubyは起動が遅いです。
php、pythonの3.5倍、Perlの17倍、shの50倍遅いです。
$ time ruby -e ''
real 0m0.053s
user 0m0.049s
sys 0m0.004s
$ time sh -c ''
real 0m0.001s
user 0m0.000s
sys 0m0.001s
$ time perl -e ''
real 0m0.003s
user 0m0.003s
sys 0m0.000s
$ time php -r ''
real 0m0.015s
user 0m0.004s
sys 0m0.011s
$ time python -c ''
real 0m0.014s
user 0m0.011s
sys 0m0.004s
337デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 23:48:50.10ID:kdt5VzkQ0 だいたい。たかが出力にそんなに時間がかかるわけ無いだろ
real 0m0.054s の大部分が起動ではなくて、
出力の時間だっていうのなら、それはそれで大爆笑もんだろ
起動よりも出力のほうが時間かかるって言ってんだから
real 0m0.054s の大部分が起動ではなくて、
出力の時間だっていうのなら、それはそれで大爆笑もんだろ
起動よりも出力のほうが時間かかるって言ってんだから
338デフォルトの名無しさん (ワッチョイ 1373-XGqV)
2019/04/13(土) 02:52:14.07ID:+rbgtPEq0 なんでそんな人間がRubyスレを覗いてるんだろうねぇ…
Rubyが嫌いならRubyスレなんて覗かなきゃいいだけなのに
Rubyが嫌いならRubyスレなんて覗かなきゃいいだけなのに
339デフォルトの名無しさん (アウアウエー Sae3-grM/)
2019/04/13(土) 03:03:39.84ID:cdJINjrpa ごみん
340デフォルトの名無しさん (ワッチョイ 8b2c-9RpW)
2019/04/13(土) 07:06:14.59ID:blG/UTRx0 シェルスクリプトでループしたら、5分以上掛かる。
プロセスも、10万以上起動されるし
Ruby なら、3秒ぐらい
だから、シェルスクリプトで書かない
プロセスも、10万以上起動されるし
Ruby なら、3秒ぐらい
だから、シェルスクリプトで書かない
341デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/13(土) 08:05:07.56ID:bIdtQ5MW0 > シェルスクリプトでループしたら、5分以上掛かる。
> プロセスも、10万以上起動されるし
お前の書き方が悪いんだろw
> プロセスも、10万以上起動されるし
お前の書き方が悪いんだろw
342デフォルトの名無しさん (ワッチョイ d133-qzPJ)
2019/04/13(土) 14:26:56.18ID:sX5qVOZG0343デフォルトの名無しさん (ワッチョイ d133-qzPJ)
2019/04/13(土) 14:27:50.19ID:sX5qVOZG0 まさか、Cygwinだったりしないよな?
344デフォルトの名無しさん (ワッチョイ 3961-D+Sx)
2019/04/13(土) 16:50:14.26ID:l6UxczrL0 ruby --disable-gems -e ''
ならそんなに時間かからないはずだけど。
ならそんなに時間かからないはずだけど。
345デフォルトの名無しさん (アウアウウー Sa5d-NGx/)
2019/04/13(土) 17:19:39.65ID:YpOFfnixa >>342
そいつは何言っても自分を省みることのできない奴だから、構うだけ無駄だと思うよ
そいつは何言っても自分を省みることのできない奴だから、構うだけ無駄だと思うよ
346デフォルトの名無しさん (アウアウウー Sa5d-e55t)
2019/04/15(月) 21:00:33.40ID:UzKyMZCIa >>338
日本が嫌いなのに日本にしがみついてる朝鮮人みたいなもんだよ。
日本が嫌いなのに日本にしがみついてる朝鮮人みたいなもんだよ。
347デフォルトの名無しさん (ワッチョイ 13a5-jmEn)
2019/04/16(火) 08:48:21.04ID:LiYaAaxe0 Rubyて「楽しく開発ができる」って言うじゃない?
348デフォルトの名無しさん (ドコグロ MM33-x1Th)
2019/04/16(火) 09:21:31.52ID:V3kPCGsbM うん
Rubyしかできない人ほどそう言うね
Rubyしかできない人ほどそう言うね
349デフォルトの名無しさん (ワッチョイ 13a5-5Pop)
2019/04/16(火) 09:32:48.43ID:jMhdT2ep0 その逆、「開発がヘヴィで苦行なデスマーチになりまーーーす!」と宣伝する言語は無い
一般的には、どんな言語や商品でもそう宣伝する、そうしない商品は無い
一般的には、どんな言語や商品でもそう宣伝する、そうしない商品は無い
350デフォルトの名無しさん (ワントンキン MMd3-wiMN)
2019/04/16(火) 09:44:32.83ID:nXxzoFc/M >>347
開発当初はその通り
Railsがしゃしゃり出てくる前もまあ当時の他言語と比べてまあ妥当
Rubyデツクルモノ=Railsとなってからは「Ruby別に楽しくないじゃん」とか言われるようにはなった
メモリ16GBとSSDで意識高い系言語もIDEでぐわんぐわん言わせられる昨今、Rubyのそのへんのメリットは比較上は薄い
開発当初はその通り
Railsがしゃしゃり出てくる前もまあ当時の他言語と比べてまあ妥当
Rubyデツクルモノ=Railsとなってからは「Ruby別に楽しくないじゃん」とか言われるようにはなった
メモリ16GBとSSDで意識高い系言語もIDEでぐわんぐわん言わせられる昨今、Rubyのそのへんのメリットは比較上は薄い
351デフォルトの名無しさん (ワッチョイ b102-2EiJ)
2019/04/16(火) 10:39:23.01ID:S7eq1ncA0352デフォルトの名無しさん (ワッチョイ 992d-U5P5)
2019/04/16(火) 10:54:33.68ID:xaQ/mbi+0 助成金サギみたいなのはやめようぜ
353デフォルトの名無しさん (ワイーワ2 FF63-grM/)
2019/04/16(火) 11:56:14.82ID:vZl8q5zBF ほんとうはデスマになってるのに
Ruby使うことでラリって気持ちいいから
デスマに気付いてないケースは多そうだ
Ruby使うことでラリって気持ちいいから
デスマに気付いてないケースは多そうだ
354デフォルトの名無しさん (ドコグロ MM33-x1Th)
2019/04/16(火) 13:37:30.80ID:V3kPCGsbM 後のこと一切気にしなくていいならJavaでも楽しいよ
最近Rubyにヘイトが集まってるのは、Rails全盛期にそうやって乱造されたアプリの便所掃除の仕事の割合が増えてるから
最近Rubyにヘイトが集まってるのは、Rails全盛期にそうやって乱造されたアプリの便所掃除の仕事の割合が増えてるから
355デフォルトの名無しさん (アメ MM4d-nfNM)
2019/04/16(火) 14:09:38.51ID:HGB3ondZM 書きやすく 読みにくい
→楽しく適当に書かれたウンコードの保守押し付けられた奴らブチ切れ
当然書いた本人はもういないw
→楽しく適当に書かれたウンコードの保守押し付けられた奴らブチ切れ
当然書いた本人はもういないw
356デフォルトの名無しさん (ワイーワ2 FF63-grM/)
2019/04/16(火) 15:42:10.89ID:vZl8q5zBF perlの読み難さに嫌気が差して造られた言語なのにperlの悪い所を引き摺ってるからな
357デフォルトの名無しさん (ワッチョイ 92a5-hooH)
2019/04/18(木) 11:40:30.01ID:zHViXhbq0 パターンマッチだって
https://bugs.ruby-lang.org/issues/14912
https://bugs.ruby-lang.org/issues/14912
358デフォルトの名無しさん (ワッチョイ 5e2c-LwVf)
2019/04/20(土) 14:24:37.48ID:rcvSJkam0 社員50人の「Ruby 開発」という会社の求人を見た。
東京・大阪で求人
Rubyでは、国内3位だって!
Cookpad, マネーフォワードに次ぐ会社か?
上場してるのか?
東京・大阪で求人
Rubyでは、国内3位だって!
Cookpad, マネーフォワードに次ぐ会社か?
上場してるのか?
359デフォルトの名無しさん (ワッチョイ 5e2c-LwVf)
2019/04/20(土) 15:03:38.48ID:rcvSJkam0 変換表を使って、置換できるのは便利!
hash = { 'ab' => 'あ', 'xy' => 'ん' }
p re = Regexp.union( hash.keys ) #=> /ab|xy/
p "9xy9ab9xyx".gsub( re, hash )
#=> 9ん9あ9んx
gsub(pattern, hash) -> String
文字列中の pattern にマッチした部分をキーにして、hash を引いた値で置き換える
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
hash = { 'ab' => 'あ', 'xy' => 'ん' }
p re = Regexp.union( hash.keys ) #=> /ab|xy/
p "9xy9ab9xyx".gsub( re, hash )
#=> 9ん9あ9んx
gsub(pattern, hash) -> String
文字列中の pattern にマッチした部分をキーにして、hash を引いた値で置き換える
hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
360デフォルトの名無しさん (ワッチョイ 55a3-imD6)
2019/04/21(日) 00:33:20.95ID:WKly27nG0 このメソッド設計したやつ頭悪そう
361デフォルトの名無しさん (アウアウエー Sada-4dYu)
2019/04/21(日) 01:10:32.26ID:8e51ow7Fa 直交性のかけらもない醜悪な仕様だね
362デフォルトの名無しさん (ワッチョイ 9273-YIQo)
2019/04/21(日) 01:22:08.98ID:ODZGWBWT0 直交性の権化とも言えるJavaのライブラリがいいかといえば、そうとも言えないわけで
バランスって大事だよね
バランスって大事だよね
363デフォルトの名無しさん (ワントンキン MM62-xY9A)
2019/04/21(日) 08:25:50.68ID:lCttlvu0M キャプチャとかグループ参照とかそのへんの問題だと聞いた
ブロック引数じゃないと先に評価されちゃう
ブロック引数じゃないと先に評価されちゃう
364デフォルトの名無しさん (ワンミングク MM62-xY9A)
2019/04/21(日) 12:41:01.28ID:37BYu4xvM ブロック使わないと正規表現による置換が全て表現できないとわかった時点で第2引数廃止するべきだったってのは、
まあその通りではあるにはあるのだけども
まあその通りではあるにはあるのだけども
365デフォルトの名無しさん (ワッチョイ b533-PkkG)
2019/04/21(日) 13:14:59.11ID:z90qN1ox0 んなこというのは、Ruby者だけやろ。
ふつうは、使い分けりゃいいんだよ。
まあ、他の言語にさんざケチをつけまくったわけだから、Rubyにもケチをつけんとな。
どうでもいい改善のために、後方互換を壊すのはクソ過ぎだが。
ふつうは、使い分けりゃいいんだよ。
まあ、他の言語にさんざケチをつけまくったわけだから、Rubyにもケチをつけんとな。
どうでもいい改善のために、後方互換を壊すのはクソ過ぎだが。
366デフォルトの名無しさん (ワッチョイ 092d-RDgi)
2019/04/24(水) 15:15:30.27ID:NuE3hWAT0 最近、Rubyで簡単に稼げたとうたって謎の講座を売りつけようとしてるやつがえっらい増えてんな
HTMLで稼げた系の方が遥かに多いものの、SNSにも動画サイトにもすげえ数あるわ
情報商材屋もアフィリエイトや仮想通貨ネタじゃ食ってけなくなってHTMLネタや延いてはRubyネタまで来たんだろか?
HTMLで稼げた系の方が遥かに多いものの、SNSにも動画サイトにもすげえ数あるわ
情報商材屋もアフィリエイトや仮想通貨ネタじゃ食ってけなくなってHTMLネタや延いてはRubyネタまで来たんだろか?
367デフォルトの名無しさん (ワイーワ2 FF1a-ZG7F)
2019/04/24(水) 15:53:51.84ID:KVKHKBwPF 補助金に群がる日本恒例のあれやろ
368デフォルトの名無しさん (アウアウウー Sa1b-ScLU)
2019/05/10(金) 13:07:53.40ID:+ugiu1c8a Cygwinでruby-test-unitを入れたら/usr/share/gems/にインストールされた。
bundle exec ruby hoge.rbとかするとtest-unitがないって言われる。
gem envするとGEM PATHSに/usr/share/gems/がはいってる。
bundle envするとGem Pathに/usr/share/gems/が入ってる。
bundle exec gem envするとGEM PATHに/usr/share/gems/が入ってない。
bundler使いつつ/usr/share/gems/にあるtest-unitを使うにはどうするのが一番スマート?
bundle exec ruby hoge.rbとかするとtest-unitがないって言われる。
gem envするとGEM PATHSに/usr/share/gems/がはいってる。
bundle envするとGem Pathに/usr/share/gems/が入ってる。
bundle exec gem envするとGEM PATHに/usr/share/gems/が入ってない。
bundler使いつつ/usr/share/gems/にあるtest-unitを使うにはどうするのが一番スマート?
369デフォルトの名無しさん (ワッチョイ 9f2c-NS0m)
2019/05/11(土) 08:15:27.14ID:bKjSBhWB0 Windows では、Ruby Installer のMSYS2 を使うのでは?
漏れは、MSYS2を入れてない(ポータブル版を使っている)から、
web socket などはコンパイルできないけど
64ビットOS で、Ruby 2.4/2.5 なら、
C:\Ruby24-x64
C:\Ruby25-x64
2.6 は、まだ使わず、1年は様子を見た方がよい
漏れは、MSYS2を入れてない(ポータブル版を使っている)から、
web socket などはコンパイルできないけど
64ビットOS で、Ruby 2.4/2.5 なら、
C:\Ruby24-x64
C:\Ruby25-x64
2.6 は、まだ使わず、1年は様子を見た方がよい
370デフォルトの名無しさん (ワッチョイ 375f-4N0r)
2019/05/11(土) 12:41:03.42ID:td9YBJ3L0 windows で ruby はマジでお薦めしない
四の五の言わず VM 入れろ
四の五の言わず VM 入れろ
371デフォルトの名無しさん (ワッチョイ 5714-y0Vo)
2019/05/11(土) 14:19:54.60ID:D877RybE0 WSLでいいよ。楽だし。
372デフォルトの名無しさん (ワッチョイ bf44-P6MH)
2019/05/11(土) 15:27:11.07ID:kOi/VI9x0 WSLは、2でかなり様変わりするようやな。。。
素人はまだしばらく様子を見てたほうがエエんちゃう?
素人はまだしばらく様子を見てたほうがエエんちゃう?
373デフォルトの名無しさん (ワッチョイ 5714-y0Vo)
2019/05/11(土) 18:03:57.12ID:D877RybE0 もうとっくに様子を見る次期は終わってるよ。
WSLは十分実用になる
WSLは十分実用になる
374デフォルトの名無しさん (ワッチョイ 9f9c-RjXH)
2019/05/11(土) 21:06:38.06ID:btpUiiWv0 windowsでそこまでやりたいか?
特にRubyを使うメリットゼロだろ
素直にlinux使えよって思う
特にRubyを使うメリットゼロだろ
素直にlinux使えよって思う
375デフォルトの名無しさん (ワッチョイ bf44-P6MH)
2019/05/11(土) 21:48:13.92ID:kOi/VI9x0 >>373
2は別物だと知ってるか?
2は別物だと知ってるか?
376デフォルトの名無しさん (ワッチョイ 9f01-W2Da)
2019/05/11(土) 22:12:16.55ID:JJsQ24Nt0 RubyってLinuxじゃなくね
377デフォルトの名無しさん (ワッチョイ 5714-y0Vo)
2019/05/11(土) 22:23:46.69ID:D877RybE0 >>375
WSLとWSL 2は共存可能
https://news.mynavi.jp/article/20190508-820096/
> MicrosoftはWSL 2は通常のアップデートの中で提供し、WSLとWSL 2の共存も可能だとしている。
WSL2はまだでてないし、様子見というのはわかる。
だがWSLは様子見の段階は終わってる。
WSL2は様子見してても、WSLを使わない理由はない
WSL2はWSLを改善するのが目的なので、様子見の段階は有るにしろ
最終的にはWSLよりも良いものになる
今はWSLを使えばよい。WSL2が実用レベルだとわかったら乗り換えれば良い
WSLとWSL 2は共存可能
https://news.mynavi.jp/article/20190508-820096/
> MicrosoftはWSL 2は通常のアップデートの中で提供し、WSLとWSL 2の共存も可能だとしている。
WSL2はまだでてないし、様子見というのはわかる。
だがWSLは様子見の段階は終わってる。
WSL2は様子見してても、WSLを使わない理由はない
WSL2はWSLを改善するのが目的なので、様子見の段階は有るにしろ
最終的にはWSLよりも良いものになる
今はWSLを使えばよい。WSL2が実用レベルだとわかったら乗り換えれば良い
378デフォルトの名無しさん (ワッチョイ bf44-P6MH)
2019/05/12(日) 12:44:36.55ID:SDh+fgbA0 素人は、状況が落ち着いてから乗っかればいいんだよ。
379369 (ワッチョイ 9f2c-NS0m)
2019/05/12(日) 13:38:51.73ID:dSbddX8d0 漏れは、Windows 10 で、Ruby 2.4 を、C:\Ruby24-x64 に入れてる
同時に、WSL, Ubuntu16.04 で、Ruby 2.3を入れてる。
Ubuntu18.04 なら、さらに、Ruby のバージョンも上がっているかも
ただし、1-liner を書く際、Linux では、これで動く。
ls | ruby -ne 'puts $_.center(20, "-")'
一方、Windows では、" でバグるから、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としないと正常に動かない
%, %Q で、ダブルクォーテーションをエスケープできる。
\"-\"
同時に、WSL, Ubuntu16.04 で、Ruby 2.3を入れてる。
Ubuntu18.04 なら、さらに、Ruby のバージョンも上がっているかも
ただし、1-liner を書く際、Linux では、これで動く。
ls | ruby -ne 'puts $_.center(20, "-")'
一方、Windows では、" でバグるから、
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
"-" の部分を、Ruby の% 記法で囲んで、%Q("-") としないと正常に動かない
%, %Q で、ダブルクォーテーションをエスケープできる。
\"-\"
380デフォルトの名無しさん (ワッチョイ 572d-vM1y)
2019/05/12(日) 14:48:42.32ID:eMjN+/Cm0381デフォルトの名無しさん (ワッチョイ 5714-y0Vo)
2019/05/12(日) 15:19:52.63ID:OoMn1CYl0382デフォルトの名無しさん (アウアウウー Sa1b-ScLU)
2019/05/12(日) 20:27:41.49ID:EJ9HeJOja >漏れは、Windows 10 で、Ruby 2.4 を、C:\Ruby24-x64 に入れてる
って言ってるやんけ
って言ってるやんけ
383369 (ワッチョイ 9f2c-NS0m)
2019/05/12(日) 21:19:22.35ID:dSbddX8d0 >>379
では、
これは、Windows 10, WSL, Ubuntu16.04 上でやった。
ls | ruby -ne 'puts $_.center(20, "-")'
一方、Windows 上のPowerShell(PS) では、" でバグるから、 %Q("-") が必要。
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
つまり、bash, PS など、シェルの種類によって、書き方を変えなければならない
まあ、ls, ls -name とか、他の部分も異なるけど
では、
これは、Windows 10, WSL, Ubuntu16.04 上でやった。
ls | ruby -ne 'puts $_.center(20, "-")'
一方、Windows 上のPowerShell(PS) では、" でバグるから、 %Q("-") が必要。
ls -name | ruby -ne 'puts $_.center(20, %Q("-"))'
つまり、bash, PS など、シェルの種類によって、書き方を変えなければならない
まあ、ls, ls -name とか、他の部分も異なるけど
384デフォルトの名無しさん (ワッチョイ b72d-vVMj)
2019/05/12(日) 21:20:07.98ID:9Y9I0g9l0 お前らずーーーーと同じ話してるな
385デフォルトの名無しさん (ワッチョイ bf44-P6MH)
2019/05/12(日) 21:35:50.19ID:SDh+fgbA0 >>383
全部%クォートで書けば解決!
全部%クォートで書けば解決!
386デフォルトの名無しさん (ワッチョイ 9f79-uX+c)
2019/05/13(月) 14:56:49.71ID:2i/QV07+0 だから、Windowsを使うのを止めれば、すべて解決だよ。
387デフォルトの名無しさん (ワッチョイ 5714-y0Vo)
2019/05/13(月) 15:12:47.42ID:biecMsFD0 WindowsでWSLを使ったら全部解決した。ワロタ
MSすごいな。
MSすごいな。
388デフォルトの名無しさん (ワッチョイ bf8c-ESYi)
2019/05/13(月) 21:18:12.41ID:D6B785Bh0 MSのLinuxへの貢献度は昔から高かった。
389デフォルトの名無しさん (アウアウエー Sadf-4N0r)
2019/05/13(月) 21:58:08.28ID:XgdYNs3Ba ruby が何か努力した訳ではないな
M$ が頑張ってくれただけ
M$ が頑張ってくれただけ
390デフォルトの名無しさん (ワッチョイ f0ba-N32O)
2019/05/20(月) 23:17:13.22ID:uii5Lp4R0 初心者すぎてすみませんがprogateのrubyを2回やり終えたんですが
次は何やるのがお勧めでしょう?
同じくprogateのruby on railsに進むべきか
たのしいrubyや3ステップで学ぶruby入門などの書籍を読むべきか
あるいは他に何かありますでしょうか?
次は何やるのがお勧めでしょう?
同じくprogateのruby on railsに進むべきか
たのしいrubyや3ステップで学ぶruby入門などの書籍を読むべきか
あるいは他に何かありますでしょうか?
391デフォルトの名無しさん (アウアウウー Sa83-gLDj)
2019/05/21(火) 00:23:24.65ID:Ks32/nFwa >>390
いいから何か作ってみなよ
いいから何か作ってみなよ
392デフォルトの名無しさん (ワッチョイ f82d-Q2B8)
2019/05/21(火) 02:18:15.20ID:NmxJjL0u0 >>390
俺と一緒にRubyMotionをやらないか
俺と一緒にRubyMotionをやらないか
393デフォルトの名無しさん (ワッチョイ 12a5-iukg)
2019/05/21(火) 09:41:17.03ID:2vqnZrlM0 >>392
やる!
やる!
394デフォルトの名無しさん (ワッチョイ ae2c-rckI)
2019/05/21(火) 12:37:52.02ID:ZAINLMmO0 この3冊を読む。
たのしいRuby 第6版、2019/3/19
Effective Ruby、2015
改訂2版 Ruby逆引きハンドブック、2018/8/28
「たのしいRuby」だけ読んでも、そこそこプログラミングできる!
Linux の基本コマンドを30ぐらい見て、
1-liner とか、パイプラインのフィルターでも作ってみれば?
他には、Enumerable の文書で、どういう機能があるか理解する
たのしいRuby 第6版、2019/3/19
Effective Ruby、2015
改訂2版 Ruby逆引きハンドブック、2018/8/28
「たのしいRuby」だけ読んでも、そこそこプログラミングできる!
Linux の基本コマンドを30ぐらい見て、
1-liner とか、パイプラインのフィルターでも作ってみれば?
他には、Enumerable の文書で、どういう機能があるか理解する
395デフォルトの名無しさん (オイコラミネオ MMbb-6rDM)
2019/05/29(水) 22:37:17.50ID:axNbAI7/M 例えばNet::HTTPみたいな::がある場合のautoloadってどう書けばいいの?
現時点ではautoload :Net,'net/http'みたいにしてるんだけど、
これだとNet::SMTPを参照しても読み込んじゃうよね
現時点ではautoload :Net,'net/http'みたいにしてるんだけど、
これだとNet::SMTPを参照しても読み込んじゃうよね
396デフォルトの名無しさん (ワッチョイ 2fa3-uJyD)
2019/05/31(金) 00:09:30.12ID:P50R/Vqw0 キーワードなのかKernel関数なのかさっぱりわからないんですが見分け方を教えてください
rubyの場合は動的直接拡張もあるのでパンクしてやばいです
rubyの場合は動的直接拡張もあるのでパンクしてやばいです
397デフォルトの名無しさん (ワッチョイ 6a73-2ZOZ)
2019/05/31(金) 07:25:34.79ID:sU0K1/9C0 >>396
予約語は公式リファレンスに書いてある
予約語は公式リファレンスに書いてある
398デフォルトの名無しさん (ワッチョイ 6a9c-gySn)
2019/05/31(金) 23:50:45.29ID:TSXZ3QWc0 >>396
IDE使えばいいんじゃね
IDE使えばいいんじゃね
399デフォルトの名無しさん (ワッチョイ cf2d-3Ed1)
2019/06/04(火) 08:33:21.09ID:oR7ssn0w0 初心者にも満たない学習者です
他人様のコードで申し訳ないんですが
(ttp://2d6.parasite.jp/rgss/script/restart.html)
class Scene_Title
(中略)
def read_save_data(file)
(中略)
characters = Marshal.load(file)
(中略)
Graphics.frame_count = Marshal.load(file)
(中略)
$game_variables = Marshal.load(file)
$game_self_switches = Marshal.load(file)
(中略)
end
end
これ、どう読んで解釈したら良いんでしょうか
Marshal.load()ってunserializeやってくれる関数ですよね
何回も"file"を読んで、同一の内容を、それぞれ違う変数・グローバル変数に入れてる?
それとも同一の内容じゃない?読むのは1回だけ?
OSやversionはすみませんわかりません
ツクール関係だとは思うのですが、ツクール関係独特のものなのかどうかもわからず
他人様のコードで申し訳ないんですが
(ttp://2d6.parasite.jp/rgss/script/restart.html)
class Scene_Title
(中略)
def read_save_data(file)
(中略)
characters = Marshal.load(file)
(中略)
Graphics.frame_count = Marshal.load(file)
(中略)
$game_variables = Marshal.load(file)
$game_self_switches = Marshal.load(file)
(中略)
end
end
これ、どう読んで解釈したら良いんでしょうか
Marshal.load()ってunserializeやってくれる関数ですよね
何回も"file"を読んで、同一の内容を、それぞれ違う変数・グローバル変数に入れてる?
それとも同一の内容じゃない?読むのは1回だけ?
OSやversionはすみませんわかりません
ツクール関係だとは思うのですが、ツクール関係独特のものなのかどうかもわからず
400デフォルトの名無しさん (ワッチョイ eaa5-K9GS)
2019/06/04(火) 11:25:24.98ID:FCkMXnZ60 シリアライズされてるなら同名の変数にキチっと入れてくれるんじゃないの
401デフォルトの名無しさん (ワイーワ2 FFa2-dkMk)
2019/06/04(火) 11:29:47.34ID:uvNmGZETF 最適化されてない自動生成のコードだろ
402デフォルトの名無しさん (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 12:20:57.18ID://1XsOfQ0 同じファイルを何回も読むのは、無駄
でも中略部分で、そのファイルに書き込んで、ファイルの内容を変えているなら、
再読み込みする意味があるけど
解説が付いていない、他人のソースコードを分析しない方がよい。
書いた人は、プログラムの仕様を知っているけど、
読む人は、仕様を知らないから、かなりの時間を損する
仕様(質問)からプログラム(答え)は書けるけど、
プログラム(答え)から仕様(質問)を把握するのは、極めて難しいから
つまり、なぜこういうプログラムになったのか、の「なぜ」を解明するのが極めて難しい
物理現象と同じ。
法則から現象は推測できるけど、現象から法則を導き出すのは、極めて難しい
>>396
VSCode でも、キーワードなどは色分けされる
でも中略部分で、そのファイルに書き込んで、ファイルの内容を変えているなら、
再読み込みする意味があるけど
解説が付いていない、他人のソースコードを分析しない方がよい。
書いた人は、プログラムの仕様を知っているけど、
読む人は、仕様を知らないから、かなりの時間を損する
仕様(質問)からプログラム(答え)は書けるけど、
プログラム(答え)から仕様(質問)を把握するのは、極めて難しいから
つまり、なぜこういうプログラムになったのか、の「なぜ」を解明するのが極めて難しい
物理現象と同じ。
法則から現象は推測できるけど、現象から法則を導き出すのは、極めて難しい
>>396
VSCode でも、キーワードなどは色分けされる
403デフォルトの名無しさん (ワッチョイ cf2d-3Ed1)
2019/06/04(火) 12:49:27.49ID:oR7ssn0w0 ありがとうございます
特に中略部分でfile側が変化しているということはないようです
つまり、暗黙的に何か、Marshal.load()が左辺の変数名に拘束されるとか
Marshal.load()のfileオブジェクトからの読み取りがスタック的になってるとか
そういうのは無くて、普通に読んでいって大丈夫ということなんですね
>>402
おっしゃることもわかるんですけど
自分は作法が全然わからない時は特に、リファレンス見つつ他人のコードを見つつ勉強が効率良くて
特に中略部分でfile側が変化しているということはないようです
つまり、暗黙的に何か、Marshal.load()が左辺の変数名に拘束されるとか
Marshal.load()のfileオブジェクトからの読み取りがスタック的になってるとか
そういうのは無くて、普通に読んでいって大丈夫ということなんですね
>>402
おっしゃることもわかるんですけど
自分は作法が全然わからない時は特に、リファレンス見つつ他人のコードを見つつ勉強が効率良くて
404402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 17:36:22.57ID://1XsOfQ0 他人のクソコードを分析しても、時間の無駄。
普遍的な知識を得られない。
他人の仕様を推測するだけ
この3冊を読んで、プログラミングのお題スレの問題を解いた方が、力がつく。
Sinatra, Rails をやっても良いし
こういう勉強が普遍的で、他言語にも応用できるし、自分で考えるから成長できる
他人のソースコードを持ってきて、これはどんな事をやってるのですか? って質問する者が多いけど、
他人は仕様を知ってるけど、質問者は仕様を知らないから、極めて不利
一方、プログラミングのお題スレでは、仕様が与えられているだろ。
こういう場合には、他人のコードを見ても、意味がわかる。
だから勉強になる!
プログラミングとは、仕様からプログラムを作るもので、
プログラムから仕様を解明するものじゃないので、時間を失うだけ!
特に初心者にとっては、良い本などで、体系的に浅く学ぶのを勧める
推薦書
たのしいRuby 第6版、2019/3/19
改訂2版 Ruby逆引きハンドブック、2018/8/28
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、間違いやすいポイントを解説
普遍的な知識を得られない。
他人の仕様を推測するだけ
この3冊を読んで、プログラミングのお題スレの問題を解いた方が、力がつく。
Sinatra, Rails をやっても良いし
こういう勉強が普遍的で、他言語にも応用できるし、自分で考えるから成長できる
他人のソースコードを持ってきて、これはどんな事をやってるのですか? って質問する者が多いけど、
他人は仕様を知ってるけど、質問者は仕様を知らないから、極めて不利
一方、プログラミングのお題スレでは、仕様が与えられているだろ。
こういう場合には、他人のコードを見ても、意味がわかる。
だから勉強になる!
プログラミングとは、仕様からプログラムを作るもので、
プログラムから仕様を解明するものじゃないので、時間を失うだけ!
特に初心者にとっては、良い本などで、体系的に浅く学ぶのを勧める
推薦書
たのしいRuby 第6版、2019/3/19
改訂2版 Ruby逆引きハンドブック、2018/8/28
Effective Ruby、2015
バグが起きにくい、安全で効率的なコーディングと、間違いやすいポイントを解説
405デフォルトの名無しさん (ワッチョイ be14-hDDM)
2019/06/04(火) 17:40:50.53ID:8o3tMmIE0 宣伝費、いくら貰えるんだろう?
406デフォルトの名無しさん (ドコグロ MM22-3QJd)
2019/06/04(火) 18:16:47.29ID:aXH0FNpKM いつものキチガイを相手にするつもりはないけど、質問者が誤解しないようにコメント
仕事のプログラミングだと基本的にソース眺めてる時間のほうが長いよ
ましてRubyも今や落ち目で便所掃除の仕事ばかり増え、全く新しいものを作る機会は減る一方だ
仕事のプログラミングだと基本的にソース眺めてる時間のほうが長いよ
ましてRubyも今や落ち目で便所掃除の仕事ばかり増え、全く新しいものを作る機会は減る一方だ
407デフォルトの名無しさん (ワッチョイ 6a7d-o58o)
2019/06/04(火) 19:17:17.46ID:LGhp/e100408デフォルトの名無しさん (オイコラミネオ MM9b-jO9a)
2019/06/04(火) 20:11:05.76ID:P882eZbVM >>403
参考にするのなら、別のソースにしたほうがエエんちゃう?
参考にするのなら、別のソースにしたほうがエエんちゃう?
409デフォルトの名無しさん (ワッチョイ cf2d-3Ed1)
2019/06/04(火) 20:28:11.60ID:oR7ssn0w0410デフォルトの名無しさん (アウアウウー Sa1f-gkx+)
2019/06/04(火) 21:00:20.80ID:7lg/KHrxa411402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 21:35:03.46ID://1XsOfQ0 だから、他人のクソコードを見ても、時間を損しただけだろ。
得るものなんてない
「Marshal.load」で検索すれば良いだけだから
こういうAPI の知識は、文書を見れば良いだけ。
他人がどう使っているか、考えたりするものじゃない
考えるのは、仕様からプログラムに翻訳する所。
こういう単なる知識は、検索するのが早い
それに、その他人が間違ってるかも知れない。
クソコードになるほど考えさせられて、時間を無駄使いさせられるw
だから、良い本を勧めるわけ。
良いコードはシンプルで、そのまま英語のように読める!
他人のコードから、仕様を推測するなんて、漏れはやらない。
出来たとしても所詮、推測だし、得るものはない
漏れも仕事で、多言語で、仕様書がないコードを解析してきたけど、得るものはほとんどない。
せいぜい、重箱の隅をつつくような知識ぐらいしか得られない。
その知識も他で役に立たない。転用できない
なぜかと言うと、その仕様は他人に与えられたものだから。
自分には、それとは異なる仕様が与えられるから!
普遍的な、多くの言語でも使えるような知識は、良い本から得られることが多い。
それを元に、プログラミングのお題スレの問題を解いた方が、力がつく!
得るものなんてない
「Marshal.load」で検索すれば良いだけだから
こういうAPI の知識は、文書を見れば良いだけ。
他人がどう使っているか、考えたりするものじゃない
考えるのは、仕様からプログラムに翻訳する所。
こういう単なる知識は、検索するのが早い
それに、その他人が間違ってるかも知れない。
クソコードになるほど考えさせられて、時間を無駄使いさせられるw
だから、良い本を勧めるわけ。
良いコードはシンプルで、そのまま英語のように読める!
他人のコードから、仕様を推測するなんて、漏れはやらない。
出来たとしても所詮、推測だし、得るものはない
漏れも仕事で、多言語で、仕様書がないコードを解析してきたけど、得るものはほとんどない。
せいぜい、重箱の隅をつつくような知識ぐらいしか得られない。
その知識も他で役に立たない。転用できない
なぜかと言うと、その仕様は他人に与えられたものだから。
自分には、それとは異なる仕様が与えられるから!
普遍的な、多くの言語でも使えるような知識は、良い本から得られることが多い。
それを元に、プログラミングのお題スレの問題を解いた方が、力がつく!
412デフォルトの名無しさん (アウアウカー Sa7b-gySn)
2019/06/04(火) 21:39:18.98ID:jFAGFsyFa そのMarshalのコードはかなり無駄だがファイルの内容が小さいから富豪的にやってるだけだと思う
実際はちゃんとセーブデータから該当するデータを読むという処理にすべき
実際はちゃんとセーブデータから該当するデータを読むという処理にすべき
413402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 21:59:55.03ID://1XsOfQ0 それに何回も同じファイルへの読み込むのは、
他のプロセスで、そのファイルを書き換えているからかも知れない
だから、ひょっとして書き変わっているかも知れないから、
出来るだけ新しいファイルを、読み込もうとしているのかも知れない
結局こういうように、仕様に対する推測ばかりするようになる
バグのほとんどは設計段階で生じる。
仕様がおかしかったら、必ずクソコードになってしまうw
これはもはや、プログラミングではない!
このように漏れらはいつも、設計・仕様の話ばかりしている。
顧客の要求定義も知らないのにさ!ww
漏れは、こういう仕事をさんざんやってきた。
その度に同僚同士で、クソコードを分析しても得られるものはないし、
時間の浪費だよねって、常々言い合ってきたw
お金をもらえるからやってるだけで、勉強にはならない。
勉強効率で言えば、1/100 とか
重箱の隅をつつくような断片的な知識は、覚えられられないし転用できない。
体系的に学ぶ必要がある
他のプロセスで、そのファイルを書き換えているからかも知れない
だから、ひょっとして書き変わっているかも知れないから、
出来るだけ新しいファイルを、読み込もうとしているのかも知れない
結局こういうように、仕様に対する推測ばかりするようになる
バグのほとんどは設計段階で生じる。
仕様がおかしかったら、必ずクソコードになってしまうw
これはもはや、プログラミングではない!
このように漏れらはいつも、設計・仕様の話ばかりしている。
顧客の要求定義も知らないのにさ!ww
漏れは、こういう仕事をさんざんやってきた。
その度に同僚同士で、クソコードを分析しても得られるものはないし、
時間の浪費だよねって、常々言い合ってきたw
お金をもらえるからやってるだけで、勉強にはならない。
勉強効率で言えば、1/100 とか
重箱の隅をつつくような断片的な知識は、覚えられられないし転用できない。
体系的に学ぶ必要がある
414デフォルトの名無しさん (ワッチョイ 5b84-2pxk)
2019/06/04(火) 22:59:30.82ID:0PWK+f1w0 fileに複数のオブジェクトがdumpされてて
それを順番にloadしてるだけだぞ
それを順番にloadしてるだけだぞ
415402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 23:41:11.09ID://1XsOfQ0 Marshal.load(port, proc = nil) -> object
port は、String か IO と書いてある
同じファイルを何回も読み込んでいるのではなく、
複数のオブジェクトがある場合、
一度にすべてを読み込まず、1つずつ順番に読み込んでるという事かな?
結局こういうように、どう作っているのか、他人の仕様の推測ばかりするようになる
このように漏れらはいつも、設計・仕様の話ばかりしている。
顧客の要求定義も知らないのにさ!ww
結局、他人がどう作っているのかなんて、わからない!
所詮どこまで行っても、推測に過ぎない!
port は、String か IO と書いてある
同じファイルを何回も読み込んでいるのではなく、
複数のオブジェクトがある場合、
一度にすべてを読み込まず、1つずつ順番に読み込んでるという事かな?
結局こういうように、どう作っているのか、他人の仕様の推測ばかりするようになる
このように漏れらはいつも、設計・仕様の話ばかりしている。
顧客の要求定義も知らないのにさ!ww
結局、他人がどう作っているのかなんて、わからない!
所詮どこまで行っても、推測に過ぎない!
416デフォルトの名無しさん (ワッチョイ 5b84-2pxk)
2019/06/05(水) 01:28:30.54ID:UB83J14X0 仕様は>>399が(中略)したところに書いてあったぞ
417デフォルトの名無しさん (ワッチョイ 6a9c-gySn)
2019/06/05(水) 01:30:04.71ID:Oo3xyqZm0 全部コピペしてくれ
気になって寝られない
気になって寝られない
418デフォルトの名無しさん (ワッチョイ 8a52-gkx+)
2019/06/05(水) 02:34:30.81ID:UjRB/6p50419402 (ワッチョイ 6a2c-n0I8)
2019/06/05(水) 22:44:36.03ID:9aT8oaGi0 Marshal.load(port, proc = nil) -> object
port は、String か IO と書いてあって、仕様を知らないと、どちらかわからないから!
漏れの印象では、Marshal は、dup, clone などのdeep copy 関係のクラス
質問者のは、文字列化して外部プロセスに送ったり、
外部プロセスから文字列をもらって、オブジェクトを構築したりする用法かな?
JSON.parse, stringify みたいな感じなのかな?
「Ruby逆引きハンドブック」では、分散(distributed)Ruby, dRuby を使ってる。
外部ホスト・プロセスで動く、Rubyとの通信
dRubyでは、Marshalによる値渡しが基本みたい
port は、String か IO と書いてあって、仕様を知らないと、どちらかわからないから!
漏れの印象では、Marshal は、dup, clone などのdeep copy 関係のクラス
質問者のは、文字列化して外部プロセスに送ったり、
外部プロセスから文字列をもらって、オブジェクトを構築したりする用法かな?
JSON.parse, stringify みたいな感じなのかな?
「Ruby逆引きハンドブック」では、分散(distributed)Ruby, dRuby を使ってる。
外部ホスト・プロセスで動く、Rubyとの通信
dRubyでは、Marshalによる値渡しが基本みたい
420デフォルトの名無しさん (ワッチョイ 0f5f-rJ7W)
2019/06/06(木) 12:10:33.65ID:UkK5klaO0 知らん人多いのか・・・びっくりだ
STDIN.getsなんかと同じで必要な文だけ読み取ってるだけだぞ
STDIN.getsなんかと同じで必要な文だけ読み取ってるだけだぞ
421デフォルトの名無しさん (アウアウカー Sad3-N69s)
2019/06/06(木) 14:41:45.27ID:fpHkuk9sa Marshalとか今時使うもんじゃない
422デフォルトの名無しさん (ワッチョイ 1784-zjL7)
2019/06/07(金) 01:21:32.05ID:UE5bXA580 今時は何使うん?
423デフォルトの名無しさん (アウアウエー Sa93-dZrz)
2019/06/07(金) 01:23:56.05ID:yhNlt0n8a Rubyとか今時使うもんじゃない
424デフォルトの名無しさん (ワッチョイ 1784-zjL7)
2019/06/07(金) 01:42:47.01ID:UE5bXA580 Marshalでファイルに複数のオブジェクトを読み書きできるのか
てっきり1個のオブジェクトに固めてから使うのかと思った
リファレンスマニュアルにはそのあたり書いてないからね
てっきり1個のオブジェクトに固めてから使うのかと思った
リファレンスマニュアルにはそのあたり書いてないからね
425デフォルトの名無しさん (スップ Sdcf-yQWj)
2019/06/07(金) 10:49:24.42ID:Eixypjmyd CSV出力処理でメモリが上がってしまうことが多く、対策しようとしているのですが良い方法はありますか?
少し調べて、pluckメソッドを使おうと思ったのですが、ソート順が想定通りにならなかったりしそうだったので、引き続き調べてみています。
少し調べて、pluckメソッドを使おうと思ったのですが、ソート順が想定通りにならなかったりしそうだったので、引き続き調べてみています。
426デフォルトの名無しさん (ワッチョイ b314-FAmt)
2019/06/07(金) 11:24:15.29ID:3EE3ZH/10 出力するのにソート関係ないし
質問自体が初心者だなぁ(笑)
質問自体が初心者だなぁ(笑)
427デフォルトの名無しさん (ワッチョイ 6b2c-MqbY)
2019/06/07(金) 22:37:13.77ID:wtNNzOUb0 CSV.foreach で、ファイルを1行ずつ処理できる
このメソッドは、たぶん1行ずつ読み込んでは、
そのデータを捨ててと言うのを繰り返すのかな?
でも、ソートするなら、すべてのデータがメモリ内に存在しないといけないのでは?
だから、全行をメモリ内に読み込むことになる!
このメソッドは、たぶん1行ずつ読み込んでは、
そのデータを捨ててと言うのを繰り返すのかな?
でも、ソートするなら、すべてのデータがメモリ内に存在しないといけないのでは?
だから、全行をメモリ内に読み込むことになる!
428デフォルトの名無しさん (ワッチョイ 6b2c-MqbY)
2019/06/08(土) 00:20:08.05ID:0P3wY/7I0 Python では、collections.Counter で、要素の出現回数を数えられるけど、
Ruby でも、簡単にできる方法ある?
普通には、Hash に入れながら、回数をインクリメントしていくけど
import collections
l = [ 'a', 'b', 'c', 'b', 'a' ]
c = collections.Counter( l )
print( c )
# Counter( { 'a': 2, 'b': 2, 'c': 1 } )
Ruby でも、簡単にできる方法ある?
普通には、Hash に入れながら、回数をインクリメントしていくけど
import collections
l = [ 'a', 'b', 'c', 'b', 'a' ]
c = collections.Counter( l )
print( c )
# Counter( { 'a': 2, 'b': 2, 'c': 1 } )
429428 (ワッチョイ 6b2c-MqbY)
2019/06/08(土) 02:34:37.85ID:0P3wY/7I0 >>428
自己レス
配列に含まれている重複している数を数えるには?
https://teratail.com/questions/91229
l.each_with_object( Hash.new( 0 ) ){ |e, h| h[ e ] += 1 }
Python の、こういうのは無さそう。
c = collections.Counter( l )
自己レス
配列に含まれている重複している数を数えるには?
https://teratail.com/questions/91229
l.each_with_object( Hash.new( 0 ) ){ |e, h| h[ e ] += 1 }
Python の、こういうのは無さそう。
c = collections.Counter( l )
430デフォルトの名無しさん (ワッチョイ 1784-zjL7)
2019/06/08(土) 03:19:18.26ID:s7niJl7f0 ["a", "b", "c", "b"].tally
#=> {"a"=>1, "b"=>2, "c"=>1}
#=> {"a"=>1, "b"=>2, "c"=>1}
431デフォルトの名無しさん (ワッチョイ 8992-GC2g)
2019/06/08(土) 03:54:40.62ID:Vf2EEML20 >>425
csvを全部読み込んで処理しようとするとそうなるのは避けられない、何らかの工夫をするしかない
一行、数行ずつ処理し、終わるごとに配列、hashをクリアしていけばいいが、出来ない場合ね
csvを二回読み、一回目で必要なキーや情報だけ集めて一度csvをclose、
2回目にその情報を使って一行ずつ処理するなど
csvを全部読み込んで処理しようとするとそうなるのは避けられない、何らかの工夫をするしかない
一行、数行ずつ処理し、終わるごとに配列、hashをクリアしていけばいいが、出来ない場合ね
csvを二回読み、一回目で必要なキーや情報だけ集めて一度csvをclose、
2回目にその情報を使って一行ずつ処理するなど
432デフォルトの名無しさん (ワッチョイ e39c-N69s)
2019/06/08(土) 05:57:15.56ID:2hi7btAr0 >>425
MapReduceみたいに複数のマシンに分散させるとか
MapReduceみたいに複数のマシンに分散させるとか
433デフォルトの名無しさん (ワッチョイ 6b2c-MqbY)
2019/06/09(日) 05:48:42.16ID:rn4C+nSw0 [[1, 2], [3, 4]] の外側の[ ] を外すには、どうすれば良いですか?
[1, 2], [3, 4] のようにしたい
flatten では、内側の[ ]が無くなる
ary = [[1, 2], [3, 4]]
p ary.flatten( 1 )
#=> [1, 2, 3, 4]
[1, 2], [3, 4] のようにしたい
flatten では、内側の[ ]が無くなる
ary = [[1, 2], [3, 4]]
p ary.flatten( 1 )
#=> [1, 2, 3, 4]
434デフォルトの名無しさん (ドコグロ MMdf-2DaB)
2019/06/09(日) 05:57:04.68ID:Zvq68IITM >>433
あちこちでアホみたいなレスしてRubyの評判を落とすのをやめたら教えてあげるよ
あちこちでアホみたいなレスしてRubyの評判を落とすのをやめたら教えてあげるよ
435デフォルトの名無しさん (ワッチョイ 3f73-to8s)
2019/06/09(日) 13:07:01.08ID:owsNLjD/0 >>433
ary[0] or ary.first
ary[0] or ary.first
436デフォルトの名無しさん (ワッチョイ 3b44-gPgm)
2019/06/09(日) 13:42:07.09ID:Y6d7d5Fn0 >>433
意味がわからん。
意味がわからん。
437デフォルトの名無しさん (ワッチョイ eb7c-yvwO)
2019/06/09(日) 14:03:11.38ID:V8qyq4Ge0 *[[1, 2], [3, 4]]
438デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 14:33:40.10ID:FDYkpc7vd オススメな本ある?
>>438
アマゾン/dp/B00ICKLC2A
アマゾン/dp/B00ICKLC2A
440デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 20:52:05.62ID:FDYkpc7vd >>440
そうです、結構おもしろかったですよ
そうです、結構おもしろかったですよ
442デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 21:45:31.88ID:FDYkpc7vd >>441
Kindleバージョンしかないの?
Kindleバージョンしかないの?
>>442
書籍で出ていましたよ、私が持っているのは書籍の方
書籍で出ていましたよ、私が持っているのは書籍の方
444デフォルトの名無しさん (ワッチョイ ebb6-fbqF)
2019/06/09(日) 21:55:27.58ID:W83DJxDE0 【実体験】ブログを1,000記事ほど書いたら、月300万くらい稼げた話
https://www.youtube.com/watch?v=GmVulh282ps&t=604s
【報告】ブログで「月収1,000万」を達成できました【方法を解説する】
https://www.youtube.com/watch?v=pgjcuLp8wt0
年間ほど努力したら「年収3,000万」になったので、経験談を語る
https://www.youtube.com/watch?v=oV_SY-a1lMs
期間工ブログの収入は1500万円でした。【フリーランスの現実&底辺からの復活編】
https://www.youtube.com/watch?v=aijLjFLOuC4
年商1300万のプロブロガーの初心者時代から今までの軌跡
https://www.youtube.com/watch?v=UMiF4T2EO9o
【収益報告】実働月10hでも大金稼ぐ方法を解説【年収6,000万】
https://www.youtube.com/watch?v=o2ISWP-VZsw&t=288s
無料ブログは稼げない。稼ぐならオススメはWordPress一択の理由
https://www.youtube.com/watch?v=o8oUe3JS-lg
https://www.youtube.com/watch?v=GmVulh282ps&t=604s
【報告】ブログで「月収1,000万」を達成できました【方法を解説する】
https://www.youtube.com/watch?v=pgjcuLp8wt0
年間ほど努力したら「年収3,000万」になったので、経験談を語る
https://www.youtube.com/watch?v=oV_SY-a1lMs
期間工ブログの収入は1500万円でした。【フリーランスの現実&底辺からの復活編】
https://www.youtube.com/watch?v=aijLjFLOuC4
年商1300万のプロブロガーの初心者時代から今までの軌跡
https://www.youtube.com/watch?v=UMiF4T2EO9o
【収益報告】実働月10hでも大金稼ぐ方法を解説【年収6,000万】
https://www.youtube.com/watch?v=o2ISWP-VZsw&t=288s
無料ブログは稼げない。稼ぐならオススメはWordPress一択の理由
https://www.youtube.com/watch?v=o8oUe3JS-lg
445デフォルトの名無しさん (ワッチョイ 115f-Gzfa)
2019/06/09(日) 22:06:11.67ID:+p5uJAry0 >>443
2008年発売の書籍!
2008年発売の書籍!
446デフォルトの名無しさん (ワッチョイ 6b2c-MqbY)
2019/06/09(日) 22:58:24.18ID:rn4C+nSw0 おすすめ本は、このスレの最初の方に、まとめてある!
447デフォルトの名無しさん (ワッチョイ 115f-to8s)
2019/06/09(日) 23:32:37.79ID:+p5uJAry0 おお!ありがと!
448デフォルトの名無しさん (ワッチョイ 5b33-2qry)
2019/06/13(木) 15:09:32.77ID:mYw2PK9v0 標準ライブラリに仮想環境を構築するモジュールがあれば教えてください
449デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/14(金) 00:20:43.41ID:gXbRy3uY0 まさか、標準ライブラリには無いだろ
Chef, Vagrant とかだろ
Chef, Vagrant とかだろ
450デフォルトの名無しさん (ワッチョイ 8a2d-vI2o)
2019/06/14(金) 11:13:41.68ID:d7JGEW920 物議を醸すパイプライン演算子
451デフォルトの名無しさん (ワッチョイ a314-9ye8)
2019/06/14(金) 12:11:55.47ID:/GXcsjP70 sh「パイプライン演算子とはようやくシェルスクリプトに追いついてきたか?」
452デフォルトの名無しさん (ワッチョイ 5b33-2qry)
2019/06/14(金) 17:43:29.05ID:2ICDzfK10 >>449
Pythonのvenvみたいなのはないんですか?
Pythonのvenvみたいなのはないんですか?
453449 (ワッチョイ 9a2c-oZrO)
2019/06/14(金) 21:43:43.43ID:gXbRy3uY0 rbenv, nodenv などのanyenv だろ。
ただし、anyenv は、シェルスクリプトで書かれているらしいから、Linux/Mac でしか使えない
Windows では、仮想OS を使うか、
Windows10・WSL 上のLinux で動かしている、記事もある
Windows の場合、ユーザー環境変数PATH を手動で切り替える方法もある。
PowerShell(PS) で、そういうスクリプトを書くとか
ruby.exe のある場所。
C:\Ruby24-x64\bin
C:\Ruby25-x64\bin
PS で、環境変数PATHは、; で区切り。
$env:Path.split(";")
#=> C:\Ruby24-x64\bin
ただし、anyenv は、シェルスクリプトで書かれているらしいから、Linux/Mac でしか使えない
Windows では、仮想OS を使うか、
Windows10・WSL 上のLinux で動かしている、記事もある
Windows の場合、ユーザー環境変数PATH を手動で切り替える方法もある。
PowerShell(PS) で、そういうスクリプトを書くとか
ruby.exe のある場所。
C:\Ruby24-x64\bin
C:\Ruby25-x64\bin
PS で、環境変数PATHは、; で区切り。
$env:Path.split(";")
#=> C:\Ruby24-x64\bin
454デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/14(金) 21:51:30.95ID:gXbRy3uY0 |> は、関数型言語、Elixir のパイプ演算子
メソッドチェーンを発展させて、オブジェクト指向から、関数型へ近づく。
マルチコアCPU の時代への適用
メソッドチェーンを発展させて、オブジェクト指向から、関数型へ近づく。
マルチコアCPU の時代への適用
455デフォルトの名無しさん (ワッチョイ 9a9c-7/3C)
2019/06/14(金) 22:31:52.50ID:Guh3Kqz10 パイプ演算子ってドットのエイリアスなの
それパイプ演算子じゃない
それパイプ演算子じゃない
456デフォルトの名無しさん (アウアウウー Sac7-FH5+)
2019/06/14(金) 22:59:33.98ID:cwcbHRc8a Rubyは第一級関数じゃないからパイプ演算子とは極めて相性が悪い
Rubyで a |> b と書いたら、(このRubyキチガイを除く)まともな頭で普通に類推したら b()(a()) の意味になっちゃうからね
括弧省略が鬼門
Rubyで a |> b と書いたら、(このRubyキチガイを除く)まともな頭で普通に類推したら b()(a()) の意味になっちゃうからね
括弧省略が鬼門
457デフォルトの名無しさん (ワッチョイ 9a9c-7/3C)
2019/06/15(土) 00:21:14.51ID:ZZVwfMZi0 こういうの見ると型は必要だよなあと感じる
458デフォルトの名無しさん (ワッチョイ 0384-/+Rn)
2019/06/15(土) 02:09:14.95ID:aR6/lbk80 ふうむ
では b <| a ならどうだろう
では b <| a ならどうだろう
459デフォルトの名無しさん (ワッチョイ a314-9ye8)
2019/06/15(土) 08:12:23.99ID:ZCtqwPNW0 >>453
やっぱりWindows版のruby.exeを使うのはやめたほうが良いっすね
やっぱりWindows版のruby.exeを使うのはやめたほうが良いっすね
460デフォルトの名無しさん (ワッチョイ 7f4e-ulgk)
2019/06/15(土) 18:03:41.92ID:VjZxllkS0 カッコ省略の問題がなんで型の問題になるんだ?別の問題だろう。
461デフォルトの名無しさん (ワッチョイ 9a73-2qry)
2019/06/15(土) 23:03:19.36ID:suvV29vR0 >>456
Rubyは第一級関数言語やで
Rubyはカッコを省略してメソッドを呼び出せるので関数オブジェクトの取り出し方がめんどくさいのは事実だけどね
だからかどうか知らんけど、Symbol#to_proc みたいなのもあるけど
まぁ、メソッドチェーンでできるんだから、パイプ演算子は要らんかなとは思う
Rubyは第一級関数言語やで
Rubyはカッコを省略してメソッドを呼び出せるので関数オブジェクトの取り出し方がめんどくさいのは事実だけどね
だからかどうか知らんけど、Symbol#to_proc みたいなのもあるけど
まぁ、メソッドチェーンでできるんだから、パイプ演算子は要らんかなとは思う
462449 (ワッチョイ 9a2c-oZrO)
2019/06/15(土) 23:26:17.73ID:VnSVMhRs0 >>459
Windows10・WSL・Linux で、使っている人もいるみたい
普通に、Ruby Installer で、Windows に入れると、irb の日本語表示でバグる。
外人は、sjis を知らないから
漏れは、irb を使うために、WSL の方にも、Ruby を入れてるけど、
Windows で、VSCode で十分
ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定してる。
これを設定すると、irb が起動しなくなる!
Windows 版では、バグがあるかも知れないので、
Ruby の最新版を使わず、2.4, 2.5 を使う方がよい
>>461
Ruby は、第一級関数ではない。
処理をオブジェクトにするとややこしいから、第一級関数にしない方がよい
Windows10・WSL・Linux で、使っている人もいるみたい
普通に、Ruby Installer で、Windows に入れると、irb の日本語表示でバグる。
外人は、sjis を知らないから
漏れは、irb を使うために、WSL の方にも、Ruby を入れてるけど、
Windows で、VSCode で十分
ユーザー環境変数、RUBYOPT に、--encoding=UTF-8 を設定してる。
これを設定すると、irb が起動しなくなる!
Windows 版では、バグがあるかも知れないので、
Ruby の最新版を使わず、2.4, 2.5 を使う方がよい
>>461
Ruby は、第一級関数ではない。
処理をオブジェクトにするとややこしいから、第一級関数にしない方がよい
463デフォルトの名無しさん (ワッチョイ df14-9ye8)
2019/06/15(土) 23:47:22.68ID:mKDC3u9y0 > Windows 版では、バグがあるかも知れないので、
Windows 版使わないほうがいいっすね〜
Windows 版使わないほうがいいっすね〜
464デフォルトの名無しさん (ワッチョイ 3e7c-jEB4)
2019/06/16(日) 11:55:03.74ID:NdAq/MEw0 windows なら素直に python 使え
無理して ruby 使ってもロクなことにならない
無理して ruby 使ってもロクなことにならない
465デフォルトの名無しさん (ドコグロ MM92-FH5+)
2019/06/16(日) 12:01:22.73ID:0yrhG5qHM 長く使うものを作るならGoも良い選択
Windowsで問題なく動く
JavaやPythonもそうだけど、最終的にはWindowsでの開発と相性のいいものが選ばれるんだよ
Windowsで問題なく動く
JavaやPythonもそうだけど、最終的にはWindowsでの開発と相性のいいものが選ばれるんだよ
466デフォルトの名無しさん (ワッチョイ 1a79-yo4S)
2019/06/16(日) 13:03:24.87ID:cl8tkhE+0 Windowsを捨てるのが一番良い。
467デフォルトの名無しさん (ワッチョイ 275f-2P3G)
2019/06/16(日) 17:50:50.68ID:ALGkmXda0 windowsでbatやpowerscript代わりにRuby使ってる
それ以上のモノをwindowsで作りたいならおとなしくC#使うべき
それ以上のモノをwindowsで作りたいならおとなしくC#使うべき
468デフォルトの名無しさん (ワッチョイ 9a01-nQaC)
2019/06/16(日) 21:33:59.28ID:keFwsV830 Windowsでちょっとしたスクリプトを書くなら、AutoHotkeyがお手軽かつ強力だな。
469デフォルトの名無しさん (ワッチョイ 1a79-yo4S)
2019/06/17(月) 00:16:36.52ID:aG6Vt+AG0 >>468
Hot Soup Processer もw
Hot Soup Processer もw
470デフォルトの名無しさん (ワッチョイ 1ab0-bbbA)
2019/06/18(火) 06:18:25.72ID:3nOE2mBA0 プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
https://mevius.5ch.net/test/read.cgi/tech/1559872586/
142 名前:a4 ◆700L1Efzuv 投稿日:2019/06/18(火) 05:29:55 ID://qVkzO
>>141
名古屋の人な 俺ね、君の問題を大橋先生と混ぜないことにする。つまりね、
片桐孝洋のことをボコろうと思う。普通に顎の骨を折る。これくらいで警察来るか?
一般市民とかさ、普通にさ、俺らの秘密なんだけどさ、日本人なんて復活ねーから。
471デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/18(火) 22:50:32.33ID:PmBejiWq0 雑誌、WEB+DB PRESS Vol.110 (2019/4/25) では、
RubyVM を作った、Cookpad の笹田耕一による、Ruby 実装系の新連載が始まった!
RubyVM を作った、Cookpad の笹田耕一による、Ruby 実装系の新連載が始まった!
472デフォルトの名無しさん (ワッチョイ 93a5-mDEe)
2019/06/21(金) 15:19:36.87ID:LkxS+Sdt0 Sorbetの型注釈の書き方最悪だな
matzの言うことなんか無視して、ドキュメントを含めた統一的な型注釈の書き方を決めるべきだったのに
matzの言うことなんか無視して、ドキュメントを含めた統一的な型注釈の書き方を決めるべきだったのに
473デフォルトの名無しさん (ワッチョイ 93a5-BUGM)
2019/06/22(土) 11:20:25.22ID:xaZv7O+80 で
お前さんの考える最高の書き方は具体的にどういうモンなの
お前さんの考える最高の書き方は具体的にどういうモンなの
>>471
買いました!
買いました!
475デフォルトの名無しさん (ワッチョイ c195-eGkX)
2019/06/23(日) 19:01:19.76ID:WHM6Ibwm0 日本語のような全角を2
英語のようなのを1
で計算する
printf を使えますか?
perl などでは日本語と英語がまざると
端末に出力するときの整形を printf と %s にまかせられません ずれます
この言語 ruby は日本人が作ったので
なにか日本語まじりの英語も整形する手段、ライブラリがあるかもしれない
そう思って訪ねに来ました
ruby には
日本語も整形できる手段ありますか?
スマートなprintfの類ありますか?
英語のようなのを1
で計算する
printf を使えますか?
perl などでは日本語と英語がまざると
端末に出力するときの整形を printf と %s にまかせられません ずれます
この言語 ruby は日本人が作ったので
なにか日本語まじりの英語も整形する手段、ライブラリがあるかもしれない
そう思って訪ねに来ました
ruby には
日本語も整形できる手段ありますか?
スマートなprintfの類ありますか?
476デフォルトの名無しさん (ワッチョイ 9301-EDe2)
2019/06/23(日) 19:10:36.01ID:xc930vdW0 ソースをUTF-8で記述
477デフォルトの名無しさん (ワッチョイ c195-eGkX)
2019/06/23(日) 20:29:44.45ID:WHM6Ibwm0 ありがとうございました
日本語3文字を length が 6 と
日本語3文字を length が 6 と
478デフォルトの名無しさん (ワッチョイ c195-eGkX)
2019/06/23(日) 20:30:03.52ID:WHM6Ibwm0 返してくれるので
これで楽に書けます
これで楽に書けます
479デフォルトの名無しさん (ワッチョイ 2b14-Z7yD)
2019/06/23(日) 22:54:23.73ID:MSRPr+EY0 > 日本語3文字を length が 6 と
だめじゃんw
6を返すってことは6じゃない場合もあるってことだからな
だめじゃんw
6を返すってことは6じゃない場合もあるってことだからな
480デフォルトの名無しさん (ワッチョイ 5b44-QPVk)
2019/06/23(日) 23:29:15.95ID:kDz3gLp60 つうか、3文字で6ってなんやねん?
9ちゃううんか?
9ちゃううんか?
481デフォルトの名無しさん (ワンミングク MMd3-mLc0)
2019/06/24(月) 08:44:42.15ID:xbxTg/onM lengthとbytesizeは違う
482デフォルトの名無しさん (ワッチョイ c114-Z7yD)
2019/06/24(月) 10:39:06.34ID:GG24ezzu0 いずれにしろ
日本語3文字が6と返ってくるのはおかしい
日本語3文字が6と返ってくるのはおかしい
483デフォルトの名無しさん (ワッチョイ 4b7c-Kkfr)
2019/06/24(月) 12:29:01.33ID:NW8XqAfb0484デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 12:54:44.12ID:fiA0UtsUd Pythonなんかだと
printとinputですが
Rubyでは
putsとgetsと三単現のsがつきますよね
命令文なので二人称のputとかgetにした方が良いと思うのですが…
何でRubyは基本的な英語の語法を無視しているのですか?
printとinputですが
Rubyでは
putsとgetsと三単現のsがつきますよね
命令文なので二人称のputとかgetにした方が良いと思うのですが…
何でRubyは基本的な英語の語法を無視しているのですか?
485デフォルトの名無しさん (アメ MM39-rSnO)
2019/07/01(月) 12:57:54.84ID:MoEwNeEzM put stringの略だとよwww
to_sとかもそうだけどjap engrish思考よなwwww
to_sとかもそうだけどjap engrish思考よなwwww
486デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 12:59:27.33ID:fiA0UtsUd487デフォルトの名無しさん (ワッチョイ 1514-fqXP)
2019/07/01(月) 13:00:37.00ID:ywGyCn2/0 printf が print format の略であるように、
puts が put string の略なのは
C言語由来ですよ?
puts が put string の略なのは
C言語由来ですよ?
488デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 13:06:28.54ID:fiA0UtsUd489デフォルトの名無しさん (ワッチョイ 15e7-3lym)
2019/07/01(月) 17:05:10.98ID:2m4t7V760490デフォルトの名無しさん (アウウィフ FF11-a57L)
2019/07/01(月) 17:05:17.93ID:87GWfzf4F startswith や endswith には s ついてる
491デフォルトの名無しさん (アメ MM39-rSnO)
2019/07/01(月) 18:04:52.69ID:MoEwNeEzM 識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww
ダッサwwwww
ダッサwwwww
492デフォルトの名無しさん (ワッチョイ 9d33-CaMw)
2019/07/01(月) 19:31:12.97ID:sgfBLVFM0 >>489
sort「!」なんかの時点で、もう英語は関係ないやろ!w
sort「!」なんかの時点で、もう英語は関係ないやろ!w
493デフォルトの名無しさん (ワッチョイ ca2c-fjwL)
2019/07/02(火) 04:10:59.33ID:uMGeffjZ0 PowerShell -Part 3
744デフォルトの名無しさん2019/07/01(月) 14:41:57.11ID:YzHO/9WR
>>743
どうでもいい
745デフォルトの名無しさん2019/07/01(月) 16:21:19.60ID:MoEwNeEz
>>743
死ね
745は、色んなスレに「死ね」って書いてる荒らし。ID:MoEwNeEz。
荒らしは必ず、複数の書き込みをするので要注意!
Ruby 初心者スレッド Part 65
485デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 12:57:54.84ID:MoEwNeEzM
put stringの略だとよwww
to_sとかもそうだけどjap engrish思考よなwwww
491デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 18:04:52.69ID:MoEwNeEzM
識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww
ダッサwwwww
744デフォルトの名無しさん2019/07/01(月) 14:41:57.11ID:YzHO/9WR
>>743
どうでもいい
745デフォルトの名無しさん2019/07/01(月) 16:21:19.60ID:MoEwNeEz
>>743
死ね
745は、色んなスレに「死ね」って書いてる荒らし。ID:MoEwNeEz。
荒らしは必ず、複数の書き込みをするので要注意!
Ruby 初心者スレッド Part 65
485デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 12:57:54.84ID:MoEwNeEzM
put stringの略だとよwww
to_sとかもそうだけどjap engrish思考よなwwww
491デフォルトの名無しさん (アメ MM39-rSnO)2019/07/01(月) 18:04:52.69ID:MoEwNeEzM
識別子に?や!使えるようにしてるもんだから他の言語は?.のところ&.なんだよなwww
ダッサwwwww
494デフォルトの名無しさん (ワッチョイ 2a52-ebfw)
2019/07/02(火) 08:05:59.97ID:b3K46sKz0 >>493
他人をどうこういう前に、お前の書き込み履歴と鏡を見直せ
他人をどうこういう前に、お前の書き込み履歴と鏡を見直せ
495デフォルトの名無しさん (ワッチョイ a97c-a57L)
2019/07/02(火) 09:54:03.28ID:dJ0Zw08U0 493 は死んで良い
496デフォルトの名無しさん (ワッチョイ 69da-3te8)
2019/07/03(水) 12:11:49.04ID:+RO4gFPu0 俺も493は死んでいいと思う
497デフォルトの名無しさん (ワッチョイ ff2c-NenP)
2019/07/10(水) 14:15:50.44ID:Jbt6AAsO0 redo は、現在のループをやり直すけど、
ループを最初の要素から、やり直すにはどう書く?
例えば、3 なら、また1 からループを始める
ary = [ 1, 2, 3, 4 ]
ary.each do |num|
p num if num == 3
end
ループを最初の要素から、やり直すにはどう書く?
例えば、3 なら、また1 からループを始める
ary = [ 1, 2, 3, 4 ]
ary.each do |num|
p num if num == 3
end
498デフォルトの名無しさん (ワッチョイ 03e7-MLAK)
2019/07/10(水) 15:22:02.98ID:tfcMfkAP0 >>497
http://ideone.com/8UfEyv
もしもCPUの仕組みを知っていれば、制御変数 i は
プログラムカウンタのことだと見立てることができます
さらに抽象化して、もしもステートマシンを知っていれば:
・ブロック do .. end は状態遷移を表し、
・ブロック引数 i は遷移元状態であり、
・ブロックの評価値は遷移先状態であると
見立てることができます
なお、loop.inject というパターンは過去にも別スレで利用しました
https://mevius.5ch.net/test/read.cgi/tech/1415419907/264
> なおメソッド loop は一般に loop do .... end という手続き型のスタイルで
> 書かれることが多いために ループ構文の一種と誤解されがちですが、
> (lambda を構文糖であると >>254 が 勘違いしたように....)
> loop はメソッドですので(コードで示したように) inject へ
> チェーンさせることができます
http://ideone.com/8UfEyv
もしもCPUの仕組みを知っていれば、制御変数 i は
プログラムカウンタのことだと見立てることができます
さらに抽象化して、もしもステートマシンを知っていれば:
・ブロック do .. end は状態遷移を表し、
・ブロック引数 i は遷移元状態であり、
・ブロックの評価値は遷移先状態であると
見立てることができます
なお、loop.inject というパターンは過去にも別スレで利用しました
https://mevius.5ch.net/test/read.cgi/tech/1415419907/264
> なおメソッド loop は一般に loop do .... end という手続き型のスタイルで
> 書かれることが多いために ループ構文の一種と誤解されがちですが、
> (lambda を構文糖であると >>254 が 勘違いしたように....)
> loop はメソッドですので(コードで示したように) inject へ
> チェーンさせることができます
499デフォルトの名無しさん (ワッチョイ ff2c-NenP)
2019/07/10(水) 16:16:11.40ID:Jbt6AAsO0 require 'prime'
p ary = Prime.prime_division( 18 )
#=> [[2, 1], [3, 2]]
18 を素因数分解した結果、
[[2, 1], [3, 2]]、2が1回, 3が2回みたいな表記を、
単純に、[2, 3, 3]のように開くには、どうすればよいですか?
p ary = Prime.prime_division( 18 )
#=> [[2, 1], [3, 2]]
18 を素因数分解した結果、
[[2, 1], [3, 2]]、2が1回, 3が2回みたいな表記を、
単純に、[2, 3, 3]のように開くには、どうすればよいですか?
500497 (ワッチョイ ff2c-NenP)
2019/07/10(水) 16:39:54.23ID:Jbt6AAsO0501デフォルトの名無しさん (ワッチョイ 03e7-MLAK)
2019/07/10(水) 17:37:17.74ID:tfcMfkAP0503デフォルトの名無しさん (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 14:16:26.97ID:NKxgAyGK0 乱数はメルセンヌツイスタらしいけど、
偏るので、マシなやり方はないですか?
Array.new( 25 ) { rand( 1..9 ) }
出力
[3, 2, 4, 3, 6, 3, 1, 3, 7, 6, 1, 9, 3, 2, 5, 6, 6, 7, 5, 6, 3, 3, 8, 4, 9]
[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
偏るので、マシなやり方はないですか?
Array.new( 25 ) { rand( 1..9 ) }
出力
[3, 2, 4, 3, 6, 3, 1, 3, 7, 6, 1, 9, 3, 2, 5, 6, 6, 7, 5, 6, 3, 3, 8, 4, 9]
[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
504デフォルトの名無しさん (エムゾネ FF5f-CMz4)
2019/07/20(土) 14:25:34.88ID:1y0e4GF6F a=[3, 2, 4, 3, 6, 3, 1, 3, 7, 6, 1, 9, 3, 2, 5, 6, 6, 7, 5, 6, 3, 3, 8, 4, 9]
b=[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
c=[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
(a+b+c)/3
b=[5, 8, 4, 1, 3, 3, 2, 2, 9, 7, 9, 7, 7, 6, 7, 4, 3, 4, 5, 4, 8, 8, 7, 2, 5]
c=[7, 7, 6, 7, 9, 5, 8, 2, 8, 5, 1, 8, 4, 9, 3, 3, 9, 8, 6, 1, 1, 3, 5, 7, 2]
(a+b+c)/3
505デフォルトの名無しさん (ドコグロ MMc3-bkmc)
2019/07/20(土) 16:32:33.97ID:/lD6o5wQM506デフォルトの名無しさん (ワッチョイ 7f2d-ShKg)
2019/07/20(土) 17:05:02.08ID:wkIhGLkm0 2人コミッター知ってるけど何の専門家でもなければまともな経歴でもないよ・・・・
507デフォルトの名無しさん (ワッチョイ 4f7c-CMz4)
2019/07/20(土) 17:08:41.13ID:ppdy8tl00 メルセンヌツイスターって初期化しなくて良いんだっけ
508デフォルトの名無しさん (ワッチョイ 3f52-5sVo)
2019/07/20(土) 17:54:18.98ID:QHhW8HGw0 >>504
乱数で平均値を取ったら中央値に近づいて偏りが酷くなるだけじゃね
乱数で平均値を取ったら中央値に近づいて偏りが酷くなるだけじゃね
509503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 17:57:37.26ID:NKxgAyGK0 Kernel#rand の種は、現在時刻で初期化されるから、意識しないでもよい
統計を取れば、平均になるだろうけど、1回1回が偏る。
例えれば、
1回目 : 3,3,1,1,3,3,1,1
2回目 : 2,2,8,8,2,2,8,8
3回目 : 5,5,9,9,5,5,9,9
平均すると、まんべんなく出るのだろうが
統計を取れば、平均になるだろうけど、1回1回が偏る。
例えれば、
1回目 : 3,3,1,1,3,3,1,1
2回目 : 2,2,8,8,2,2,8,8
3回目 : 5,5,9,9,5,5,9,9
平均すると、まんべんなく出るのだろうが
510503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 18:02:25.41ID:NKxgAyGK0 例えば、503 で偏る部分は、
5, 6, 6, 7, 5, 6
9, 7, 9, 7, 7, 6, 7
7, 7, 6, 7
9, 3, 3, 9
何回やっても偏る
5, 6, 6, 7, 5, 6
9, 7, 9, 7, 7, 6, 7
7, 7, 6, 7
9, 3, 3, 9
何回やっても偏る
511デフォルトの名無しさん (ワッチョイ 4f7c-CMz4)
2019/07/20(土) 18:37:19.17ID:ppdy8tl00 おま環かどうか切り分けるために
codepad.org
とか
ideone.com
あたりで実行してみたら
codepad.org
とか
ideone.com
あたりで実行してみたら
512デフォルトの名無しさん (ワッチョイ 4f7c-CMz4)
2019/07/20(土) 18:37:49.12ID:ppdy8tl00 おま環かどうか切り分けるために
codepad.org
とか
ideone.com
あたりで実行してみたら
codepad.org
とか
ideone.com
あたりで実行してみたら
513503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 19:30:22.40ID:NKxgAyGK0 codepad は古すぎる!
p RUBY_VERSION #=> "1.8.6"
一方、Paiza.io では、"2.6.3"
[3, 6, 3, 8, 8, 9, 1, 3, 1, 4, 3, 8, 2, 2, 2, 6, 6, 9, 4, 2, 2, 9, 1, 1, 1]
これでも偏る
2, 2, 2, 6, 6
2, 2, 9, 1, 1, 1
p RUBY_VERSION #=> "1.8.6"
一方、Paiza.io では、"2.6.3"
[3, 6, 3, 8, 8, 9, 1, 3, 1, 4, 3, 8, 2, 2, 2, 6, 6, 9, 4, 2, 2, 9, 1, 1, 1]
これでも偏る
2, 2, 2, 6, 6
2, 2, 9, 1, 1, 1
514デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 19:33:04.24ID:2izalSzA0 1から9が完全に均等に出てほしいなら、(1..9).shuffleとでもすりゃいいんじゃね?
516503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 19:36:50.44ID:NKxgAyGK0517デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/20(土) 19:40:04.58ID:CMictvk+0 まさか1桁の整数の乱数を10個取り出したら0から9までダブってないとかそういうのか
518503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 19:44:24.23ID:NKxgAyGK0 >>514
shuffle, sample も疑似乱数だから、 Kernel.#rand, Random と同じじゃないか?
shuffle, sample も疑似乱数だから、 Kernel.#rand, Random と同じじゃないか?
519デフォルトの名無しさん (オッペケ Sra3-/r7K)
2019/07/20(土) 19:46:37.50ID:eNhk7IpQr アホらし
バカが騒いでるだけ
バカが騒いでるだけ
520デフォルトの名無しさん (ワッチョイ cf14-C4ZB)
2019/07/20(土) 20:02:00.13ID:b/O9on/e0 乱数なんだから偏ってはいけない。
例えばサイコロを6回ふれば、必ず1〜6の数字が一回ずつ出るのが真の乱数だ
続けて1の目がでるなんてことはあってはいけない
俺の好きなテトリスも昔はテトリス棒が全然出なかったりしたもんだが
今のテトリスは同じものが続けて出ない。偏り無くまんべんなく出てくれるから
次に来るのが予測しやすい。これが真の乱数だ
例えばサイコロを6回ふれば、必ず1〜6の数字が一回ずつ出るのが真の乱数だ
続けて1の目がでるなんてことはあってはいけない
俺の好きなテトリスも昔はテトリス棒が全然出なかったりしたもんだが
今のテトリスは同じものが続けて出ない。偏り無くまんべんなく出てくれるから
次に来るのが予測しやすい。これが真の乱数だ
521デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/20(土) 20:09:09.31ID:CMictvk+0 つまりテトリスカンパニーのようにメルセンヌツイスタ株式会社みたいなのが数字の出る順番のルールを決めて
ひとつの言語にはひとつのメルセンヌツイスタライブラリしか認可しないというふうにして品質の
ひとつの言語にはひとつのメルセンヌツイスタライブラリしか認可しないというふうにして品質の
522デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 20:57:00.17ID:2izalSzA0523デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 21:02:21.62ID:2izalSzA0524デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/20(土) 21:11:50.98ID:CMictvk+0 ものによっては「7が最近出てないのでそろそろ出るはず」「1が何回も出るはずがない」を支持するデタラメ数が必要とされることはあるのだが
それは乱数で表現されるものではないので自前で実装するよりない
それは乱数で表現されるものではないので自前で実装するよりない
525デフォルトの名無しさん (ワッチョイ cf4e-NxfS)
2019/07/20(土) 21:43:20.93ID:/ET4uH9K0 乱数 まろやか で検索するといいぞ。ポイントは正規分布
526503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 21:51:55.20ID:NKxgAyGK0 JavaScript でも作ってみたが、これも乱数が偏っている。
7, 1, 7, 7, 5, 4, 7, 4, 1
function get_random_int( ) {
return function( ) {
const min = 1
const max = 9
return Math.floor( Math.random( ) * ( max + 1 - min ) ) + min ;
};
}
const ary = [ ...Array( 25 ) ].map( get_random_int( ) )
console.log( ary );
出力
[ 2, 8, 6, 2, 5, 7, 8, 1, 4, 6, 7, 1, 7, 7, 5, 4, 7, 4, 1, 3, 4, 5, 6, 8, 6 ]
7, 1, 7, 7, 5, 4, 7, 4, 1
function get_random_int( ) {
return function( ) {
const min = 1
const max = 9
return Math.floor( Math.random( ) * ( max + 1 - min ) ) + min ;
};
}
const ary = [ ...Array( 25 ) ].map( get_random_int( ) )
console.log( ary );
出力
[ 2, 8, 6, 2, 5, 7, 8, 1, 4, 6, 7, 1, 7, 7, 5, 4, 7, 4, 1, 3, 4, 5, 6, 8, 6 ]
527デフォルトの名無しさん (ワッチョイ cf4e-NxfS)
2019/07/20(土) 22:07:15.82ID:/ET4uH9K0 >>526
赤黒が1/2の確率で出るルーレットがあります。
三回回したところすべて黒が出ました。
次に赤が出る確率は?
一般人「1/2」
バカ「こんなに黒が続いたんだからそろそろ赤が出ないとおかしい!偏っている!だから赤100%だ!!」
赤黒が1/2の確率で出るルーレットがあります。
三回回したところすべて黒が出ました。
次に赤が出る確率は?
一般人「1/2」
バカ「こんなに黒が続いたんだからそろそろ赤が出ないとおかしい!偏っている!だから赤100%だ!!」
528デフォルトの名無しさん (ワッチョイ 3f52-5sVo)
2019/07/20(土) 23:53:39.37ID:QHhW8HGw0 >>526
乱数にけちつける前に10面ダイス買ってきて、10000回振って出目をメモして偏りを確認してこい。
それが片寄ってると思うなら、別の店でダイス買い直して再試行しろ。
終わるまでスレに帰ってくるなよ。
乱数にけちつける前に10面ダイス買ってきて、10000回振って出目をメモして偏りを確認してこい。
それが片寄ってると思うなら、別の店でダイス買い直して再試行しろ。
終わるまでスレに帰ってくるなよ。
529デフォルトの名無しさん (アウアウエー Sabf-CMz4)
2019/07/21(日) 01:29:14.20ID:7an9cjGSa リアルのダイスは安物だと
1の目と6の目で掘り具合が適当で
重心がばらつくから良くない
1をでかく掘ってあって
ちゃんとバランスとってる香具師を買え
1の目と6の目で掘り具合が適当で
重心がばらつくから良くない
1をでかく掘ってあって
ちゃんとバランスとってる香具師を買え
530デフォルトの名無しさん (ワッチョイ 7fd2-W26c)
2019/07/21(日) 05:50:29.99ID:8kiQELFp0531デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/21(日) 06:37:51.08ID:OIgMVs9g0532デフォルトの名無しさん (ワッチョイ 8fb0-VOQx)
2019/07/21(日) 14:26:31.51ID:rj1b8/he0 単純にサンプル数が少なすぎる
2500回ぐらい生成してから文句言え
2500回ぐらい生成してから文句言え
533デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 15:02:07.14ID:NYTsshMI0 1から9まで出る乱数を9個抜き出したとき:
1から9までの数が1個ずつ含まれる確率
9!/9^9 = 0.09%
1から9までの数のうち4個ある数字が1つ、2個ある数字が2つ、1個ある数字が1つである確率
9(8C2)6(9C4)(5C2)(3C2)/2/9^9 = 0.7%
10倍ぐらい確率が違うんだよ
「君の言葉で言う偏る」のは確率で見てもむしろ当然
# 計算式が合ってるかは誰か検証して
1から9までの数が1個ずつ含まれる確率
9!/9^9 = 0.09%
1から9までの数のうち4個ある数字が1つ、2個ある数字が2つ、1個ある数字が1つである確率
9(8C2)6(9C4)(5C2)(3C2)/2/9^9 = 0.7%
10倍ぐらい確率が違うんだよ
「君の言葉で言う偏る」のは確率で見てもむしろ当然
# 計算式が合ってるかは誰か検証して
534デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 15:05:40.77ID:NYTsshMI0 あ、>>526 ね
分かるだろうけど
分かるだろうけど
535デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 15:10:50.24ID:NYTsshMI0 もっと単純化して言ってしまえば、コインを2回投げたときに、表裏が1回ずつ出る確率と
表か裏かのどちらかしか出ない確率は同じだというのはすぐ分かると思う
それを「どちらかしか出ない場合があるのは偏ってる!」と言ってるようなもんだよ、これは
表か裏かのどちらかしか出ない確率は同じだというのはすぐ分かると思う
それを「どちらかしか出ない場合があるのは偏ってる!」と言ってるようなもんだよ、これは
536デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 16:40:43.81ID:NYTsshMI0 こういうと、
「25回投げたときに、そのうち10回を取り出して8回以上表か裏が出てたら偏ってるじゃないか」
と言われそうなので、その確率も計算しておこう
面倒なのでPCでぶん回して計算すると、約49%だった。
つまり、25回投げたときに恣意的に10回を取り出して表か裏が8個以上あることなんて普通に
ありえることなんだよね
「25回投げたときに、そのうち10回を取り出して8回以上表か裏が出てたら偏ってるじゃないか」
と言われそうなので、その確率も計算しておこう
面倒なのでPCでぶん回して計算すると、約49%だった。
つまり、25回投げたときに恣意的に10回を取り出して表か裏が8個以上あることなんて普通に
ありえることなんだよね
537デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 16:43:49.84ID:NYTsshMI0 ちなみに、8回以上を9回以上に置き換えても13%の確率があるので、特段珍しいことでもない
さらにちなみに、この計算はRubyを使って行いましたw
さらにちなみに、この計算はRubyを使って行いましたw
538デフォルトの名無しさん (スッップ Sdaa-nIbq)
2019/07/28(日) 16:46:50.69ID:RyVu3FEFd ActiveRecordの件数が多い時、メモリを大量に使った際に、その分のメモリが開放されないままになってるように見えるのですがこれは仕様ですか?
メモリ開放のやり方とか、そもそも件数が多すぎる場合はActiveRecord使わないほうが良いなどあったりするでしょうか…?
メモリ開放のやり方とか、そもそも件数が多すぎる場合はActiveRecord使わないほうが良いなどあったりするでしょうか…?
539デフォルトの名無しさん (ワッチョイ 8a33-SaMj)
2019/07/28(日) 17:41:05.41ID:x88Eo97q0 ActiveRecordは知らんけど、RubyのGCがあんまり働かないのはオレも経験したことがある。
いっそ自動処理をあてにしないで、適当なタイミングで明示的にGC.start()したほうがいいと思う。
あるいは、ちゃんと設定のチューニングをするか。
めんどくさそうなうえに、ちゃんと動作すんのかは知らんけどな。
https://docs.ruby-lang.org/ja/latest/class/GC.html
いっそ自動処理をあてにしないで、適当なタイミングで明示的にGC.start()したほうがいいと思う。
あるいは、ちゃんと設定のチューニングをするか。
めんどくさそうなうえに、ちゃんと動作すんのかは知らんけどな。
https://docs.ruby-lang.org/ja/latest/class/GC.html
540デフォルトの名無しさん (スッップ Sdaa-qbpu)
2019/07/31(水) 06:26:20.94ID:F/SyAmOad >>270
Railsはチュートリアルとか本とかネットの情報も多いけどSinatraは情報が少な過ぎるよ
Railsはチュートリアルとか本とかネットの情報も多いけどSinatraは情報が少な過ぎるよ
541デフォルトの名無しさん (ワッチョイ 8a2c-aoqV)
2019/07/31(水) 12:11:30.33ID:6BPSvdm10 たぶん、インデックスを使っていない、select だろう。
ランキングとか、レコードを総なめ・全件取得する、select だろう
DB の実行計画を見ると、わかる
DB設計は、DB資格の教科書とか、ミックの本などで勉強していないと難しい。
バグのほとんどは設計段階で生じるから、SE の給料が、プログラマーよりも高い!
ランキングとか、レコードを総なめ・全件取得する、select だろう
DB の実行計画を見ると、わかる
DB設計は、DB資格の教科書とか、ミックの本などで勉強していないと難しい。
バグのほとんどは設計段階で生じるから、SE の給料が、プログラマーよりも高い!
542デフォルトの名無しさん (ワッチョイ 0b14-3QQs)
2019/07/31(水) 12:17:18.62ID:JpBmxHct0 それだと設計ができない無能SEの給料は低くないといけない
543デフォルトの名無しさん (ワッチョイ ab7d-1GM0)
2019/07/31(水) 12:20:45.88ID:zH1G6UoN0 >>542
何荒らしにマジレスしてんの
何荒らしにマジレスしてんの
544デフォルトの名無しさん (アウウィフ FFcf-tP4r)
2019/07/31(水) 12:41:48.82ID:+MN2XkdtF 馬鹿には無理
545デフォルトの名無しさん (スッップ Sd43-LBQ1)
2019/08/01(木) 05:31:11.68ID:n5HVCX7yd 同じリポジトリの同じソースからのデプロイで昨日は成功したのに今日は成功しないのは何でなんだぜ?
Heroku
Heroku
546デフォルトの名無しさん (ワッチョイ 2dda-dfB4)
2019/08/01(木) 05:46:22.10ID:D666GHsD0 韓国に楯突いたことでアメリカからも敵国認定されてブロックされてしまったのだろうな
米国に置いてあるデータ、アメリカ製サービスからは早急に引き上げたほうがいい
エンジニアの生命線が...。米国の貿易施策でGitHubの利用制限を受けるイランなどの国々 | ギズモード・ジャパン
https://www.gizmodo.jp/2019/07/github-trade-control-regulations.html
GitHub、米国の経済制裁対象国ユーザーによる非公開リポジトリ利用をブロック | 財経新聞
https://www.zaikei.co.jp/article/20190730/523662.html
米国に置いてあるデータ、アメリカ製サービスからは早急に引き上げたほうがいい
エンジニアの生命線が...。米国の貿易施策でGitHubの利用制限を受けるイランなどの国々 | ギズモード・ジャパン
https://www.gizmodo.jp/2019/07/github-trade-control-regulations.html
GitHub、米国の経済制裁対象国ユーザーによる非公開リポジトリ利用をブロック | 財経新聞
https://www.zaikei.co.jp/article/20190730/523662.html
547デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/01(木) 12:25:16.08ID:czAE5CE00 >>546
イランから手を引けばいいだけでしょ(笑)
イランから手を引けばいいだけでしょ(笑)
548デフォルトの名無しさん (ワッチョイ 8595-7p+E)
2019/08/01(木) 20:11:56.88ID:WaJjQk0q0 ruby はよくある printf の類が日英混合文でも大丈夫?
perl で 日英両対応 align.pl 書いたけど 日本語はprintfのフォームと
ずれてしまったのでコードがそれを避けた書きかたになってしまって
気がはれない
perl で 日英両対応 align.pl 書いたけど 日本語はprintfのフォームと
ずれてしまったのでコードがそれを避けた書きかたになってしまって
気がはれない
549デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/01(木) 20:45:19.26ID:lSJbqNGy0550デフォルトの名無しさん (ワッチョイ eb7d-SEhp)
2019/08/01(木) 21:12:29.42ID:MCSzD/uO0 Rubyとしては「STDOUTに流すだけで特に何もしてない」ような気がする
Cursesはなんかしてくれてるんだっけ?
Cursesはなんかしてくれてるんだっけ?
551デフォルトの名無しさん (ワッチョイ 4584-ONLY)
2019/08/03(土) 00:58:45.19ID:uTJugp6Y0 逆にその日英混合文がダメな状況ってどういう状況だよ
552デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/03(土) 10:30:15.37ID:sR/VT/6l0 いわゆる全角半角の文字幅やろ。
553デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/03(土) 22:04:00.83ID:bbhz9sWw0 やった!!
俺の求めていたものだ
https://logmi.jp/tech/articles/321280
一見楽そうに見えて、余計に面倒なことになるwww
こんなんだったら、初めから型宣言したほうがマシだわな
型宣言の何が嫌なんだろ(謎
意地?
DRYに反してるっていうけど、何処が?
まぁでも求めていた展開だ
本人も作りたくないであろうこんなツールに多大な時間を割くことで
10年単位で他の言語に遅れることになるだろうな
大爆笑
俺の求めていたものだ
https://logmi.jp/tech/articles/321280
一見楽そうに見えて、余計に面倒なことになるwww
こんなんだったら、初めから型宣言したほうがマシだわな
型宣言の何が嫌なんだろ(謎
意地?
DRYに反してるっていうけど、何処が?
まぁでも求めていた展開だ
本人も作りたくないであろうこんなツールに多大な時間を割くことで
10年単位で他の言語に遅れることになるだろうな
大爆笑
554デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/03(土) 23:28:43.68ID:sR/VT/6l0 >>553
> DRYに反してるっていうけど、何処が?
Type obj=new Type()
じゃないの?型を2回書いてるじゃん!という。
なお、C#がそうだったんだけど、遠からず改善される予定。
Type obj=new()
# 最初からそうしといてよー、と思わないでもないけど。w
型のDRYを避ける方法はあるんだよな。
しかし、Rubyはそこから目をそらして、DRYを言い訳にして、とにかくなにがなんでもオブジェクトの宣言を含めたくないんだろう。
> DRYに反してるっていうけど、何処が?
Type obj=new Type()
じゃないの?型を2回書いてるじゃん!という。
なお、C#がそうだったんだけど、遠からず改善される予定。
Type obj=new()
# 最初からそうしといてよー、と思わないでもないけど。w
型のDRYを避ける方法はあるんだよな。
しかし、Rubyはそこから目をそらして、DRYを言い訳にして、とにかくなにがなんでもオブジェクトの宣言を含めたくないんだろう。
555デフォルトの名無しさん (ワッチョイ 75e7-27IP)
2019/08/04(日) 03:31:45.57ID:KgSPSwNu0 >>553
>DRYに反してるっていうけど、何処が?
https://qiita.com/t2y/items/2a1310608da7b5c4860b
> def sum_and_stringify(nums: List[int]) -> str:
> """Adds up the numbers in a list and returns the result as a string."""
> return str(sum(nums))
じゃないの?
型を2回書いてるじゃん!という。
なお本件、改善される計画はなく、いつまで待っても放置される予定。
# ML や Haskell なら最初から型アノーテーションなんて不要だからDRYだけど、
# その方向性を最初から放棄してどうすんのよー、と思わないでもないけど。w
型のDRYを避ける方法はあるんだよな。
しかし、そこから目をそらして、global だの nonlocal だのスコープ問題の泥縄的解決である
変数宣言を言い訳にして、とにかくなにがなんでも型宣言を含めさせたいんだろう。
>DRYに反してるっていうけど、何処が?
https://qiita.com/t2y/items/2a1310608da7b5c4860b
> def sum_and_stringify(nums: List[int]) -> str:
> """Adds up the numbers in a list and returns the result as a string."""
> return str(sum(nums))
じゃないの?
型を2回書いてるじゃん!という。
なお本件、改善される計画はなく、いつまで待っても放置される予定。
# ML や Haskell なら最初から型アノーテーションなんて不要だからDRYだけど、
# その方向性を最初から放棄してどうすんのよー、と思わないでもないけど。w
型のDRYを避ける方法はあるんだよな。
しかし、そこから目をそらして、global だの nonlocal だのスコープ問題の泥縄的解決である
変数宣言を言い訳にして、とにかくなにがなんでも型宣言を含めさせたいんだろう。
556デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 12:53:29.81ID:uuq2lSJI0 あと
別ファイルに型定義書くのって立派なDRYじゃねーの?
だって、クラス名やメソッド名変更するとき
両方書き直さなきゃならないじゃねーか
これはDRY以外の何なんだ?
ほんと、ペテン師はいつも自分に都合のいい事だけ言うよな
分かっててすっとぼけるんだわ
信者には悪いが、マジで毎回そう
別ファイルに型定義書くのって立派なDRYじゃねーの?
だって、クラス名やメソッド名変更するとき
両方書き直さなきゃならないじゃねーか
これはDRY以外の何なんだ?
ほんと、ペテン師はいつも自分に都合のいい事だけ言うよな
分かっててすっとぼけるんだわ
信者には悪いが、マジで毎回そう
557デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 13:05:34.87ID:uuq2lSJI0 つまり、
普通に素直に型宣言するより
別ファイルに型定義書く方が
よりDRYだし面倒だし
この掛け違えたボタンで首が絞まる感じ何なん
もう普通に型書いたら?
アホらしすぎ
普通に素直に型宣言するより
別ファイルに型定義書く方が
よりDRYだし面倒だし
この掛け違えたボタンで首が絞まる感じ何なん
もう普通に型書いたら?
アホらしすぎ
558デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 13:18:44.89ID:uuq2lSJI0 型定義を別ファイルの書くのって
丁度C言語が.hと.cに分かれてるのと同じ感じだよね
で、関数名変えるとき.hと.cの両方書き換えるっていうね
今更C言語に先祖返りってどうよ
あれDRYって何だっけ
丁度C言語が.hと.cに分かれてるのと同じ感じだよね
で、関数名変えるとき.hと.cの両方書き換えるっていうね
今更C言語に先祖返りってどうよ
あれDRYって何だっけ
559デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 13:39:41.20ID:uuq2lSJI0 あるクラスの名前を変更する
型定義ファイルに書いてあるクラス名を変更し忘れる
そのクラスの型定義が無くなり型チェックが効かなくなる
プログラマは型チェックが効いてると思い込みテストをサボる
バグを組み込んでしまう
あり得るシナリオだし、こういうのをDRYと言うのではww
同じような感じでヘッダと実装に分かれてるC/C++の場合は
これは間違ってるとコンパイルエラーになるから良いけど
Rubyの場合は修正し忘れてて型定義が見つからない状態になってても
それはそれとして、どうせ無テストになるだけでスルーでしょ
(他に型定義の無いクラスはいっぱいあるわけで型定義が無いだけでエラーには出来ない)
さあ型定義ファイルにあるクラス名とメソッド名が
間違っていないか確かめるテストを書かなきゃねwww
(単純にtypoしてるかもしれないわけで)
で、誰得なんこれ
型定義ファイルに書いてあるクラス名を変更し忘れる
そのクラスの型定義が無くなり型チェックが効かなくなる
プログラマは型チェックが効いてると思い込みテストをサボる
バグを組み込んでしまう
あり得るシナリオだし、こういうのをDRYと言うのではww
同じような感じでヘッダと実装に分かれてるC/C++の場合は
これは間違ってるとコンパイルエラーになるから良いけど
Rubyの場合は修正し忘れてて型定義が見つからない状態になってても
それはそれとして、どうせ無テストになるだけでスルーでしょ
(他に型定義の無いクラスはいっぱいあるわけで型定義が無いだけでエラーには出来ない)
さあ型定義ファイルにあるクラス名とメソッド名が
間違っていないか確かめるテストを書かなきゃねwww
(単純にtypoしてるかもしれないわけで)
で、誰得なんこれ
560デフォルトの名無しさん (ワッチョイ 8514-F0Sa)
2019/08/04(日) 15:37:02.28ID:M00OQnGm0 まつもとが型のメリットを理解してないからどうしようもない
561デフォルトの名無しさん (ワッチョイ 232c-n0r7)
2019/08/04(日) 20:45:52.66ID:zjBZp1dd0 WEB+DB vol.111
詳解 Rails 6
コミッターが解説する、26ページ分の特集!
詳解 Rails 6
コミッターが解説する、26ページ分の特集!
562デフォルトの名無しさん (ワッチョイ 75e7-27IP)
2019/08/05(月) 01:20:57.58ID:xLJRGiJi0 >>556-559
>別ファイルに型定義書くのって立派なDRYじゃねーの?
まず、この文章は「DRY違反じゃねーの」の間違いだろう
これだけでもアンチRubyがDRYという言葉の意味を理解せずに
トンチンカンな批判を繰り返している実証になる
次に上記の文章を:
>>別ファイルに型定義書くのって立派なDRY違反じゃねーの?
と訂正したとしても、答えは NO だ
確かに型推定を最初から放棄してユーザに型アノーテーション記述を
強制する言語(>>555)であれば、その型アノーテーション記述がソースファイルと
同一ファイルであっても別ファイルであってもDRY原則に反している、と言える
しかしRuby3.0で計画されている型プロファイルは、型宣言記述が無い
素のRubyソースコードから型定義ファイル rbi を自動生成できる
また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として
型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
>別ファイルに型定義書くのって立派なDRYじゃねーの?
まず、この文章は「DRY違反じゃねーの」の間違いだろう
これだけでもアンチRubyがDRYという言葉の意味を理解せずに
トンチンカンな批判を繰り返している実証になる
次に上記の文章を:
>>別ファイルに型定義書くのって立派なDRY違反じゃねーの?
と訂正したとしても、答えは NO だ
確かに型推定を最初から放棄してユーザに型アノーテーション記述を
強制する言語(>>555)であれば、その型アノーテーション記述がソースファイルと
同一ファイルであっても別ファイルであってもDRY原則に反している、と言える
しかしRuby3.0で計画されている型プロファイルは、型宣言記述が無い
素のRubyソースコードから型定義ファイル rbi を自動生成できる
また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として
型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
563デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/05(月) 01:57:11.36ID:kCWOwKEP0 >>562
> トンチンカンな批判を繰り返している実証になる
揚げ足をとれたからって、そんなに必死にならなくても。w
DRYDRYとうるさいのは信者くらいで、ふつうは実はそんなに気にしてないからな。しゃあない。
> 素のRubyソースコードから型定義ファイル rbi を自動生成できる
スケルトンみたいなこと?
その手のやりかたってヤバい原因になりがちだと思うんだけど、だいじょうぶなの?たいがい元ソースコードの変更に追い付けなくなって、うやむやになるよねえ?
> 型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
つまり、ソースを変更したら、あわせてアノテも変更しないといけないのか?
結局はDRY違反なの?
ホントにそんなだったら、どうせ誰も使わない気がするなあ。。。
> トンチンカンな批判を繰り返している実証になる
揚げ足をとれたからって、そんなに必死にならなくても。w
DRYDRYとうるさいのは信者くらいで、ふつうは実はそんなに気にしてないからな。しゃあない。
> 素のRubyソースコードから型定義ファイル rbi を自動生成できる
スケルトンみたいなこと?
その手のやりかたってヤバい原因になりがちだと思うんだけど、だいじょうぶなの?たいがい元ソースコードの変更に追い付けなくなって、うやむやになるよねえ?
> 型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
つまり、ソースを変更したら、あわせてアノテも変更しないといけないのか?
結局はDRY違反なの?
ホントにそんなだったら、どうせ誰も使わない気がするなあ。。。
564デフォルトの名無しさん (ワッチョイ 75e7-27IP)
2019/08/05(月) 02:20:06.63ID:xLJRGiJi0566デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 07:34:24.32ID:nl2V9bb60 https://img.logmi.jp/article_images/D2VbGeV4PWY5uay2tHho6g.jpg
こんなんを別ファイルに記述するはめになるんだ
クラス定義に似てるね
重複して同じようなことを二回書かなきゃならないって事
DRYの原則に反してるから型宣言を書きたくないって話だったのに
より一層DRYの原則に反してるね
C++のヘッダにそっくり
あと今更するなら最初からしておけば何かとよかったのにね
夏休みの宿題を最後にためておく人だったのかな
一方静的型言語にも型推論とか取り入れられてるけど
こっちは文法的にも文化的にも何の障壁もなく導入されてるのが笑える
なにこの差
さらにはヌル安全とかまでやろうとしてる
逆にこっちのやってるのはいまだにネイティブスレッドww
何周遅れよこれ
そんでいつも後出しジャンケンで負ける
動的型もそう
後出しジャンケンして負けた
後出しジャンケンでも勝てばいいんだが負けたら意味ないね
Rubyサイコー
こんなんを別ファイルに記述するはめになるんだ
クラス定義に似てるね
重複して同じようなことを二回書かなきゃならないって事
DRYの原則に反してるから型宣言を書きたくないって話だったのに
より一層DRYの原則に反してるね
C++のヘッダにそっくり
あと今更するなら最初からしておけば何かとよかったのにね
夏休みの宿題を最後にためておく人だったのかな
一方静的型言語にも型推論とか取り入れられてるけど
こっちは文法的にも文化的にも何の障壁もなく導入されてるのが笑える
なにこの差
さらにはヌル安全とかまでやろうとしてる
逆にこっちのやってるのはいまだにネイティブスレッドww
何周遅れよこれ
そんでいつも後出しジャンケンで負ける
動的型もそう
後出しジャンケンして負けた
後出しジャンケンでも勝てばいいんだが負けたら意味ないね
Rubyサイコー
567デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 07:39:15.45ID:nl2V9bb60 >また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として
この方式はmatzが滅茶苦茶に嫌ってるから採用される事はないね
あの人わけわからないぐらいこのことに固執してるからね
また何も知らないか、知ってても嘘をつく
いつものパターンね
この方式はmatzが滅茶苦茶に嫌ってるから採用される事はないね
あの人わけわからないぐらいこのことに固執してるからね
また何も知らないか、知ってても嘘をつく
いつものパターンね
568デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 13:40:37.89ID:nl2V9bb60 ちなみにmatzがソースコードに型を書きたくない理由だが
色々言ってるが、彼は詐欺師だから、本音ではないし、嘘も含まれる
まず
https://logmi.jp/tech/articles/321280
にも書いてあるし、たびたび登場するDRYに反するというやつ
言うまでもないが別ファイルに書く方がDRYに反するし
これは多分、彼の本音ではないし、煙に巻くための適当な言い訳
つぎに、静的型と動的型は振り子のようにトレンドが移り変わり
今後また動的型言語の時代が来るから、というもの
いやいやこれから先、動的型の時代など来ないだろうし、そもそもの前提がおかしい
C言語以降はずっと静的型の天下であり、動的型が勝ってた時代などなかった
振り子のようにというのがそもそも嘘偽り誇大表現、こうやって騙してくる
C/C++、Java、C#といった超メジャー言語にRubyが勝っていた時代など一度もなかっただろ、詐欺師め
色々言ってるが、彼は詐欺師だから、本音ではないし、嘘も含まれる
まず
https://logmi.jp/tech/articles/321280
にも書いてあるし、たびたび登場するDRYに反するというやつ
言うまでもないが別ファイルに書く方がDRYに反するし
これは多分、彼の本音ではないし、煙に巻くための適当な言い訳
つぎに、静的型と動的型は振り子のようにトレンドが移り変わり
今後また動的型言語の時代が来るから、というもの
いやいやこれから先、動的型の時代など来ないだろうし、そもそもの前提がおかしい
C言語以降はずっと静的型の天下であり、動的型が勝ってた時代などなかった
振り子のようにというのがそもそも嘘偽り誇大表現、こうやって騙してくる
C/C++、Java、C#といった超メジャー言語にRubyが勝っていた時代など一度もなかっただろ、詐欺師め
569デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 13:43:49.85ID:nl2V9bb60 もう一つ
ここに書いてあることが実は本音(らしい)
https://jp.quora.com/TypeScript%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%9E%8B%E4%BB%98%E3%81%91%E3%82%92Ruby%E3%81%AB%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%9F%E3%82%89%E6%9C%80%E9%AB%98%E3%81%AE%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%AA%E3%82%8B
要約すると、Rubyに型アノテーションが導入されたら
型を書いた方が行儀が良いという風潮が蔓延するだろうが、自分は型を書きたくないので
そのために型をかけないようにしておく、というもの
良いことが出来ると、良いことをする風潮になるだろうが
自分は悪いことがしたいから、良いことが出来ると困る
と言っているわけで、マジキチなのがお分かりいただけるだろうか
法律があると法律を守らなければならないから嫌
信号があると信号無視が出来ないから嫌
と言ってるようなもので、まさに悪人の考え
型は書いた方が良い、とうことはしっかり分かってる上で
嫌だから出来ないようにしておく、と言ってるわけで、悪人独特の自己矛盾
しかし普段自分の都合のいいように嘘しか言わない彼が、本音を語っている点は評価できる
ここに書いてあることが実は本音(らしい)
https://jp.quora.com/TypeScript%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E5%9E%8B%E4%BB%98%E3%81%91%E3%82%92Ruby%E3%81%AB%E5%AE%9F%E8%A3%85%E3%81%97%E3%81%9F%E3%82%89%E6%9C%80%E9%AB%98%E3%81%AE%E8%A8%80%E8%AA%9E%E3%81%AB%E3%81%AA%E3%82%8B
要約すると、Rubyに型アノテーションが導入されたら
型を書いた方が行儀が良いという風潮が蔓延するだろうが、自分は型を書きたくないので
そのために型をかけないようにしておく、というもの
良いことが出来ると、良いことをする風潮になるだろうが
自分は悪いことがしたいから、良いことが出来ると困る
と言っているわけで、マジキチなのがお分かりいただけるだろうか
法律があると法律を守らなければならないから嫌
信号があると信号無視が出来ないから嫌
と言ってるようなもので、まさに悪人の考え
型は書いた方が良い、とうことはしっかり分かってる上で
嫌だから出来ないようにしておく、と言ってるわけで、悪人独特の自己矛盾
しかし普段自分の都合のいいように嘘しか言わない彼が、本音を語っている点は評価できる
570デフォルトの名無しさん (ワッチョイ 23da-dfB4)
2019/08/05(月) 13:47:09.02ID:3mqInMrR0 そろそろこっちでやれ
アンチということではなく本スレの代わりとして
Rubyについて(アンチ専用) Part005
https://mevius.5ch.net/test/read.cgi/tech/1555162340/
アンチということではなく本スレの代わりとして
Rubyについて(アンチ専用) Part005
https://mevius.5ch.net/test/read.cgi/tech/1555162340/
571デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 13:52:01.39ID:nl2V9bb60 しかし>>569に書いたようなことを公式で言うとマジキチだから
静的型を導入しない理由を聞かれると、いつも適当なことを言って言葉を濁しているわけ
これでRuby3.0で導入されるといわれる型チェックが
どうしてああいう感じになってるか良くわかるでしょ
静的型を導入しない理由を聞かれると、いつも適当なことを言って言葉を濁しているわけ
これでRuby3.0で導入されるといわれる型チェックが
どうしてああいう感じになってるか良くわかるでしょ
572デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 13:52:35.64ID:MNXFY7cg0 型を書きたくないんじゃなくて、Rubyの設計上、型を書こうとすると
設計レベルで作り直さなきゃいけなくなるから面倒くさいだけだよ。
設計レベルで作り直さなきゃいけなくなるから面倒くさいだけだよ。
573デフォルトの名無しさん (ワッチョイ ad7c-ONUK)
2019/08/05(月) 14:07:53.55ID:NOA3rn3w0 Perlも6で詰んだしな
*byも脱皮失敗で死亡
pythonは2->3でヨタヨタだがうまく離陸してくれ
*byも脱皮失敗で死亡
pythonは2->3でヨタヨタだがうまく離陸してくれ
574デフォルトの名無しさん (ワッチョイ 037d-SEhp)
2019/08/05(月) 14:08:47.58ID:kz1352lP0 単純に全体の完成度がバージョン0.8くらいに戻るよね
そこまでして「わざわざRubyに」導入するべきものでもないということではあろう
昔ならともかく今は他の言語もあるのだから
これ言うと揉めるけどな
そこまでして「わざわざRubyに」導入するべきものでもないということではあろう
昔ならともかく今は他の言語もあるのだから
これ言うと揉めるけどな
575デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 14:14:45.71ID:MNXFY7cg0 1. 型を導入すると良いものになる。
2. だけど全体を再設計しなければならない。(面倒くさい)
3. その上、使いやすくすると、言語がガラリと変わる
4. ユーザーもその「使いやすい言語」に乗り換えるのが面倒くさい
5. 結果使われなくなるのがわかっている。
6. Ruby離れを防ぎつつ、型を導入するには、コレしかなかった
2. だけど全体を再設計しなければならない。(面倒くさい)
3. その上、使いやすくすると、言語がガラリと変わる
4. ユーザーもその「使いやすい言語」に乗り換えるのが面倒くさい
5. 結果使われなくなるのがわかっている。
6. Ruby離れを防ぎつつ、型を導入するには、コレしかなかった
576デフォルトの名無しさん (ワッチョイ ad7c-TyxI)
2019/08/05(月) 14:23:24.52ID:NOA3rn3w0 型無し*byに不満な人はElixirやればいい
577デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 14:27:47.88ID:bU1KwNWi0 LISP や Smalltalk が好きな人にとって使いやすい Perl の代替となるスクリプト言語なんだから、型欲しい人は他の言語使えば? と言うだけの話。
型を導入すると対話環境での使い勝手が悪くなり、書き捨てのプログラムを書く際の手間が増える。それは楽しくない。
型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。
妥協できるラインが、今の、書きたいやつは書けば良いんじゃない?でも、文法を拡張して既存コードとの非互換生むような修整は受け入れられない。
と言う話でしょ。
型を導入すると対話環境での使い勝手が悪くなり、書き捨てのプログラムを書く際の手間が増える。それは楽しくない。
型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。
妥協できるラインが、今の、書きたいやつは書けば良いんじゃない?でも、文法を拡張して既存コードとの非互換生むような修整は受け入れられない。
と言う話でしょ。
578デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 14:32:38.11ID:bU1KwNWi0579デフォルトの名無しさん (ワッチョイ 23a5-dfB4)
2019/08/05(月) 15:48:35.23ID:Umi2Ipdj0 ドキュメントに型を書くことになるんだから、そこの仕様をしっかり決めるべきだった
580デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 16:30:50.53ID:MNXFY7cg0581デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 16:33:24.89ID:MNXFY7cg0 >>577
> 型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。
> 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。
その二つ、論点のすり替えだよね?
型を使うと速くなる? → それは事実 → だから人間の問題にすり替える。
型を使うとバグが減る? → それは事実 → だから人間の問題にすり替える。
事実ならまず「それは事実だね」って言ってみようか?
事実に対して反論するかと思いきや、反論しないんだもの(笑)
> 型を使うと速くなる? そんなに速度が要求される要件に使うなんて決定をする奴がおかしい。
> 型を使うとバグが減る? そんなにレベルの低い人は使わなければいい。
その二つ、論点のすり替えだよね?
型を使うと速くなる? → それは事実 → だから人間の問題にすり替える。
型を使うとバグが減る? → それは事実 → だから人間の問題にすり替える。
事実ならまず「それは事実だね」って言ってみようか?
事実に対して反論するかと思いきや、反論しないんだもの(笑)
582デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 16:34:57.91ID:MNXFY7cg0 > でも、文法を拡張して既存コードとの非互換生むような修整は受け入れられない。
結局本音はそこ。
速くなるとかバグが減るという "事実" は存在するが、
既存コードの非互換性をうむから、改善できない。
結局本音はそこ。
速くなるとかバグが減るという "事実" は存在するが、
既存コードの非互換性をうむから、改善できない。
583デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 17:42:09.05ID:bU1KwNWi0 >>581
型を入れてもオープンクラスな言語では大して速度は上がらない。精々一部のループの速度が上がるだけ。それは事実。java みたいに final や primitive 型入れれば効果は相当あると思うけど、それは Ruby を否定することになる。
型を入れると未熟なプログラマでもコンパイル時に分かる程度のバグなら発見できることはある。それは事実。でも実行時例外の回避は出来ないし、オープンクラスを使ったダックタイピングという Ruby の言語デザイン自体を否定することになる。
> 事実に対して反論するかと思いきや、反論しないんだもの(笑)
反論もなにも、自分はこのスレッドで >>344 >>577 >>578 しか書いてないよ。
だから、なんらかの反論を待ってるならその相手は自分ではない。
自分は Ruby に非互換を生む型の導入を期待するくらいなら、型有りの別の言語で書けばいいじゃんという立場。
>>580
この場合の strict モードって何を指してるの?
RPython 的に SRuby 作って型使いたい人は SRuby 使えってこと?同一バイナリにしてモード切り替えするとしたら、パーサも VM もほぼ別物レベルになると思うけど。
共有できるとしたら、pure ruby で書かれたごく一部のライブラリ程度じゃない?
型を入れてもオープンクラスな言語では大して速度は上がらない。精々一部のループの速度が上がるだけ。それは事実。java みたいに final や primitive 型入れれば効果は相当あると思うけど、それは Ruby を否定することになる。
型を入れると未熟なプログラマでもコンパイル時に分かる程度のバグなら発見できることはある。それは事実。でも実行時例外の回避は出来ないし、オープンクラスを使ったダックタイピングという Ruby の言語デザイン自体を否定することになる。
> 事実に対して反論するかと思いきや、反論しないんだもの(笑)
反論もなにも、自分はこのスレッドで >>344 >>577 >>578 しか書いてないよ。
だから、なんらかの反論を待ってるならその相手は自分ではない。
自分は Ruby に非互換を生む型の導入を期待するくらいなら、型有りの別の言語で書けばいいじゃんという立場。
>>580
この場合の strict モードって何を指してるの?
RPython 的に SRuby 作って型使いたい人は SRuby 使えってこと?同一バイナリにしてモード切り替えするとしたら、パーサも VM もほぼ別物レベルになると思うけど。
共有できるとしたら、pure ruby で書かれたごく一部のライブラリ程度じゃない?
584デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 17:55:40.47ID:MNXFY7cg0 型を入れてもオープンクラスな言語では大して速度は上がらない
→オープンでない言語なら速度は上がる
→速度を上げるためにはオープンでなくすれば良い
→そのような改善方法は存在するが、非互換性をうむから、取り入れられない。
→まつもと「Rubyでは改善はなんです。諦めてください」
→オープンでない言語なら速度は上がる
→速度を上げるためにはオープンでなくすれば良い
→そのような改善方法は存在するが、非互換性をうむから、取り入れられない。
→まつもと「Rubyでは改善はなんです。諦めてください」
585デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 17:55:56.86ID:MNXFY7cg0 →まつもと「Rubyでは改善は無理なんです。諦めてください」
586デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 17:58:22.53ID:MNXFY7cg0 >この場合の strict モードって何を指してるの?
適切な型を書いたものがstrictモード
だがどのオブジェクト指向でも、基底クラスのobject型として扱うことはできる。
暗黙的にobject型の変数を使ってるとみなしているのが今のRuby。
変数の型をobject型と書く(もしくは省略)か、適切な型を書くかの違い。
適切な型を書いたものがstrictモード
だがどのオブジェクト指向でも、基底クラスのobject型として扱うことはできる。
暗黙的にobject型の変数を使ってるとみなしているのが今のRuby。
変数の型をobject型と書く(もしくは省略)か、適切な型を書くかの違い。
587デフォルトの名無しさん (ワッチョイ 65cd-mfhl)
2019/08/05(月) 18:29:24.24ID:WUbT37Lx0 > 実行時例外の回避は出来ないし
は?
は?
588デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/05(月) 18:55:01.90ID:kCWOwKEP0 Rubyの癌は、型を指定できないことよりも、宣言ができないこと。
型を指定できないのは、宣言ができないことによる副産物。
宣言は、ここからこのオブジェクトを使うで、ということを明確にできてわかりやすいのに、何で嫌がってんだか。
型を指定できないのは、宣言ができないことによる副産物。
宣言は、ここからこのオブジェクトを使うで、ということを明確にできてわかりやすいのに、何で嫌がってんだか。
589デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 19:04:12.59ID:bU1KwNWi0 >>586
strict モードにしたら
Class が凍結されるの?
途中でモードを切り替えられるの?
そのスコープは?
マルチスレッド時の挙動は?
Object クラス(Kernelも?)への継承関係がなくなるの?
データは VALUE 型じゃなくなるの?
オブジェクトのデータ構造は自分で C で定義するの?
既存CAPIとの整合はどう取るの?
そのコードを古いインタプリタに食わせたらどうなるの?
また分断するの?(想像するに1.4->1.6 や 1.8->1.9 より大きそうだけど)
strict にしたら何がどう変わるのかわからん。
過去に例示してあるのなら参照求む。
>>585
そう。 大抵の要望は Crystal で解決されてると思う。
速度欲しいなら Elixir 。もしくは C で FFI。
strict モードにしたら
Class が凍結されるの?
途中でモードを切り替えられるの?
そのスコープは?
マルチスレッド時の挙動は?
Object クラス(Kernelも?)への継承関係がなくなるの?
データは VALUE 型じゃなくなるの?
オブジェクトのデータ構造は自分で C で定義するの?
既存CAPIとの整合はどう取るの?
そのコードを古いインタプリタに食わせたらどうなるの?
また分断するの?(想像するに1.4->1.6 や 1.8->1.9 より大きそうだけど)
strict にしたら何がどう変わるのかわからん。
過去に例示してあるのなら参照求む。
>>585
そう。 大抵の要望は Crystal で解決されてると思う。
速度欲しいなら Elixir 。もしくは C で FFI。
590デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 19:13:25.94ID:MNXFY7cg0591デフォルトの名無しさん (ワッチョイ ad61-5VcE)
2019/08/05(月) 19:28:52.54ID:bU1KwNWi0 >>590
そのかわり型ということを考えなくても計算機と対話することができる日常用途に便利な言語になったわけだ。
そのかわり型ということを考えなくても計算機と対話することができる日常用途に便利な言語になったわけだ。
592デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 19:32:29.27ID:MNXFY7cg0 Rubyにも型があるんだから、型考えてるでしょw
それともどんな型を入れても、エラーにならずに動くコードかいてんのか?
それともどんな型を入れても、エラーにならずに動くコードかいてんのか?
593デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 21:15:23.92ID:nl2V9bb60 型チェックが欲しい人は他の言語使えって言ってるけど
Ruby3.0で型チェックが導入されるんだからそこは前向きに検討しようよwww
matzが言うようにRubyに型が指定できるようになったら、指定すべきという勢力も
出てくるだろうし、一方でわざと型を書くのが億劫になる仕様にしてあるし
どちらの勢力が勝つか未知数というか
平行線が続いて空中分解してクラッシュするかもしれないし
ここでも今そういう意見があるように、今までは型チェックが欲しい人は他の言語使え
だったわけだけど、Ruby3.0からはそうじゃなくなるから更にカオスになるだろう
今までは型を書くべきかどうかはRuby 対 他の言語って感じだったけど
これからはRubyの中でそれが起こる
楽しみだね
このへん、言語仕様で初めからどちらかに決まっていた方がスッキリしていたかもしれないね
Ruby3.0で型チェックが導入されるんだからそこは前向きに検討しようよwww
matzが言うようにRubyに型が指定できるようになったら、指定すべきという勢力も
出てくるだろうし、一方でわざと型を書くのが億劫になる仕様にしてあるし
どちらの勢力が勝つか未知数というか
平行線が続いて空中分解してクラッシュするかもしれないし
ここでも今そういう意見があるように、今までは型チェックが欲しい人は他の言語使え
だったわけだけど、Ruby3.0からはそうじゃなくなるから更にカオスになるだろう
今までは型を書くべきかどうかはRuby 対 他の言語って感じだったけど
これからはRubyの中でそれが起こる
楽しみだね
このへん、言語仕様で初めからどちらかに決まっていた方がスッキリしていたかもしれないね
594デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 21:19:04.07ID:nl2V9bb60 それに加えて型定義ファイルの自動生成の話もあるが
まぁ最初は使い物にならないだろうからそれも含めてカオスになる
それがRuby3.0
静的型言語も動的型言語を取り入れてるっていうけど
こっちは何の問題もなく行われてて全くの静寂なのが笑える
まぁ型推論はコンパイラが型を推論してくれるというだけで
型は静的に決定されているわけだから当たり前なんだけど
まぁ最初は使い物にならないだろうからそれも含めてカオスになる
それがRuby3.0
静的型言語も動的型言語を取り入れてるっていうけど
こっちは何の問題もなく行われてて全くの静寂なのが笑える
まぁ型推論はコンパイラが型を推論してくれるというだけで
型は静的に決定されているわけだから当たり前なんだけど
595デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 21:29:41.54ID:nl2V9bb60 型は書いたほうが良いが今更自然な形での導入は難しい
しかし3.0で書きにくいけど書けるようになる
書けるようになるなら書いたほうが良い
でも書きにくい
でも書かなきゃ
でも書きにくい
書きたくない
でも書かなきゃ
でも書きにくい
これがRuby3.0
しかし3.0で書きにくいけど書けるようになる
書けるようになるなら書いたほうが良い
でも書きにくい
でも書かなきゃ
でも書きにくい
書きたくない
でも書かなきゃ
でも書きにくい
これがRuby3.0
596デフォルトの名無しさん (ブーイモ MM43-SVyD)
2019/08/05(月) 21:34:38.65ID:ubcyIKEPM 型注釈、PythonとRuby両方でやってみたけど
Pythonの方が全然完成度高い
試験的な実装とはいえRubyの方は複雑になるとチェック通せなくなる
Pythonの方が全然完成度高い
試験的な実装とはいえRubyの方は複雑になるとチェック通せなくなる
597デフォルトの名無しさん (ワッチョイ ad7c-ONUK)
2019/08/06(火) 15:11:10.96ID:SvihPrAV0 実行時まで型が決まらない
ひとことで言え
ひとことで言え
598デフォルトの名無しさん (ワッチョイ 8514-F0Sa)
2019/08/06(火) 17:04:56.96ID:9obbnMlM0 実行時まで型が決まらないと言うが、
コードは特定の型もしくは特定のインターフェースを備えた
型であるという前提になってるんだよなw
コードは特定の型もしくは特定のインターフェースを備えた
型であるという前提になってるんだよなw
599デフォルトの名無しさん (ワッチョイ 23a5-fQzx)
2019/08/06(火) 18:28:14.04ID:8UHtiNBK0 perl5の末期に登場したのがuse strictとuse warningだよ
それを順当に真似てるだけだ
他意は無い
それを順当に真似てるだけだ
他意は無い
600デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/06(火) 20:21:21.15ID:vJC9K0rF0 前々からの、掛け違えたボタンの、いよいよ一番上を閉めようとしている段階なのだよ
そんなことは出来ないか、不格好か、首が絞まるか
何にせよ、こういう仇花的なことをしなければならない状況に追い込めたのは
日々のみんなの空気づくりのおかげであって、いわば人類側の勝利だよ
おめでとう
そんなことは出来ないか、不格好か、首が絞まるか
何にせよ、こういう仇花的なことをしなければならない状況に追い込めたのは
日々のみんなの空気づくりのおかげであって、いわば人類側の勝利だよ
おめでとう
601デフォルトの名無しさん (ワッチョイ 239c-38Du)
2019/08/06(火) 20:25:09.69ID:4qDHXZiE0 まずはモンキーパッチを抑制するオプションを追加して
静的に解析できるようにするのが先でしょ
静的に解析できるようにするのが先でしょ
602デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/06(火) 20:27:16.73ID:SN9O18fE0603デフォルトの名無しさん (ワッチョイ 8514-F0Sa)
2019/08/06(火) 20:34:15.67ID:9obbnMlM0 モンキーパッチ(オープンクラス)ができるのはメリットではあるが、
通常はそんなことしないので、小さなメリットのために
大きなデメリットが発生してるんだよな。
最終手段を取るしか無いところだけ、unsafeとかマークを付けて対応すればよかった。
通常はそんなことしないので、小さなメリットのために
大きなデメリットが発生してるんだよな。
最終手段を取るしか無いところだけ、unsafeとかマークを付けて対応すればよかった。
604デフォルトの名無しさん (ワッチョイ 75e7-27IP)
2019/08/07(水) 18:14:09.58ID:K4IThe5f0 >>596
>Pythonの方が全然完成度高い
当然の感想だよ
そもそも静的型付けは大きく以下の2つに分類される
・明示的(explicit)な型付け
・暗黙的(implicit)な型付け
前者の明示的型付けはプログラマが型定義を手書きすることを前提としており、
Fortran/Cobolといった1950年代の太古の時代から培われてきた「枯れた技術」である
Python の型アノーテーションも明示的型付けに分類される
従って、完成度が高いのも当然、できて当たり前と言える
後者の暗黙的型付けは堅牢な型システムを前提とし、処理系が「型推論」と呼ばれる技術により
コードから型定義を自動的に決定するものであり、1980年代にMLで開発され、近年、明示的型付けを
主としながら部分的に暗黙性を取り込む次世代言語が次々に登場するなど、急速に普及が進みつつある
MatzがRubyKaigi 2019で語った:
https://logmi.jp/tech/articles/321280
「最近は静的型がすごくホットで、2010年代のプログラミング言語はみんな静的型言語で、…」
というホットな静的型言語も、後者の暗黙的型付けを指す
同時にMatzが語った:
「もう、われわれもやろうか。PHPもPythonもやってるし」って言うんだけど、正直やりたくない……。」
の「やりたくない」のは前者の(プログラマが型定義を手書きしなければ型検査が働かない)明示的型付けを指す
つまり意訳すると:
Rubyでも明示的型付けをやろうと思えばいつでもできるけど、今さら時代に逆行したできて当たり前の事を
やるなんてつまんない、それより今まで誰もやったこともない血が湧き立つような挑戦をしてみたい、
それがRubyらしさだよ
そして、この後、「動的型付け言語であるRubyにおける暗黙的な静的型付けの導入方針」として、
(型推論の代用である)「型プロファイラ」と呼ぶ新技術の紹介が続くわけだ
>Pythonの方が全然完成度高い
当然の感想だよ
そもそも静的型付けは大きく以下の2つに分類される
・明示的(explicit)な型付け
・暗黙的(implicit)な型付け
前者の明示的型付けはプログラマが型定義を手書きすることを前提としており、
Fortran/Cobolといった1950年代の太古の時代から培われてきた「枯れた技術」である
Python の型アノーテーションも明示的型付けに分類される
従って、完成度が高いのも当然、できて当たり前と言える
後者の暗黙的型付けは堅牢な型システムを前提とし、処理系が「型推論」と呼ばれる技術により
コードから型定義を自動的に決定するものであり、1980年代にMLで開発され、近年、明示的型付けを
主としながら部分的に暗黙性を取り込む次世代言語が次々に登場するなど、急速に普及が進みつつある
MatzがRubyKaigi 2019で語った:
https://logmi.jp/tech/articles/321280
「最近は静的型がすごくホットで、2010年代のプログラミング言語はみんな静的型言語で、…」
というホットな静的型言語も、後者の暗黙的型付けを指す
同時にMatzが語った:
「もう、われわれもやろうか。PHPもPythonもやってるし」って言うんだけど、正直やりたくない……。」
の「やりたくない」のは前者の(プログラマが型定義を手書きしなければ型検査が働かない)明示的型付けを指す
つまり意訳すると:
Rubyでも明示的型付けをやろうと思えばいつでもできるけど、今さら時代に逆行したできて当たり前の事を
やるなんてつまんない、それより今まで誰もやったこともない血が湧き立つような挑戦をしてみたい、
それがRubyらしさだよ
そして、この後、「動的型付け言語であるRubyにおける暗黙的な静的型付けの導入方針」として、
(型推論の代用である)「型プロファイラ」と呼ぶ新技術の紹介が続くわけだ
605デフォルトの名無しさん (ワッチョイ 1514-F0Sa)
2019/08/07(水) 18:42:31.98ID:WK8NJ3/V0 >>604
なにかごちゃごちゃ語ってるけど、
マッツが言った「やりたくない」は
面倒くさいって意味だよ。
血が湧き立つような挑戦なんてものを思いついていたら
それを理由にするだろ。そんなもんないからさw
なにかごちゃごちゃ語ってるけど、
マッツが言った「やりたくない」は
面倒くさいって意味だよ。
血が湧き立つような挑戦なんてものを思いついていたら
それを理由にするだろ。そんなもんないからさw
606デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/07(水) 19:39:46.36ID:Bpu04+pE0 そら掛け違えたボタンの一番上を締めるのは
血が逆流するほど苦しくて沸き立つだろうな
こんなもんは北朝鮮とか共産党とかの言ってる理想みたいなもので
最初に掛け違えてるからそういう夢を見なきゃいけない羽目になってるだけで
大人になったらさらっと流さなきゃね
血が逆流するほど苦しくて沸き立つだろうな
こんなもんは北朝鮮とか共産党とかの言ってる理想みたいなもので
最初に掛け違えてるからそういう夢を見なきゃいけない羽目になってるだけで
大人になったらさらっと流さなきゃね
607デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/07(水) 19:40:25.87ID:Bpu04+pE0 マルクスとかに感化されて
血が沸き立つような挑戦
って言ってるようなものなんよ
血が沸き立つような挑戦
って言ってるようなものなんよ
608デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/07(水) 20:15:49.09ID:Bpu04+pE0 他は学生運動とかかな>血が湧き立つような
俺は世代じゃないからよく知らんけど、映像見る限り、かなり湧き立ってるな
後単に、「血が湧き立つようなっ」て表現面白い(こわッ
まぁそういうのはあるよ
最初を掛け違えたため人生台無しになるっていう
大概の人はどこかで気づいて掛け直すから大事には至らないけど
物事を考える最初の起点が一つズレて、以降思考が全部ズレる
ゴールにたどり着けないもんだから、ゴールのさらに先へ行こうと夢見る
そうやってたぶらかす
共産党みたいな輩
根本の問題だからなぁ
悪人は悪人にしかなれないってわけじゃないけど
気づけなきゃ悪人のまま終わるよね
俺は世代じゃないからよく知らんけど、映像見る限り、かなり湧き立ってるな
後単に、「血が湧き立つようなっ」て表現面白い(こわッ
まぁそういうのはあるよ
最初を掛け違えたため人生台無しになるっていう
大概の人はどこかで気づいて掛け直すから大事には至らないけど
物事を考える最初の起点が一つズレて、以降思考が全部ズレる
ゴールにたどり着けないもんだから、ゴールのさらに先へ行こうと夢見る
そうやってたぶらかす
共産党みたいな輩
根本の問題だからなぁ
悪人は悪人にしかなれないってわけじゃないけど
気づけなきゃ悪人のまま終わるよね
609デフォルトの名無しさん (オッペケ Sr75-nMBr)
2019/08/08(木) 10:01:50.60ID:Q6oNbeovr すげえ馬鹿な質問するけど
x = [nil, "hoge", 42, 3.14].sample
みたいなのがあった時って型推論ってどうなるの?
x = [nil, "hoge", 42, 3.14].sample
みたいなのがあった時って型推論ってどうなるの?
610デフォルトの名無しさん (ワッチョイ 5aa5-khYc)
2019/08/08(木) 10:56:04.30ID:llWdm4EH0 rubyに限らずスクリプト系はlispが基準だろ
だからリストにはなんでも入れれる
だからリストにはなんでも入れれる
611デフォルトの名無しさん (ワッチョイ da9c-2q8l)
2019/08/08(木) 12:56:56.32ID:ZETliJY00 >>609
理想としてはArray<nil|String|Integer|Float>みたいな感じかね
理想としてはArray<nil|String|Integer|Float>みたいな感じかね
612デフォルトの名無しさん (オイコラミネオ MMad-dTqv)
2019/08/08(木) 15:33:58.94ID:foei6BswM C#的にはエラー(推論不可)だな。
それでいいと思う。
それでいいと思う。
613デフォルトの名無しさん (アウアウカー Sa4d-2q8l)
2019/08/08(木) 21:48:40.95ID:AsNa+aKpa TypeScriptは型システムの表現が凄すぎて
大抵の言語に型付けできそう
パクればRubyにも型付けできるんじゃね
大抵の言語に型付けできそう
パクればRubyにも型付けできるんじゃね
614デフォルトの名無しさん (ワッチョイ da2c-8lAC)
2019/08/08(木) 22:17:23.13ID:/tBUMiMq0 Haxe では、Array<Dynamic> で、何の型でも入る、配列を定義できる
これは型推論しないから、できる限り避けるべき!
これは、設計ミスかも知れない
これは型推論しないから、できる限り避けるべき!
これは、設計ミスかも知れない
615デフォルトの名無しさん (ワッチョイ 2ecb-l5Zy)
2019/08/11(日) 09:42:24.48ID:w8BJYpRO0 typescript なら [ null, string, number, ‘foo’ | ‘bar’, 1 | 2 ]
のように定義できるしね
のように定義できるしね
616デフォルトの名無しさん (ワッチョイ ee7c-aqzO)
2019/08/12(月) 10:28:41.63ID:q+3SbcDd0 そうやって夢を見ておけばいい
その方が落胆が大きくなるだろうから
その方が落胆が大きくなるだろうから
617デフォルトの名無しさん (ワッチョイ da9c-2q8l)
2019/08/12(月) 21:41:57.67ID:gUUEF29U0 とにかくTSからパクれるものは全部パクった方がいいと思うんだが
JSに無理やり型付けするために生み出されたキメラなのだから
参考になる部分だらけなはず
JSに無理やり型付けするために生み出されたキメラなのだから
参考になる部分だらけなはず
618デフォルトの名無しさん (ワッチョイ ee7c-aqzO)
2019/08/12(月) 22:34:28.71ID:q+3SbcDd0 全然違う方向へ向かってるから無理
619デフォルトの名無しさん (アウウィフ FF39-FHwm)
2019/08/13(火) 09:14:00.33ID:oXPAD0KHF TSで書いてRuby吐くコンパイラω
620デフォルトの名無しさん (ドコグロ MM63-h434)
2019/08/17(土) 14:16:33.22ID:bpQgx2FJM621デフォルトの名無しさん (ワッチョイ 1373-dCD9)
2019/08/17(土) 16:35:39.55ID:zExljCul0622デフォルトの名無しさん (ドコグロ MM63-h434)
2019/08/17(土) 16:44:03.64ID:bpQgx2FJM >>621
だから構文の話をしてるんだろ
だから構文の話をしてるんだろ
623デフォルトの名無しさん (ワッチョイ 7be9-SXVW)
2019/08/17(土) 16:58:40.60ID:iudotV170 jsは構文でもJavaと似ても似つかないぞ
624デフォルトの名無しさん (ドコグロ MM63-h434)
2019/08/17(土) 17:04:14.21ID:bpQgx2FJM 惜しい
jsですら似ても似つかないなら、Rubyだったらどうなのか考えてみよう
基準はあくまでRubyであることを忘れないようにしましょう
jsですら似ても似つかないなら、Rubyだったらどうなのか考えてみよう
基準はあくまでRubyであることを忘れないようにしましょう
625デフォルトの名無しさん (ワッチョイ 7be9-SXVW)
2019/08/17(土) 17:16:36.20ID:iudotV170 話を逸らすのはチョン國人の手口
626デフォルトの名無しさん (ワッチョイ 1373-dCD9)
2019/08/17(土) 19:31:09.99ID:zExljCul0627デフォルトの名無しさん (ワッチョイ b99e-O2DT)
2019/08/17(土) 19:37:00.00ID:r+LO0zEM0628デフォルトの名無しさん (ワッチョイ 0b68-SmAy)
2019/08/17(土) 21:08:03.39ID:8EnS7QZU0629デフォルトの名無しさん (ワッチョイ 2914-2ejv)
2019/08/17(土) 22:01:43.78ID:g4f/iCif0 JavaScriptのクラス定義は、C++やJavaにそっくり
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes
class Rectangle {
constructor(height, width) {
this.height = height;
this.width = width;
}
// ゲッター
get area() {
return this.calcArea();
}
// メソッド
calcArea() {
return this.height * this.width;
}
}
const square = new Rectangle(10, 10);
console.log(square.area); // 100
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Classes
class Rectangle {
constructor(height, width) {
this.height = height;
this.width = width;
}
// ゲッター
get area() {
return this.calcArea();
}
// メソッド
calcArea() {
return this.height * this.width;
}
}
const square = new Rectangle(10, 10);
console.log(square.area); // 100
630デフォルトの名無しさん (ワッチョイ 2914-2ejv)
2019/08/17(土) 22:03:16.05ID:g4f/iCif0 プライベートフィールドはちょっと変わってる。
class Rectangle {
#height = 0;
#width;
static #depth = 1;
constructor(height, width) {
this.#height = height;
this.#width = width;
}
volume(){
return this.#height * this.#width * Rectangle.#depth;
}
}
class Rectangle {
#height = 0;
#width;
static #depth = 1;
constructor(height, width) {
this.#height = height;
this.#width = width;
}
volume(){
return this.#height * this.#width * Rectangle.#depth;
}
}
631デフォルトの名無しさん (ワッチョイ 2914-2ejv)
2019/08/17(土) 22:03:58.27ID:g4f/iCif0 JavaScriptの継承もC++やJavaとそっくり
class Dog extends Animal {
constructor(name) {
super(name); // 親クラスのコンストラクタを呼び出し、name パラメータを渡す
}
speak() {
console.log(`${this.name} barks.`);
}
}
class Dog extends Animal {
constructor(name) {
super(name); // 親クラスのコンストラクタを呼び出し、name パラメータを渡す
}
speak() {
console.log(`${this.name} barks.`);
}
}
632デフォルトの名無しさん (ワッチョイ 132c-BF++)
2019/08/17(土) 23:51:47.98ID:fYRni8gj0 Node.js は、Ruby のコピー。
npm, yarn も、Bundler のコピー
CakePHP は、Rails のコピー
npm, yarn も、Bundler のコピー
CakePHP は、Rails のコピー
633デフォルトの名無しさん (ワッチョイ 2914-2ejv)
2019/08/18(日) 00:59:22.65ID:KK6bG3/n0 > Node.js は、Ruby のコピー。
間違い。Node.jsは言語ではなく実行環境(≒ライブラリを提供してる)
Rubyという言語をコピーするわけないじゃないですか(笑)
ツールやフレームワークに価値はあって、そっちはコピーしたとしても
Rubyという言語にコピーする価値はないですからねw
間違い。Node.jsは言語ではなく実行環境(≒ライブラリを提供してる)
Rubyという言語をコピーするわけないじゃないですか(笑)
ツールやフレームワークに価値はあって、そっちはコピーしたとしても
Rubyという言語にコピーする価値はないですからねw
634デフォルトの名無しさん (ワッチョイ 0b68-SmAy)
2019/08/18(日) 01:51:43.24ID:DCFRUhnv0 >>629
つい最近そうできるようになっただけやけどな。w
つい最近そうできるようになっただけやけどな。w
635デフォルトの名無しさん (ワッチョイ 2914-2ejv)
2019/08/18(日) 01:59:35.72ID:KK6bG3/n0636デフォルトの名無しさん (ワッチョイ 13a5-vqjO)
2019/08/18(日) 03:22:24.68ID:1l6Jlwy20 元から似せて作ってないって話でしょ
637632 (ワッチョイ 132c-BF++)
2019/08/18(日) 08:06:58.21ID:26pp6bRY0 Node.js は、Ruby 実装系のコピーだろ。
npm, yarn も、Bundler そっくり!
npm, yarn のlockfile とか、Bundler のlockfileと同じ
Ruby, Node.js も、サーバー側プログラミング
npm, yarn も、Bundler そっくり!
npm, yarn のlockfile とか、Bundler のlockfileと同じ
Ruby, Node.js も、サーバー側プログラミング
638デフォルトの名無しさん (ワッチョイ 2914-2ejv)
2019/08/18(日) 08:22:32.26ID:KK6bG3/n0 > Node.js は、Ruby 実装系のコピーだろ。
全く違う。似てるところが一つもないと言っていいレベル
つーか、Rubyにぱくれるところなんてなにもない
全く違う。似てるところが一つもないと言っていいレベル
つーか、Rubyにぱくれるところなんてなにもない
639デフォルトの名無しさん (ワッチョイ 7b3b-oOLq)
2019/08/18(日) 09:44:57.54ID:vcjALM940 ちょっとこの信者なんとかしてくれない?
スキルセットがRubyしか無いから、何が何でもRubyのコピーだと言い張ってて鬱陶しいんだけど。
スキルセットがRubyしか無いから、何が何でもRubyのコピーだと言い張ってて鬱陶しいんだけど。
640デフォルトの名無しさん (ワッチョイ 7a2c-3Uq+)
2019/08/22(木) 23:17:51.79ID:bojKrn/j0 WEB+DB vol.111 は、Ruby on Rails 6, Julia 特集だけど、
Python から、Julia へ流れそう
Julia は、do 〜 end が使えて、Ruby風に改良されてる!
Jupyter Notebook(JN)でも使える
Windows で、RubyをJNで使っている人は、日本語でバグらないの?
irb では、バグるけど
RubyをVSCode で使っているけど、JNでも日本語でバグらないかどうか、知りたい
Python から、Julia へ流れそう
Julia は、do 〜 end が使えて、Ruby風に改良されてる!
Jupyter Notebook(JN)でも使える
Windows で、RubyをJNで使っている人は、日本語でバグらないの?
irb では、バグるけど
RubyをVSCode で使っているけど、JNでも日本語でバグらないかどうか、知りたい
641デフォルトの名無しさん (ワッチョイ f57f-7nd5)
2019/08/23(金) 01:33:05.16ID:ypvGItf/0 ocraやgolangのgo buildみたいにRubyスクリプトとその要求ファイルを
単一の実行ファイルに固める仕掛けのLinux/FreeBSD向けってありませんか?
利用側でのセットアップを簡単にするために探しています
単一の実行ファイルに固める仕掛けのLinux/FreeBSD向けってありませんか?
利用側でのセットアップを簡単にするために探しています
642デフォルトの名無しさん (ワッチョイ 7a2c-3Uq+)
2019/08/23(金) 02:21:20.94ID:FLxS3jQ80 Bundler は?
Node.js のnpm, yarn と同様の、パッケージマネージャー
Node.js のnpm, yarn と同様の、パッケージマネージャー
643デフォルトの名無しさん (ワッチョイ 7a73-P0k6)
2019/08/23(金) 07:21:08.15ID:wNECBEc60 Bundler というより、gem だね
gem を作れば1ファイルにできる
gem を作れば1ファイルにできる
644デフォルトの名無しさん (ワッチョイ 1597-oRVe)
2019/08/25(日) 21:34:28.24ID:qjFyDFHg0 >>640
JuliaとPythonじゃ目指してる方向が違うから、PythonがまるまるJuliaに移行するということはないよ。
numpyでゴリゴリ計算してるようなものはJuliaに移行するだろうけど、
Cなどで書かれた外部ライブラリを呼び出しまくっているようなものが移行するとは思えない。
JuliaとPythonじゃ目指してる方向が違うから、PythonがまるまるJuliaに移行するということはないよ。
numpyでゴリゴリ計算してるようなものはJuliaに移行するだろうけど、
Cなどで書かれた外部ライブラリを呼び出しまくっているようなものが移行するとは思えない。
645デフォルトの名無しさん (ワッチョイ 1668-HFEL)
2019/08/25(日) 22:57:02.68ID:EoRiUKjV0 結局、Perl5はシステム、RubyはWebバックエンド、Pythonは機械学習と、確立した用途で落ち着いてしまいそうだよなあ。
646デフォルトの名無しさん (ワッチョイ 1aff-fOxg)
2019/08/25(日) 23:37:44.87ID:5Gyozg9W0 Rubyは良く出来た言語だが、困るのはバイナリ処理したいとき
バイナリを扱うことはできるらしいが、かなり面倒そうで結局やらない
rubyにCのインタプリタを内蔵してはどうなのだろう
AIなど一挙に使える範囲が広がる
バイナリを扱うことはできるらしいが、かなり面倒そうで結局やらない
rubyにCのインタプリタを内蔵してはどうなのだろう
AIなど一挙に使える範囲が広がる
647デフォルトの名無しさん (ワッチョイ 0e93-zLXz)
2019/08/26(月) 00:06:00.18ID:VlVyQYXI0 もうCでよくない?
648デフォルトの名無しさん (ワッチョイ 1aff-fOxg)
2019/08/26(月) 00:08:19.86ID:1cV4t1GF0 でもたいていのところではrubの方がでいいわけですし
649デフォルトの名無しさん (ワッチョイ 1668-HFEL)
2019/08/26(月) 03:42:42.45ID:6n+O+75B0650デフォルトの名無しさん (ワッチョイ 2514-8k/K)
2019/08/26(月) 03:47:15.63ID:rnlkvQrj0 バイナリはバイナリのまま処理すればいいと思うんだが、
なんでいちいちpack/unpackなんかするんだ?
なんでいちいちpack/unpackなんかするんだ?
651デフォルトの名無しさん (ワッチョイ faa5-0PH2)
2019/08/26(月) 10:06:15.99ID:rKfqBH6Q0 perlからの流れであり深い意味は無い
それが好ましいと言う奴だけがrubyを使ってる
だから宗教だ
「わたくしはそれを気にいっている」宗教ではコレ以外の理由は必要無い
それが好ましいと言う奴だけがrubyを使ってる
だから宗教だ
「わたくしはそれを気にいっている」宗教ではコレ以外の理由は必要無い
652デフォルトの名無しさん (オイコラミネオ MMbd-HFEL)
2019/08/26(月) 13:12:19.64ID:WoXCTlJRM >>650
スクリプト言語は原則として、メモリに直接アクセスするようにはできていない。
念のために言っておくと、C/C++のキャストと比較しているのならそもそも大間違い。
また、あれはあれで問題だらけ。
スクリプト言語は原則として、メモリに直接アクセスするようにはできていない。
念のために言っておくと、C/C++のキャストと比較しているのならそもそも大間違い。
また、あれはあれで問題だらけ。
653デフォルトの名無しさん (ワッチョイ ce7c-7nd5)
2019/08/26(月) 13:36:12.79ID:bJVhcqWX0 例えば?
654デフォルトの名無しさん (ワッチョイ 7a14-8k/K)
2019/08/26(月) 13:43:52.88ID:NWn2YSWg0 バイナリのまま処理すればっていってるだけで
メモリに直接アクセスしろなんて言ってないんだが
メモリに直接アクセスしろなんて言ってないんだが
655デフォルトの名無しさん (ワッチョイ a67c-9WLl)
2019/08/26(月) 14:43:00.63ID:T0vtMl8v0 >rubyにCのインタプリタ
ffiとかwin32apiとかじゃだめなんか
ffiとかwin32apiとかじゃだめなんか
656デフォルトの名無しさん (ワッチョイ 1a76-fOxg)
2019/08/26(月) 17:33:50.52ID:dXTw2J2/0 >>655
win32apiはちょっとできることが違うように思います
ffiというのは知らなかったので調べてみます
RubyGemパッケージrest-client、バックドアを含むバージョンが立て続けに公開される
https://security.srad.jp/story/19/08/25/0620202/
不正に公開されたのはバージョン1.6.10/1.6.11/1.6.12/1.6.13の4バージョン
1.6.13は1,061回ダウンロードされていたそうだ
win32apiはちょっとできることが違うように思います
ffiというのは知らなかったので調べてみます
RubyGemパッケージrest-client、バックドアを含むバージョンが立て続けに公開される
https://security.srad.jp/story/19/08/25/0620202/
不正に公開されたのはバージョン1.6.10/1.6.11/1.6.12/1.6.13の4バージョン
1.6.13は1,061回ダウンロードされていたそうだ
657デフォルトの名無しさん (ワッチョイ 6501-p7LT)
2019/08/26(月) 19:08:01.58ID:2cRTpeOk0 質問です。
配列64個分packしたいんですけど、どうすればpackできますか?
よろしくお願いしますm(_ _)m
a=[0]*64
a.pack("i*")
配列64個分packしたいんですけど、どうすればpackできますか?
よろしくお願いしますm(_ _)m
a=[0]*64
a.pack("i*")
658デフォルトの名無しさん (ワッチョイ 6501-p7LT)
2019/08/26(月) 19:29:23.21ID:2cRTpeOk0 a[5]=800
のようにデータを入れてから送りたいです
のようにデータを入れてから送りたいです
659デフォルトの名無しさん (ワッチョイ 6501-p7LT)
2019/08/26(月) 19:39:44.11ID:2cRTpeOk0 出来ました。
失礼しました
失礼しました
660デフォルトの名無しさん (ワッチョイ 1668-HFEL)
2019/08/26(月) 20:06:48.18ID:6n+O+75B0661デフォルトの名無しさん (ワッチョイ d614-8k/K)
2019/08/26(月) 20:18:12.71ID:j2nyzmJv0662デフォルトの名無しさん (ワッチョイ ce7c-7nd5)
2019/08/26(月) 20:46:55.19ID:bJVhcqWX0 いいぞ
もっとやれ
もっとやれ
663デフォルトの名無しさん (ワッチョイ ce8c-Bk+d)
2019/08/27(火) 01:27:52.33ID:shMgsf0q0 これほど自信満々なところを見ると俺らが知ってるバイナリと
>>660の頭の中のバイナリは違うものなんやろな
>>660の頭の中のバイナリは違うものなんやろな
664デフォルトの名無しさん (ワッチョイ 7a7d-IePP)
2019/08/27(火) 07:36:50.86ID:N9jETkI/0 bit演算を使えば一度に計算できることを
ループと何重にもネストしたif文でやってる
プログラムを何度も見たことがある
ループと何重にもネストしたif文でやってる
プログラムを何度も見たことがある
665デフォルトの名無しさん (スップ Sd73-s5ZA)
2019/08/30(金) 02:31:29.55ID:mLs+0kBOd RubyはPythonにはもちろんだけどPHPにも喰われ出してるね
何故こうなってしまったんだろうか
文法というか記法が独特だからなのかな
何故こうなってしまったんだろうか
文法というか記法が独特だからなのかな
666デフォルトの名無しさん (ワッチョイ a97c-ca7b)
2019/08/30(金) 09:52:23.42ID:GEn/r+mZ0 元々大した事なかったからな
Railsみたいなモルヒネで延命してるうちに手遅れになった
Railsみたいなモルヒネで延命してるうちに手遅れになった
667デフォルトの名無しさん (ワッチョイ 9963-4dMe)
2019/08/30(金) 14:40:23.42ID:RCTyVXY+0 >>650
自分でTCP/IPパケットの解析をするときに、「バイナリはバイナリのまま処理すれば」十分なの?
バイナリをバイナリのまま処理できるのなんてコピーぐらいの単純なIOしか思いつかないのだが。
バイナリって文字列じゃないだけであって区切りを持った意味のあるバイト列だからね。
自分でTCP/IPパケットの解析をするときに、「バイナリはバイナリのまま処理すれば」十分なの?
バイナリをバイナリのまま処理できるのなんてコピーぐらいの単純なIOしか思いつかないのだが。
バイナリって文字列じゃないだけであって区切りを持った意味のあるバイト列だからね。
668デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/08/30(金) 14:48:49.55ID:1L0XShC30669デフォルトの名無しさん (ワッチョイ 1301-16lO)
2019/08/31(土) 05:20:39.23ID:ZoC/NMoo0 unionみたいなのあったっけ?
670デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/08/31(土) 05:48:43.98ID:bRBeXa4d0 Rubyには無いでしょw
バイナリ扱うのにC/C++よりもPerl5/Rubyのほうが簡単
なぜならpack/unpackが使いやすいから
なんて寝言言ってるから、バイナリ扱うのはC/C++の方が
簡単だって話をしてる。
バイナリ扱うのにC/C++よりもPerl5/Rubyのほうが簡単
なぜならpack/unpackが使いやすいから
なんて寝言言ってるから、バイナリ扱うのはC/C++の方が
簡単だって話をしてる。
671デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/08/31(土) 05:50:42.27ID:bRBeXa4d0 まあ型がない言語でバイナリ扱うのが簡単になるわけがないという
当たり前の話やなw
当たり前の話やなw
672デフォルトの名無しさん (ワッチョイ 1301-16lO)
2019/08/31(土) 07:32:26.18ID:ZoC/NMoo0 じゃあRubyでバイト列を特定の型の構造体として取り扱うにはどうすればいいの
673デフォルトの名無しさん (ワッチョイ 137d-IK1h)
2019/08/31(土) 09:00:52.78ID:KTrrzu1K0674デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/08/31(土) 10:02:23.34ID:bRBeXa4d0 抜けてるからってなんだっていうんだろうか?
そこは抜けてると指摘するんじゃなくて、
簡単な場合をだして反論するべきだろう?
そこは抜けてると指摘するんじゃなくて、
簡単な場合をだして反論するべきだろう?
675デフォルトの名無しさん (ワッチョイ 0b7c-ca7b)
2019/08/31(土) 10:28:13.26ID:nubn4z9u0 >>672
ffi
ffi
676デフォルトの名無しさん (ワッチョイ 6b68-WmBi)
2019/08/31(土) 13:37:47.73ID:UymIA0Th0677デフォルトの名無しさん (ワッチョイ 6114-dbQt)
2019/08/31(土) 13:44:28.66ID:iNpyZmkw0 >>676
知ってる用語を並べてないで、当たり前というのなら、その当たり前のことをしてみせなさいな。雑魚かよw
知ってる用語を並べてないで、当たり前というのなら、その当たり前のことをしてみせなさいな。雑魚かよw
678デフォルトの名無しさん (ワッチョイ 1b7c-rkig)
2019/08/31(土) 19:49:53.43ID:+GP+wx3m0 エンディアンなんか大した問題ではないし
アライメントやパディングは指定できるから
なんでもない
アライメントやパディングは指定できるから
なんでもない
679デフォルトの名無しさん (オッペケ Sr5d-kLEs)
2019/09/02(月) 07:52:42.22ID:PTshJoC4r ワンリトルトゥーリトル
680デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/09/02(月) 08:15:24.27ID:TbsyiPZi0 スリーリトル、アウト!
681デフォルトの名無しさん (ワッチョイ 132c-cmxz)
2019/09/03(火) 04:03:18.48ID:IE86u3rd0682デフォルトの名無しさん (スッップ Sd33-s5ZA)
2019/09/04(水) 03:31:46.27ID:NtCOMGlqd 亀だと思うんだが最近知ったんで書くだけ書かせてくれ
基本情報処理試験のプログラミング言語の選択科目からCOBOLが消えてPythonが代わりに入った
Rubyは日本発の言語でかつISOにも認定されてるんだぞ?
案件だってRailsやPadrinoなどのWeb系に顕著だが日本では多いわけでさ
Pythonなんて案件ねえよw
まあCOBOL削った分Python入れてもいいですよ
ただそれなら表計算削ってRuby入れろや
国産で世界にも認められてる言語をお上が認めないでどうすんの?バカなの?氏ぬの?
それにMatz氏は親日だぞ?
基本情報処理試験のプログラミング言語の選択科目からCOBOLが消えてPythonが代わりに入った
Rubyは日本発の言語でかつISOにも認定されてるんだぞ?
案件だってRailsやPadrinoなどのWeb系に顕著だが日本では多いわけでさ
Pythonなんて案件ねえよw
まあCOBOL削った分Python入れてもいいですよ
ただそれなら表計算削ってRuby入れろや
国産で世界にも認められてる言語をお上が認めないでどうすんの?バカなの?氏ぬの?
それにMatz氏は親日だぞ?
683デフォルトの名無しさん (スッップ Sd33-s5ZA)
2019/09/04(水) 03:31:56.65ID:NtCOMGlqd 長文失礼
684デフォルトの名無しさん (ワッチョイ d352-ehfx)
2019/09/04(水) 08:07:46.98ID:ILL0NhSJ0 >>682
一時期流行ったが将来性はないからとか、独特の癖のある言語で情報処理の基礎的な能力を評価するには適さないとか。
一時期流行ったが将来性はないからとか、独特の癖のある言語で情報処理の基礎的な能力を評価するには適さないとか。
685デフォルトの名無しさん (エムゾネ FF33-ca7b)
2019/09/04(水) 10:30:47.44ID:Z0seKSTeF excelにpython乗ったらもう試験に表計算は要らないよな
表計算を削ってpandasを入れて欲しい
表計算を削ってpandasを入れて欲しい
686デフォルトの名無しさん (ワッチョイ 13a5-u0zy)
2019/09/04(水) 10:39:47.55ID:nmk4+Aqu0 rubyで一番ヤバいのは|x|とかのラムダ式だろ
縦棒とか一番押しにくい位置にあるじゃん
これ|を二つ押すよかlambdaと5文字書いた方がラク、ってのが世界の趨勢だよ
だもんでruby最大の癖がコレ|x|だ
縦棒とか一番押しにくい位置にあるじゃん
これ|を二つ押すよかlambdaと5文字書いた方がラク、ってのが世界の趨勢だよ
だもんでruby最大の癖がコレ|x|だ
687デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/09/04(水) 10:43:23.87ID:ZdLs6UcV0 > 縦棒とか一番押しにくい位置にあるじゃん
一番押しにくい位置にあることで発生するデメリットはなに?
入力が0.5秒遅れるだけとかその程度?
一番押しにくい位置にあることで発生するデメリットはなに?
入力が0.5秒遅れるだけとかその程度?
688デフォルトの名無しさん (エムゾネ FF33-ca7b)
2019/09/04(水) 11:03:04.89ID:Z0seKSTeF BS NHK でやってた島根県の松江の
おもちゃの病院
割と良かった
おもちゃの病院
割と良かった
689デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/09/04(水) 11:05:18.78ID:ZdLs6UcV0 はは、所詮おもちゃw
690デフォルトの名無しさん (ワッチョイ 13a5-u0zy)
2019/09/04(水) 11:10:32.87ID:nmk4+Aqu0 分かってないなぁ
押しにくいからデメリットなんだよ
押しにくいからデメリットなんだよ
691デフォルトの名無しさん (エムゾネ FF33-ca7b)
2019/09/04(水) 11:10:43.54ID:Z0seKSTeF ->
692デフォルトの名無しさん (エムゾネ FF33-ca7b)
2019/09/04(水) 11:11:49.38ID:Z0seKSTeF NHK じゃなかった BSフジ の FNSドキュメンタリー大賞
693デフォルトの名無しさん (ワッチョイ 6114-dbQt)
2019/09/04(水) 11:13:21.21ID:vwhL3cv70 >>690
どれくらいのデメリットか聞いてるだけやで
どれくらいのデメリットか聞いてるだけやで
694デフォルトの名無しさん (ドコグロ MM33-qLoL)
2019/09/04(水) 11:54:04.46ID:ikEP3CxVM695デフォルトの名無しさん (オッペケ Sr5d-1YtO)
2019/09/04(水) 13:44:55.30ID:TYvZQs3/r 個人的には|より()の方が打ちにくい
696デフォルトの名無しさん (ワッチョイ 13a5-ommS)
2019/09/04(水) 18:15:51.43ID:5AheTDMi0 ていうか手の小さい女性にも配慮して欲しかったり
697デフォルトの名無しさん (ワッチョイ 9b44-WmBi)
2019/09/04(水) 19:35:04.07ID:S+RlT6ue0698デフォルトの名無しさん (ワッチョイ 429c-dKGR)
2019/09/05(木) 10:39:07.68ID:ZhL2R7iO0 特定の日本人に仕様が握られてる言語とか採用は無理でしょ
ISOも形だけとったのがバレバレ
ISOも形だけとったのがバレバレ
699デフォルトの名無しさん (ワッチョイ dd5f-3FMl)
2019/09/05(木) 10:47:07.58ID:jvZOJhcs0 >>697
2系を根絶できないPythonに互換性云々を言われるのは納得しづらい
2系を根絶できないPythonに互換性云々を言われるのは納得しづらい
700デフォルトの名無しさん (ワッチョイ 467c-28YD)
2019/09/05(木) 11:14:09.33ID:A2EHupI70 Rubyみたいな汚い言語が採用されるわけないでしょ
Pythonのが幾分マシ
Pythonのが幾分マシ
701デフォルトの名無しさん (ワッチョイ 49e7-ZcvA)
2019/09/05(木) 19:28:40.96ID:H0hn+DNn0 >>697
たしかにたかだかバージョンを上げただけで Hello world が
構文エラーで動かなくなるなんて、クソ以外の何物でもないね
http://mevius.2ch.net/test/read.cgi/tech/1413113999/126
こんな言語仕様変更がTIOB上位ランク言語で断行されたのは、
おそらく歴史的に初めてであろうし、
後世に「後方互換性の断絶」の代表例として語り継がれていくだろう
たしかにたかだかバージョンを上げただけで Hello world が
構文エラーで動かなくなるなんて、クソ以外の何物でもないね
http://mevius.2ch.net/test/read.cgi/tech/1413113999/126
こんな言語仕様変更がTIOB上位ランク言語で断行されたのは、
おそらく歴史的に初めてであろうし、
後世に「後方互換性の断絶」の代表例として語り継がれていくだろう
702デフォルトの名無しさん (ワッチョイ 49e7-ZcvA)
2019/09/05(木) 20:36:41.58ID:H0hn+DNn0 >>687,693
別のRubyアンチスレと同じ流れではないかと思われ
・Rubyに'end'って要らないよな
http://mevius.2ch.net/test/read.cgi/tech/1563066707/
このスレではPython厨がインデント矯正のメリットを声高々に主張した挙句、
以下の結末となった
http://mevius.2ch.net/test/read.cgi/tech/1563066707/31
> (2)言語による矯正がなければインデントがめちゃくちゃになるレベルの人には有益
このスレに当てはめると:
縦棒を押すのが苦痛なほどタイピングが苦手な人にとっては、苦痛としか言いようがない
>>688
一昨日のU18パナマ戦の裏番組では小学生向けプログラミング義務教育を扱っていた
その番組によると、三つある小学生向け教育指針の一つ目として
(Scratchに代表される)ビジュアルプログラミング言語の利用が推奨されていた
たしかに、小学生であればマウス操作主体の方が親しみやすいと考えるのは誰もが納得できるだろうし、
ましてや縦棒を押すのが苦痛に感じなくなるほどタイピング教育を徹底させるとしたら無茶苦茶だよね
つまり、まとめると:
タイピング能力が小学生レベルな人(>>686,694)にとって、縦棒押しを強要するRuby言語仕様は苦痛
という結論ですね
個人的には、精神年齢が小学生レベルの人にRubyの習得は難しいから、無理に背伸びせず
中学生レベルに成長してから再挑戦してもらいたいです
別のRubyアンチスレと同じ流れではないかと思われ
・Rubyに'end'って要らないよな
http://mevius.2ch.net/test/read.cgi/tech/1563066707/
このスレではPython厨がインデント矯正のメリットを声高々に主張した挙句、
以下の結末となった
http://mevius.2ch.net/test/read.cgi/tech/1563066707/31
> (2)言語による矯正がなければインデントがめちゃくちゃになるレベルの人には有益
このスレに当てはめると:
縦棒を押すのが苦痛なほどタイピングが苦手な人にとっては、苦痛としか言いようがない
>>688
一昨日のU18パナマ戦の裏番組では小学生向けプログラミング義務教育を扱っていた
その番組によると、三つある小学生向け教育指針の一つ目として
(Scratchに代表される)ビジュアルプログラミング言語の利用が推奨されていた
たしかに、小学生であればマウス操作主体の方が親しみやすいと考えるのは誰もが納得できるだろうし、
ましてや縦棒を押すのが苦痛に感じなくなるほどタイピング教育を徹底させるとしたら無茶苦茶だよね
つまり、まとめると:
タイピング能力が小学生レベルな人(>>686,694)にとって、縦棒押しを強要するRuby言語仕様は苦痛
という結論ですね
個人的には、精神年齢が小学生レベルの人にRubyの習得は難しいから、無理に背伸びせず
中学生レベルに成長してから再挑戦してもらいたいです
703デフォルトの名無しさん (ワッチョイ 467c-28YD)
2019/09/05(木) 20:47:32.79ID:A2EHupI70 ↑伝統的・標準的 Ruby使用者
こういうひねくれてて頭弱そうな人が好むんだよなぁ>Ruby
さいこー
こういうひねくれてて頭弱そうな人が好むんだよなぁ>Ruby
さいこー
704デフォルトの名無しさん (ワッチョイ 0644-xsU2)
2019/09/05(木) 22:51:20.43ID:do1wrMFw0705デフォルトの名無しさん (アウアウウー Saa5-cUvx)
2019/09/05(木) 22:54:58.20ID:gXvrj6Sda PythonをディスってもRubyの栄光は帰ってこないよ。
Rubyを救いたかったらRails級の革新的なOSSを作りなさい。あなた自身が。
Rubyを救いたかったらRails級の革新的なOSSを作りなさい。あなた自身が。
706デフォルトの名無しさん (ワッチョイ 2252-1iLS)
2019/09/05(木) 23:12:23.77ID:6wsc7cqJ0 >>705
結局言語としてのRuby自体にはもう価値も魅力も無いということか
結局言語としてのRuby自体にはもう価値も魅力も無いということか
707デフォルトの名無しさん (アウアウウー Saa5-cUvx)
2019/09/06(金) 00:22:56.73ID:elSjasNja もうっていうか元々価値があったのはRubyじゃなくてRailsだぞ
708デフォルトの名無しさん (ワッチョイ 7197-eFFi)
2019/09/06(金) 02:29:56.43ID:RO0aMjS50 PythonにおけるJupyterみたいな環境があれば、Rubyも使う人増えるんじゃないかなぁ。
一応Jupyter用のRubyカーネルあるみたいだけど、微妙な動きだったし
pryをつかったRubyカーネル作れば便利なのかもしれないけど。
Rubyあんまり使ってないからわかんないんだけど、Pythonはctypesとか使ってPure Pythonじゃないパッケージもいっぱいある印象なんだけど、
RubyはFFI使ってPure Rubyじゃないライブラリって少なそうな印象。その差はなんでなんだろう?
そして、もし本当にそうなのであれば、RubyはPythonに比べてグルーコードとしての有用性が低くて、
Pythonほど汎用的にいろんな場所で使われるようになるのは難しい、と考えられるけども。
一応Jupyter用のRubyカーネルあるみたいだけど、微妙な動きだったし
pryをつかったRubyカーネル作れば便利なのかもしれないけど。
Rubyあんまり使ってないからわかんないんだけど、Pythonはctypesとか使ってPure Pythonじゃないパッケージもいっぱいある印象なんだけど、
RubyはFFI使ってPure Rubyじゃないライブラリって少なそうな印象。その差はなんでなんだろう?
そして、もし本当にそうなのであれば、RubyはPythonに比べてグルーコードとしての有用性が低くて、
Pythonほど汎用的にいろんな場所で使われるようになるのは難しい、と考えられるけども。
709デフォルトの名無しさん (ワッチョイ 468c-WHoH)
2019/09/06(金) 03:05:36.81ID:q8MmhHZA0 Rubyはsjisもutf-8もそのまま変換せずに扱えて便利
710デフォルトの名無しさん (ワッチョイ 0644-xsU2)
2019/09/06(金) 04:03:58.92ID:WcFuWWHJ0711デフォルトの名無しさん (ワッチョイ ed7c-p7Vf)
2019/09/06(金) 13:17:37.49ID:CfEMcmDH0 >>702
放送大学か
放送大学か
712デフォルトの名無しさん (ワッチョイ c2a5-Mj6H)
2019/09/06(金) 20:22:56.17ID:hIcrqMsN0 >>702
そりゃそうだ
この手の催しはお前が投書して廃止に追い込んでくれ
総務省|若年層に対するプログラミング教育の普及推進事業|地域資源であるプログラミング言語「Ruby」を活用した教科学習(算数)支援モデル
http://www.soumu.go.jp/programming/017.html
そりゃそうだ
この手の催しはお前が投書して廃止に追い込んでくれ
総務省|若年層に対するプログラミング教育の普及推進事業|地域資源であるプログラミング言語「Ruby」を活用した教科学習(算数)支援モデル
http://www.soumu.go.jp/programming/017.html
713デフォルトの名無しさん (ワッチョイ 49e7-ZcvA)
2019/09/06(金) 23:33:10.17ID:NV9LDg+C0 >>705
Rubyの栄光?Rubyを救う?何を言ってるのかなぁ
かつて先端IT不毛の地と思われたアジアに位置する島国日本に生まれ、
しかも名もなく地位もなかったエンジニアが設計した:
ぼくのかんがえるさいきょうげんご
であるRubyは、すでに全世界で認知されTIOBEの最新ランキングでも11位にある
ただそれだけで十二分に「栄光」ではなかろうか
Rubyの栄光?Rubyを救う?何を言ってるのかなぁ
かつて先端IT不毛の地と思われたアジアに位置する島国日本に生まれ、
しかも名もなく地位もなかったエンジニアが設計した:
ぼくのかんがえるさいきょうげんご
であるRubyは、すでに全世界で認知されTIOBEの最新ランキングでも11位にある
ただそれだけで十二分に「栄光」ではなかろうか
714デフォルトの名無しさん (アウアウエー Sa4a-p7Vf)
2019/09/07(土) 00:04:08.56ID:lrUhBd6ha >>712
率直に言って京よりひどいなこれ
率直に言って京よりひどいなこれ
715デフォルトの名無しさん (ワッチョイ 49e7-ZcvA)
2019/09/07(土) 00:13:02.36ID:UXOwbSGn0 >>711
当たり
>>712
えーと、リンク先の文書を本当に読んでカキコしたの?
この事業で使用する「スモウルビー」は、(開発言語がRubyで)
Scratchと同様なビジュアルプログラミングツールなんだけどね
何を言いたいのかワケワカメ
ちなみにRubyの世界には、小学生どころか5歳児に素のRubyを
学ばせようという、世間一般からすれば無謀と言われかねない試みもあったりする
・『ルビィのぼうけん』特設サイト - 翔泳社
https://www.shoeisha.co.jp/book/rubynobouken/
個人的には、子供の持つ好奇心という破壊的なパワーをなめちゃいかんと思います
当たり
>>712
えーと、リンク先の文書を本当に読んでカキコしたの?
この事業で使用する「スモウルビー」は、(開発言語がRubyで)
Scratchと同様なビジュアルプログラミングツールなんだけどね
何を言いたいのかワケワカメ
ちなみにRubyの世界には、小学生どころか5歳児に素のRubyを
学ばせようという、世間一般からすれば無謀と言われかねない試みもあったりする
・『ルビィのぼうけん』特設サイト - 翔泳社
https://www.shoeisha.co.jp/book/rubynobouken/
個人的には、子供の持つ好奇心という破壊的なパワーをなめちゃいかんと思います
716デフォルトの名無しさん (アウアウエー Sa4a-p7Vf)
2019/09/07(土) 00:22:45.12ID:lrUhBd6ha 同じ●ビィでもヴィビィよりは遥かにマシ
717デフォルトの名無しさん (ワッチョイ 429c-dKGR)
2019/09/07(土) 01:01:24.05ID:dV4V3FOS0 >>715
この本Ruby関係あんの?
この本Ruby関係あんの?
718デフォルトの名無しさん (ブーイモ MM85-GOrT)
2019/09/10(火) 17:10:31.44ID:OGaf6FO/M >>717
ある!
ある!
719デフォルトの名無しさん (アウウィフ FFa5-p7Vf)
2019/09/11(水) 12:59:24.19ID:zFEVPQj4F720デフォルトの名無しさん (ワッチョイ 1f7c-+dKN)
2019/09/14(土) 12:06:00.29ID:NwEptffo0721デフォルトの名無しさん (ワッチョイ 675f-Sxyt)
2019/09/30(月) 07:58:23.85ID:dWYe+0vv0 2.7のNumberedParametersがいつの間にか@1から_1に変わったんか
微妙に被害被ってそうな破壊的変更は困るわ
微妙に被害被ってそうな破壊的変更は困るわ
722デフォルトの名無しさん (ワッチョイ 5f2c-+BGV)
2019/09/30(月) 20:12:39.70ID:auJmx+hY0 任意の列数のCSV ファイルから、そのファイルを上書きせずに、特定の2列だけを抜き出したい。
2列以外のすべての列を削除したりできますか?
ただし、列名・列数は、ファイルごとに変化します
require 'csv'
field_name_1 = "AAA"
field_name_2 = "BBB"
header = CSV::Row.new( [ field_name_1, field_name_2 ], [], header_row: true ) # ヘッダー行
table = CSV::Table.new( [ header ] ) # ヘッダー行を追加する
# 引数は、入力ファイル名。ヘッダー行あり
CSV.foreach( ARGV[ 0 ], headers: true ) do |row| # 1行ずつ処理する
ary = [ row[ field_name_1 ], row[ field_name_2 ] ]
table << CSV::Row.new( [ field_name_1, field_name_2 ], ary ) # 1行ずつ追加する
end
puts table
2列以外のすべての列を削除したりできますか?
ただし、列名・列数は、ファイルごとに変化します
require 'csv'
field_name_1 = "AAA"
field_name_2 = "BBB"
header = CSV::Row.new( [ field_name_1, field_name_2 ], [], header_row: true ) # ヘッダー行
table = CSV::Table.new( [ header ] ) # ヘッダー行を追加する
# 引数は、入力ファイル名。ヘッダー行あり
CSV.foreach( ARGV[ 0 ], headers: true ) do |row| # 1行ずつ処理する
ary = [ row[ field_name_1 ], row[ field_name_2 ] ]
table << CSV::Row.new( [ field_name_1, field_name_2 ], ary ) # 1行ずつ追加する
end
puts table
723デフォルトの名無しさん (ワッチョイ 7f14-UBz4)
2019/09/30(月) 20:32:13.86ID:sHSicWZI0724722 (ワッチョイ 5f2c-+BGV)
2019/10/01(火) 22:53:28.60ID:9HRGRt020 CSV::Table#by_col! で、列単位で扱える。
そこで、delete(列名) で、列ごと削除できるけど、
事前に、列名が必要
任意の列数のCSV ファイルを扱う場合に、
事前に、列名がわからない場合に、どうすれば良いのか?
一旦、ヘッダー行を取得して、すべての列名を取得してから、処理すれば良いのか?
>>723
csvtool というコマンドがあるのですね
そこで、delete(列名) で、列ごと削除できるけど、
事前に、列名が必要
任意の列数のCSV ファイルを扱う場合に、
事前に、列名がわからない場合に、どうすれば良いのか?
一旦、ヘッダー行を取得して、すべての列名を取得してから、処理すれば良いのか?
>>723
csvtool というコマンドがあるのですね
725デフォルトの名無しさん (ワッチョイ 675f-+/Zc)
2019/10/02(水) 23:26:12.27ID:14D+F8tw0726デフォルトの名無しさん (ワッチョイ eaa5-P2X/)
2019/10/03(木) 12:16:59.30ID:PnP8AkUw0 Rubyに決めた!
727722 (ワッチョイ ea2c-2rUB)
2019/10/03(木) 15:24:11.67ID:qxa8VeaI0 できた!
by_col! でも、元のファイルを更新しない
それと、CSV.tableは、CSV.readに、幾つかのオプションを設定したものだから、
table = CSV.read( ARGV[ 0 ], headers:true, converters: :numeric, header_converters: :symbol )
コンバーターで、変数の型が自動変換されてしまう
require 'csv'
column_names =[ "AAA", "BBB" ]
# 引数は、入力ファイル名。ヘッダー行あり
table = CSV.read( ARGV[ 0 ], headers: true )
# 列モードにしてから、特定の列名以外を、削除する
puts table.by_col!.delete_if {
|column_name, values| !column_names.include? column_name }
by_col! でも、元のファイルを更新しない
それと、CSV.tableは、CSV.readに、幾つかのオプションを設定したものだから、
table = CSV.read( ARGV[ 0 ], headers:true, converters: :numeric, header_converters: :symbol )
コンバーターで、変数の型が自動変換されてしまう
require 'csv'
column_names =[ "AAA", "BBB" ]
# 引数は、入力ファイル名。ヘッダー行あり
table = CSV.read( ARGV[ 0 ], headers: true )
# 列モードにしてから、特定の列名以外を、削除する
puts table.by_col!.delete_if {
|column_name, values| !column_names.include? column_name }
728デフォルトの名無しさん (ワッチョイ ea2c-2rUB)
2019/10/09(水) 16:51:10.78ID:z4DviLBe0 Windows10, WSL, Ubuntu 16.04, Ruby 2.3 で、
pty, expect モジュールを使って、端末に自動入力しようとしたが、エラーになる!
この環境では、使えないのかな?
warning: Insecure world writable dir /mnt/c in PATH, mode 040777
/usr/lib/ruby/2.3.0/expect.rb:47:in `eof?':
Input/output error @ io_fillbuf - fd:7 /dev/pts/0 (Errno::EIO)
pty, expect モジュールを使って、端末に自動入力しようとしたが、エラーになる!
この環境では、使えないのかな?
warning: Insecure world writable dir /mnt/c in PATH, mode 040777
/usr/lib/ruby/2.3.0/expect.rb:47:in `eof?':
Input/output error @ io_fillbuf - fd:7 /dev/pts/0 (Errno::EIO)
729デフォルトの名無しさん (ワイーワ2 FF92-PqvS)
2019/10/09(水) 16:59:03.96ID:dDDCJBWOF 君の pwd の結果を曝すか
runas /user:administrator 汁
runas /user:administrator 汁
730728 (ワッチョイ ea2c-2rUB)
2019/10/09(水) 18:12:59.85ID:z4DviLBe0 Windows10, WSL, Ubuntu 16.04 の端末上で、
~/mytest/ruby/test に、スクリプトファイルを置いて、実行してる
ディレクトリ・ファイルのパーミッションは、rwxrwxrwx
確かに、/dev/pts/0 は存在しない(Errno::EIO)。
/dev/pts/ptmx しかない
WSL には、その機能が無いのかも
~/mytest/ruby/test に、スクリプトファイルを置いて、実行してる
ディレクトリ・ファイルのパーミッションは、rwxrwxrwx
確かに、/dev/pts/0 は存在しない(Errno::EIO)。
/dev/pts/ptmx しかない
WSL には、その機能が無いのかも
731デフォルトの名無しさん (ワッチョイ 8de0-llJn)
2019/10/09(水) 21:36:17.99ID:K/mDLqh/0 tty コマンド実行したらどうなる?
732デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/10(木) 09:40:50.22ID:yMym0WfOF ちゃんと読め
Insecure world writable dir /mnt/c in PATH
Insecure world writable dir /mnt/c in PATH
733デフォルトの名無しさん (ドコグロ MMbf-Cvo3)
2019/10/10(木) 09:44:39.40ID:LUJumBxEM こいつ他のスレでRubyのネガキャンしてまわってるキチガイだろ
相手をするな
相手をするな
734デフォルトの名無しさん (アウアウカー Sa2b-eE0r)
2019/10/10(木) 15:46:12.72ID:Nxyr4aACa Rubyだけじゃないでしょ
この板に取り付いて自演してる糖質君だよ
そういう奴がいるという認識で無視しておけば無害
この板に取り付いて自演してる糖質君だよ
そういう奴がいるという認識で無視しておけば無害
735728 (ワッチョイ 9f2c-la4p)
2019/10/10(木) 18:57:06.29ID:dv1+zkCU0 Windows10, WSL, Ubuntu 16.04 の端末上で、
tty と入力すると、/dev/tty1 と表示される
Ruby ではなく、シェルスクリプトで、expect をしようか
tty と入力すると、/dev/tty1 と表示される
Ruby ではなく、シェルスクリプトで、expect をしようか
736728 (ワッチョイ 9f2c-la4p)
2019/10/10(木) 19:25:48.03ID:dv1+zkCU0 pty は仮想端末だから、ssh 接続をしないと使えないのかも
単に、端末に自動入力したいだけだから、
Ruby ではなく、シェルスクリプトで、expect をやってみる
apt では、sudo のパスワードを聞かれるから、それを自動入力したい
単に、端末に自動入力したいだけだから、
Ruby ではなく、シェルスクリプトで、expect をやってみる
apt では、sudo のパスワードを聞かれるから、それを自動入力したい
737728 (ワッチョイ 9f2c-la4p)
2019/10/10(木) 19:59:39.73ID:dv1+zkCU0 expect のサンプルが、pty を使ったものばかりだったから、ptyを使わなければ良いのかも?
expectだけでも使えるのか?
誰か、サンプルを書いて!
expectだけでも使えるのか?
誰か、サンプルを書いて!
738728 (ワッチョイ 9f2c-la4p)
2019/10/11(金) 00:40:11.94ID:SXeDtfTX0 Windows10, WSL, Ubuntu 16.04 の端末上で、
net/telnet モジュールを使って、Telnet で接続しようとしたが、エラーになった!
/usr/lib/ruby/vendor_ruby/net/telnet.rb:350:in `initialize':
Connection refused - connect(2) for "localhost" port 23 (Errno::ECONNREFUSED)
やっぱり、WSL は特殊
net/telnet モジュールを使って、Telnet で接続しようとしたが、エラーになった!
/usr/lib/ruby/vendor_ruby/net/telnet.rb:350:in `initialize':
Connection refused - connect(2) for "localhost" port 23 (Errno::ECONNREFUSED)
やっぱり、WSL は特殊
739デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/11(金) 10:13:43.38ID:hkXt1GtmF Windows で Ruby 使ってもロクなことにならない
(WSL でもね)
(WSL でもね)
740デフォルトの名無しさん (ワッチョイ ffda-8cCB)
2019/10/11(金) 10:41:17.51ID:AqBy2q4Y0 ここの淀んだコミュニティはまだWindows目の敵にしてるのか
そんなんだからPythonにぶっちぎられちゃってるのに
そんなんだからPythonにぶっちぎられちゃってるのに
741デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/11(金) 10:44:47.24ID:hkXt1GtmF 別に目の仇にしてる訳じゃないやろ
「rubyはなんでwindowsで使うと糞なの」
「じゃあおまいが対応汁」
「forkωωω」
「挫折」
の流れを繰り返してるだけ
屍累々
「rubyはなんでwindowsで使うと糞なの」
「じゃあおまいが対応汁」
「forkωωω」
「挫折」
の流れを繰り返してるだけ
屍累々
742デフォルトの名無しさん (ワッチョイ 9714-Gl4G)
2019/10/11(金) 10:59:31.96ID:PhVW6Uck0 >>738
お前がわかってないだけだろ
そのエラーはlocalhostでtelnetサーバーを起動してない、
もしくは接続が拒否されたって意味だ。
今どき暗号化されてないtelnetサーバーなんて使わないから
前者だろうな。
お前がわかってないだけだろ
そのエラーはlocalhostでtelnetサーバーを起動してない、
もしくは接続が拒否されたって意味だ。
今どき暗号化されてないtelnetサーバーなんて使わないから
前者だろうな。
743デフォルトの名無しさん (ワッチョイ 9714-Gl4G)
2019/10/11(金) 11:00:41.99ID:PhVW6Uck0 ちなみにWindows 10にはtelnetサーバーは付属してない。
744デフォルトの名無しさん (ワッチョイ 9714-Gl4G)
2019/10/11(金) 11:01:10.81ID:PhVW6Uck0 >>741
的はずれなレスをするな
的はずれなレスをするな
745728 (ワッチョイ 9f2c-la4p)
2019/10/11(金) 22:27:44.45ID:SXeDtfTX0 Windows10, WSL, Ubuntu 16.04 の端末上で、
tty と入力すると、/dev/tty1 と表示される
/dev/tty, /dev/tty0, /dev/tty1 などもある。
他にも、S が付いた、/dev/ttyS0 〜 /dev/ttyS191 もある
/dev/stdin, /dev/stdout, /dev/stderr もある
expect で、このあたりの、デバイスファイルを使えるかもしれない
>>738
Telnet の接続エラーは、port 23 が開いていないのかも
tty と入力すると、/dev/tty1 と表示される
/dev/tty, /dev/tty0, /dev/tty1 などもある。
他にも、S が付いた、/dev/ttyS0 〜 /dev/ttyS191 もある
/dev/stdin, /dev/stdout, /dev/stderr もある
expect で、このあたりの、デバイスファイルを使えるかもしれない
>>738
Telnet の接続エラーは、port 23 が開いていないのかも
746デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/14(月) 11:56:07.71ID:Cg/ykvDAF747デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/14(月) 11:56:43.70ID:Cg/ykvDAF748デフォルトの名無しさん (ワッチョイ 7f73-pTuN)
2019/10/20(日) 00:18:23.73ID:tI/yRj1E0 Rubyの課題が全然わからないので教えてほしいです。
1、0、−1、0が繰り返し表示されるようにしたいです。
when使ってできないでしょうか。
OS→windows10
Rubyバージョン→1.8.4
一応作ったのですが、nilが永遠にでます。
1、0、−1、0が繰り返し表示されるようにしたいです。
when使ってできないでしょうか。
OS→windows10
Rubyバージョン→1.8.4
一応作ったのですが、nilが永遠にでます。
749デフォルトの名無しさん (ワッチョイ 1201-dMft)
2019/10/20(日) 02:00:28.55ID:pHh2P92w0 作ったの貼るっしょ
750デフォルトの名無しさん (ワッチョイ 122c-pTuN)
2019/10/20(日) 08:32:27.73ID:ADDbXmaX0 Ruby 1.8.4 ?
もう、そんなに古いのは無理!
Windows 用のRubyInstaller でも、Ruby2.5.7。
Linux では、Ruby2.6.5 が最新だが、Windows では、1つ前のバージョンを使うこと!
Windows では、irb も日本語でバグるから、VSCode を使え!
Code Runner という拡張機能を入れると、
右クリックメニューから、選択したコードを実行できる
もう、そんなに古いのは無理!
Windows 用のRubyInstaller でも、Ruby2.5.7。
Linux では、Ruby2.6.5 が最新だが、Windows では、1つ前のバージョンを使うこと!
Windows では、irb も日本語でバグるから、VSCode を使え!
Code Runner という拡張機能を入れると、
右クリックメニューから、選択したコードを実行できる
751デフォルトの名無しさん (ワッチョイ 92a5-iRVk)
2019/10/20(日) 08:40:43.47ID:akKR2ina0 その問題を「1、0、−1、0を産む機械」と言い換えればすぐにyieldを使えばいいと分かる
whenなの?
whenなの?
752デフォルトの名無しさん (ワッチョイ b35f-dFI/)
2019/10/20(日) 09:10:18.66ID:X1mKFDBe0 0.step do |i|
p case i % 4
when 0 then 1
when 1 then 0
when 2 then -1
when 3 then 0
end
end
a = [1,0,-1,0]
0.step{|i| p a[i%4] }
>>750
> Linux では、Ruby2.6.5 が最新だが、Windows では、1つ前のバージョンを使うこと!
私の観測範囲が狭いのか2.6.5を使わない理由が見つからないのだが、なにかバグありました?
p case i % 4
when 0 then 1
when 1 then 0
when 2 then -1
when 3 then 0
end
end
a = [1,0,-1,0]
0.step{|i| p a[i%4] }
>>750
> Linux では、Ruby2.6.5 が最新だが、Windows では、1つ前のバージョンを使うこと!
私の観測範囲が狭いのか2.6.5を使わない理由が見つからないのだが、なにかバグありました?
753デフォルトの名無しさん (オッペケ Sr47-sprL)
2019/10/20(日) 09:57:11.30ID:V17Fc59sr >>748
(1..).each{|i| p (-1)**((i & 2) >> 1) * (i & 1)}
(1..).each{|i| p (-1)**((i & 2) >> 1) * (i & 1)}
754750 (ワッチョイ 122c-pTuN)
2019/10/20(日) 10:13:18.00ID:ADDbXmaX0 >>752
Windows 用のRuby は、いつも1つ前のバージョンを使う!
RubyInstaller のサイトにも、最新版を使わないようにと、いつも書いてある
Windowsでは、MSYS2 でコンパイルするモジュールなどが、
最新版に対応していないので、1年ぐらい待つ必要がある
Windows 用のRuby は、いつも1つ前のバージョンを使う!
RubyInstaller のサイトにも、最新版を使わないようにと、いつも書いてある
Windowsでは、MSYS2 でコンパイルするモジュールなどが、
最新版に対応していないので、1年ぐらい待つ必要がある
755デフォルトの名無しさん (ワッチョイ 6b7d-sepG)
2019/10/20(日) 10:18:26.35ID:lW4NmDBF0 >>748
loop{ puts 1, 0, -1, 0 }
loop{ puts 1, 0, -1, 0 }
756デフォルトの名無しさん (ワッチョイ b35f-dFI/)
2019/10/20(日) 11:35:59.48ID:X1mKFDBe0 >>754
RUBYINSTALLER-HEAD(https://github.com/oneclick/rubyinstaller2/releases/tag/rubyinstaller-head)については書いてありますが
latestについては記述見つかりませんでしたが、どこに書いてありますか?
> MSYS2 でコンパイルするモジュールなどが、
コンパイル済みのfat-gemが問題起こしてる印象があり、なくならねぇかな・・・と思ってますね
RUBYINSTALLER-HEAD(https://github.com/oneclick/rubyinstaller2/releases/tag/rubyinstaller-head)については書いてありますが
latestについては記述見つかりませんでしたが、どこに書いてありますか?
> MSYS2 でコンパイルするモジュールなどが、
コンパイル済みのfat-gemが問題起こしてる印象があり、なくならねぇかな・・・と思ってますね
757750 (ワッチョイ 122c-pTuN)
2019/10/20(日) 12:06:18.48ID:ADDbXmaX0 https://rubyinstaller.org/
以前は、このトップページか、Download のページに書いてあったけど、文章が変わったみたい
まあでも、このスレでも、Windows では、最新バージョンは使うなという書き込みがあったから、
たぶん、1つ前のバージョンを使わないと、依存関係が解決できないのだろう
とにかく、Mac を使っている人は、Windowsの依存関係が地獄だから、皆Macへ移った
以前は、このトップページか、Download のページに書いてあったけど、文章が変わったみたい
まあでも、このスレでも、Windows では、最新バージョンは使うなという書き込みがあったから、
たぶん、1つ前のバージョンを使わないと、依存関係が解決できないのだろう
とにかく、Mac を使っている人は、Windowsの依存関係が地獄だから、皆Macへ移った
758デフォルトの名無しさん (ワッチョイ d201-4js2)
2019/10/20(日) 12:16:45.81ID:MDf6mYD+0 [1,0,-1,0].cycle {|x| puts x} #無限
[1,0,-1,0].cycle(3) {|x| puts x} #サイクル数指定
[1,0,-1,0].cycle.take(10).each {|x| puts x} #要素数指定
cycle再発明したいならEnumeratorを返す方法を学ぶ
[1,0,-1,0].cycle(3) {|x| puts x} #サイクル数指定
[1,0,-1,0].cycle.take(10).each {|x| puts x} #要素数指定
cycle再発明したいならEnumeratorを返す方法を学ぶ
759デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
2019/10/20(日) 12:46:50.25ID:9lZC9vgyF ひょっとすると Ruby は糞なのかも知れない
10.times{|n|puts Math::cos(n*Math::PI/2) <=> 0}
10.times{|n|puts Math::cos(n*Math::PI/2) <=> 0}
760デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
2019/10/20(日) 12:48:22.43ID:9lZC9vgyF 10.times{|n|puts Math.sign(Math::cos(n*Math::PI/2))}
10.times{|n|puts Numeric.sign(Math::cos(n*Math::PI/2))}
10.times{|n|puts Number.sign(Math::cos(n*Math::PI/2))}
10.times{|n|puts Numeric.sign(Math::cos(n*Math::PI/2))}
10.times{|n|puts Number.sign(Math::cos(n*Math::PI/2))}
761デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
2019/10/20(日) 12:56:08.24ID:9lZC9vgyF 糞は漏れだった orz
10.times{|n|puts Math::cos(n*Math::PI/2).to_i}
10.times{|n|puts Math::cos(n*Math::PI/2).to_i}
762デフォルトの名無しさん (オッペケ Sr47-sprL)
2019/10/21(月) 12:00:03.97ID:ZDMJHUdnr >>758が一番スマートだな
763デフォルトの名無しさん (ワッチョイ 3714-V5T5)
2019/10/21(月) 13:13:03.03ID:a2dL9b0A0 >>760みたいに下手に計算するより早いしね!
764デフォルトの名無しさん (オッペケ Sr47-sprL)
2019/10/21(月) 13:27:57.28ID:ZDMJHUdnr いやそもそも>>759-761は間違ってる
765デフォルトの名無しさん (ワッチョイ 3714-V5T5)
2019/10/21(月) 13:42:33.89ID:a2dL9b0A0766デフォルトの名無しさん (オッペケ Sr47-sprL)
2019/10/21(月) 14:06:09.86ID:ZDMJHUdnr 流石に本気で三角関数使って実装しようなんて思ってないだろうしそこは別にネタで言ってんだと思うけど
ネタとしても面白くはないけど
ネタとしても面白くはないけど
767デフォルトの名無しさん (アウアウウー Sa43-gDzD)
2019/10/21(月) 16:50:50.88ID:RCZWOoQNa そもそも>>748はhello worldレベルの初心者だろうに、回答者が求めてるものを無視して俺の解き方見てくれ!って奴ばかりなのは問題だと思う
768デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
2019/10/21(月) 17:07:36.09ID:5+ah6i6TF 禁止事項
トリを使おうとしている質問者に対して、そんなトリはやめろとかという、斜め上からのアドバイス
質問者そっちのけでの昔語り(昔はもっと苦労したもんだ、今の若い者は…)
知らないのに、使ったことないのに、知ったかぶりでの書き込み
ググれという誰でも言えそうな忠告
俺は知ってるけど言わない等といった、実社会での扱われ方からの僻みから来る
意地悪な言辞
回答はあくまでボランティアなので、質問者は、回答がつかなかったり、
期待に沿った回答が得られなかったからといって切れたりしないように。
また、わざとそういう困った質問者を演じて釣りに来る人もいるかもしれないので、
回答者も、むかついたからといって、いちいち切れて反応せずスルーしよう。
そして質問者はもう出て来ない
トリを使おうとしている質問者に対して、そんなトリはやめろとかという、斜め上からのアドバイス
質問者そっちのけでの昔語り(昔はもっと苦労したもんだ、今の若い者は…)
知らないのに、使ったことないのに、知ったかぶりでの書き込み
ググれという誰でも言えそうな忠告
俺は知ってるけど言わない等といった、実社会での扱われ方からの僻みから来る
意地悪な言辞
回答はあくまでボランティアなので、質問者は、回答がつかなかったり、
期待に沿った回答が得られなかったからといって切れたりしないように。
また、わざとそういう困った質問者を演じて釣りに来る人もいるかもしれないので、
回答者も、むかついたからといって、いちいち切れて反応せずスルーしよう。
そして質問者はもう出て来ない
769デフォルトの名無しさん (ワッチョイ 37e7-6fT3)
2019/10/21(月) 17:50:42.35ID:fwYGRAlp0770769 (ワッチョイ 37e7-6fT3)
2019/10/21(月) 19:35:56.70ID:fwYGRAlp0771デフォルトの名無しさん (オッペケ Sr47-sprL)
2019/10/22(火) 11:21:00.25ID:wZUXcjF6r いやどうみてもnがちょっとでかくなったら正しくなくなることくらい自明だろ
同じ発想でやりたいなら複素平面とかπ/2の回転行列とか使って計算すればいいだけ
ただし奇を衒った回答としては斬新さにかけて面白くないと言っている
で>>758が一番スマート(かつ自分でもそうする)って言ってるんだがなんなんやこいつ
同じ発想でやりたいなら複素平面とかπ/2の回転行列とか使って計算すればいいだけ
ただし奇を衒った回答としては斬新さにかけて面白くないと言っている
で>>758が一番スマート(かつ自分でもそうする)って言ってるんだがなんなんやこいつ
772デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
2019/10/22(火) 11:24:07.59ID:fxbuxtP/F >nがちょっとでかくなったら正しくなくなる
2π で mod すればいい
2π で mod すればいい
773デフォルトの名無しさん (ワッチョイ 7f73-pTuN)
2019/10/22(火) 11:42:16.77ID:Bl/xGts70 質問したものです。皆さん様々な意見ありがとうございます。考えてくださってとても感謝しています。
皆さんのを見ながらなんとかできました!
ありがとうございました。
皆さんのを見ながらなんとかできました!
ありがとうございました。
774デフォルトの名無しさん (ワッチョイ 6373-sEIE)
2019/10/26(土) 11:19:55.92ID:VCWPcpX80 def break_test
return break
end
i = 10;
while i > 0
next_test
}
放置すれば無限ループになるのをbreak_testでループを
抜けたいのですが、関数?からnext や breakなどを
返すようにできないのでしょうか。
return break
end
i = 10;
while i > 0
next_test
}
放置すれば無限ループになるのをbreak_testでループを
抜けたいのですが、関数?からnext や breakなどを
返すようにできないのでしょうか。
775デフォルトの名無しさん (ワッチョイ 6373-sEIE)
2019/10/26(土) 11:21:02.82ID:VCWPcpX80 ごめんなさい、
i = 10;
while i > 0
break_test
}
でした。
i = 10;
while i > 0
break_test
}
でした。
776デフォルトの名無しさん (ワッチョイ ff2c-vu2g)
2019/10/26(土) 12:47:43.93ID:751XFDvk0 そういうキーワードそのものは、返せないだろ
戻り値は、0, 1 などの整数とか、
フラグとして、true, false の真偽値とか、
:next, :break みたいなシンボルとか、文字列とか
戻り値は、0, 1 などの整数とか、
フラグとして、true, false の真偽値とか、
:next, :break みたいなシンボルとか、文字列とか
777デフォルトの名無しさん (ワッチョイ ffa5-7KPZ)
2019/10/26(土) 13:32:18.57ID:aCoOcfZt0 キーワードデリゲーションをすればいいんだろ
かんたんじゃん
かんたんじゃん
778デフォルトの名無しさん (ワッチョイ ff01-E1XV)
2019/10/26(土) 13:42:24.92ID:ZMkO6rZZ0779デフォルトの名無しさん (ワッチョイ bf33-1RvR)
2019/10/26(土) 19:48:47.03ID:zP6esb2p0 >>774
斬新な発想だな。w
Rubyに限らず一般的に、制御を移すしくみは、関数(メソッド)の範囲を越えることはできない。
ただし、「例外」ならそれ以降をすっとばすことができるので、break相当ならできるかも?
# 勧めないけど。
斬新な発想だな。w
Rubyに限らず一般的に、制御を移すしくみは、関数(メソッド)の範囲を越えることはできない。
ただし、「例外」ならそれ以降をすっとばすことができるので、break相当ならできるかも?
# 勧めないけど。
780デフォルトの名無しさん (ワッチョイ bf33-1RvR)
2019/10/26(土) 19:56:33.83ID:zP6esb2p0781デフォルトの名無しさん (ワッチョイ 6373-sEIE)
2019/10/26(土) 22:09:58.48ID:VCWPcpX80 >>778
実際はwhileじゃなくて
xxxxx.each do |key|
同じようなことする関数(引数)
同じようなことする関数(引数)
同じようなことする関数(引数)
end
の中で関数の中身がある条件だったら
nextで残りをやらずにeach.doの最初からやりたいんですけど
引数の値が違うだけなのに
例えば関数にTrueを返したら next しろとか条件をいちいち
付けるのもめんどくさいと思い、質問してみました。
実際はwhileじゃなくて
xxxxx.each do |key|
同じようなことする関数(引数)
同じようなことする関数(引数)
同じようなことする関数(引数)
end
の中で関数の中身がある条件だったら
nextで残りをやらずにeach.doの最初からやりたいんですけど
引数の値が違うだけなのに
例えば関数にTrueを返したら next しろとか条件をいちいち
付けるのもめんどくさいと思い、質問してみました。
782デフォルトの名無しさん (ワッチョイ 6373-sEIE)
2019/10/26(土) 22:13:03.44ID:VCWPcpX80 xxxxx.each do |key|
if 同じようなことする関数(引数) then next
if 同じようなことする関数(引数) then next
if 同じようなことする関数(引数) then next
end
Rubyにあまり詳しくないのでよくわからないのですが
こんな感じなのでしょうか?
if 同じようなことする関数(引数) then next
if 同じようなことする関数(引数) then next
if 同じようなことする関数(引数) then next
end
Rubyにあまり詳しくないのでよくわからないのですが
こんな感じなのでしょうか?
783デフォルトの名無しさん (ワッチョイ a3e0-Oqw9)
2019/10/26(土) 23:35:07.98ID:BPSgYag60 慣習的に返り値を成否にすることが多いから論理を逆にして
xxxxx.each do |key|
同じようなことする関数(引数) &&
同じようなことする関数(引数) &&
同じようなことする関数(引数)
end
xxxxx.each do |key|
next unless 同じようなことする関数(引数)
next unless 同じようなことする関数(引数)
同じようなことする関数(引数)
end
xxxxx.each do |key|
同じようなことする関数(引数) &&
同じようなことする関数(引数) &&
同じようなことする関数(引数)
end
xxxxx.each do |key|
next unless 同じようなことする関数(引数)
next unless 同じようなことする関数(引数)
同じようなことする関数(引数)
end
784デフォルトの名無しさん (ワッチョイ ff01-E1XV)
2019/10/27(日) 00:24:39.23ID:wfElRmia0 >>781
なるほど
自分ならオプショナルチェーン的なのを使うか
「同じようなことする関数」をメソッドオブジェクトかProcにして配列に入れて
true返したらnextしろって書くのを1箇所にする
https://ideone.com/I7hyOs
https://ideone.com/VQMgg2
なるほど
自分ならオプショナルチェーン的なのを使うか
「同じようなことする関数」をメソッドオブジェクトかProcにして配列に入れて
true返したらnextしろって書くのを1箇所にする
https://ideone.com/I7hyOs
https://ideone.com/VQMgg2
785デフォルトの名無しさん (ワッチョイ ff2c-vu2g)
2019/10/27(日) 05:02:59.99ID:hJUpCTqv0 jQuery.each( object, callback )
これは、jQueryの繰り返し処理用の関数。
配列/オブジェクトで使える
繰り返し処理中に、ループを抜けたい場合(一般的なループ処理で言うところのbreak)、
コールバック関数で、falseを返すことで実装できます。
それ以外の値を返した場合は、無視されます
これは、jQueryの繰り返し処理用の関数。
配列/オブジェクトで使える
繰り返し処理中に、ループを抜けたい場合(一般的なループ処理で言うところのbreak)、
コールバック関数で、falseを返すことで実装できます。
それ以外の値を返した場合は、無視されます
786デフォルトの名無しさん (ワッチョイ 53f3-cmPQ)
2019/10/27(日) 05:08:22.73ID:+BT3KxOb0787デフォルトの名無しさん (ワッチョイ c314-BWw0)
2019/10/27(日) 10:29:27.71ID:EzDt4vDz0 ifのネストができないとかなので
qiitaの「オレオレ言語作ってみた」記事レベル
qiitaの「オレオレ言語作ってみた」記事レベル
788デフォルトの名無しさん (オッペケ Sr47-eGmw)
2019/10/27(日) 10:35:17.49ID:4XYnNnzNr いや、さすがにそれよりは完成度高かったよ
789デフォルトの名無しさん (ワッチョイ 2314-BWw0)
2019/10/27(日) 10:40:08.22ID:Lik42TLZ0 あとgithubプロジェクトには、オブジェクトファイルとか
vimのスワップファイルとかも入っていて周辺知識もない
つまりはプログラミング全般の幅広い知識をつけて、
言語開発できるレベルになったと言うより
言語作ってみたくて、それ関連の知識をぐぐってコピペした程度
再帰を知ってるかも怪しいw
vimのスワップファイルとかも入っていて周辺知識もない
つまりはプログラミング全般の幅広い知識をつけて、
言語開発できるレベルになったと言うより
言語作ってみたくて、それ関連の知識をぐぐってコピペした程度
再帰を知ってるかも怪しいw
790デフォルトの名無しさん (オッペケ Sr47-eGmw)
2019/10/27(日) 10:44:23.07ID:4XYnNnzNr 中学生相手に謎のマウントとって恥ずかしくないんかこのおっさん
791デフォルトの名無しさん (ワッチョイ 6f8c-cmPQ)
2019/10/27(日) 11:37:21.19ID:vygsvak+0 どこにも新人を虐め殺す人はいる。
792デフォルトの名無しさん (ワッチョイ ff2c-vu2g)
2019/10/27(日) 11:58:18.66ID:hJUpCTqv0 養成読本シリーズのムック本が出た!
Software Design plusシリーズ
Ruby on Rails 6 エンジニア養成読本、2019/10/26
著者は、すがわらまさのり,前島真一
Software Design plusシリーズ
Ruby on Rails 6 エンジニア養成読本、2019/10/26
著者は、すがわらまさのり,前島真一
793デフォルトの名無しさん (ワッチョイ ffa5-7KPZ)
2019/10/27(日) 12:17:41.60ID:Cn2fohUL0 養成ギプスじゃねーのなこのシリーズ
794デフォルトの名無しさん (ワッチョイ 6373-ynHG)
2019/10/28(月) 23:21:57.76ID:FXEIy8w10795デフォルトの名無しさん (ワッチョイ 6373-ynHG)
2019/10/29(火) 06:00:13.39ID:wBa+308I0796デフォルトの名無しさん (ワッチョイ 6373-ynHG)
2019/10/29(火) 06:25:03.68ID:wBa+308I0 >>785
Ruby on Rails入れてませんがjqueryが使えるのでしょうか。
Ruby on Rails入れてませんがjqueryが使えるのでしょうか。
797デフォルトの名無しさん (スップ Sd1f-PDRl)
2019/10/29(火) 23:05:22.63ID:wWZj5nZGd github の ignoreとか適当だから、objとか普通にアップしてるな。
仕事ならまだしも、個人ねやつなんか、完全やバックアップもくてきだから、
あまりにデカイみだな .db とか除いて、全部あっふだわ。
個人のリポジドリも200とか超え始めると、一つ一つ丁寧に設定なんかしとれんわ。
githubやエディタ独自仕様に振り回される必要なし。
仕事ならまだしも、個人ねやつなんか、完全やバックアップもくてきだから、
あまりにデカイみだな .db とか除いて、全部あっふだわ。
個人のリポジドリも200とか超え始めると、一つ一つ丁寧に設定なんかしとれんわ。
githubやエディタ独自仕様に振り回される必要なし。
798デフォルトの名無しさん (ワッチョイ ff2c-vu2g)
2019/10/30(水) 01:59:02.44ID:p2ffZ2o00799デフォルトの名無しさん (エムゾネ FF1f-Tlcr)
2019/10/30(水) 13:12:15.78ID:Jt7N9BVBF800デフォルトの名無しさん (ワッチョイ ca2c-0B+f)
2019/11/04(月) 16:33:35.55ID:Zu03xGz40 あるフォルダ内の子フォルダだけを取得するのに、こう書いているのですが、
PowerShell みたいに、ls -Directory
など、もっと簡単に書けないの?
target_dir = "C:/Users/Owner/Documents/*"
p dest_dirs = Dir.glob( target_dir ).select { |path| File.directory?( path ) }
return if dest_dirs.length == 0 # フォルダが存在しない
PowerShell みたいに、ls -Directory
など、もっと簡単に書けないの?
target_dir = "C:/Users/Owner/Documents/*"
p dest_dirs = Dir.glob( target_dir ).select { |path| File.directory?( path ) }
return if dest_dirs.length == 0 # フォルダが存在しない
801デフォルトの名無しさん (ミカカウィ FF27-xbEI)
2019/11/04(月) 16:36:49.84ID:6GYoHHZPF RubyはUNIXで使うものであり、シェルコマンドも積極的に使うのが前提
Rubyから普通にlsを呼べ基地外
Rubyから普通にlsを呼べ基地外
802デフォルトの名無しさん (ワッチョイ 8a01-ODnH)
2019/11/04(月) 19:06:35.57ID:KBcuTkU10 単発で使う分には十分簡単に書けてると思うが
繰り返し書く必要があるなら自分でメソッド抽出すればよくね?
繰り返し書く必要があるなら自分でメソッド抽出すればよくね?
803800 (ワッチョイ ca2c-0B+f)
2019/11/04(月) 19:37:03.85ID:Zu03xGz40 Dir.glob( "パス", :directory )
みたいに、ブロックじゃなくて、
オプション・シンボルなどで、簡単に指定できれば
みたいに、ブロックじゃなくて、
オプション・シンボルなどで、簡単に指定できれば
804デフォルトの名無しさん (アウアウカー Sacb-ENpr)
2019/11/04(月) 20:32:46.29ID:15pQYryDa >>800
むしろPowerShellが凄い
むしろPowerShellが凄い
805デフォルトの名無しさん (ワッチョイ 8a01-ODnH)
2019/11/04(月) 22:33:04.21ID:KBcuTkU10 Dir.glob('*/')
806デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/05(火) 21:08:09.25ID:z9XdE4jra rubyを使い出して2週間なのですが困っています。
今は汎用機のログの一括処理に使っているのですが、
半角カナや漢字が文字化けして読み込まれます。
ログファイルはwindowsにsjisで保存されていて、
これをsjis指定で読み込んでも\x33等と化けます。
どうすれば半角カナが化けないように読めるのでしょうか。
今は汎用機のログの一括処理に使っているのですが、
半角カナや漢字が文字化けして読み込まれます。
ログファイルはwindowsにsjisで保存されていて、
これをsjis指定で読み込んでも\x33等と化けます。
どうすれば半角カナが化けないように読めるのでしょうか。
807デフォルトの名無しさん (ワッチョイ c68c-fAkU)
2019/11/05(火) 22:01:22.14ID:+vsp0I/Q0 sjis指定で読み込んでると思い込んでるだけで実際はutf-8になってるんじゃないかな
あるいはログがsjisと思い込んでるだけという線もありうる
もしくは書き出しがsjisになってないとか
可能性を挙げたらきりがない
コードをさらすのが解決への近道
あるいはログがsjisと思い込んでるだけという線もありうる
もしくは書き出しがsjisになってないとか
可能性を挙げたらきりがない
コードをさらすのが解決への近道
808デフォルトの名無しさん (アウアウウー Sa2f-xbEI)
2019/11/05(火) 22:19:23.14ID:HJJtuDtXa 汎用機のデータをRubyで処理とか懐かしいな
俺もやってたわ
結局転職するのが唯一にして最良のソリューションだから、あまり変なことに拘って時間を無駄にするよりAWSの勉強でもしたほうがいいよ
俺もやってたわ
結局転職するのが唯一にして最良のソリューションだから、あまり変なことに拘って時間を無駄にするよりAWSの勉強でもしたほうがいいよ
809デフォルトの名無しさん (ワッチョイ 8a01-ODnH)
2019/11/05(火) 23:08:03.80ID:rzC/SdAh0 >>806
どういう環境を使って
どういう方法でエンコーディング指定をしていて
どうやって読み込んで、どこに出力して、出力結果をどうやって確認してるのか?
そういう情報が必要
Ruby関係なくエンコーディングに対する理解を深めたほうが良さげ
基本的には外部エンコーディングと内部エンコーディングを指定すれば問題なし
https://docs.ruby-lang.org/ja/2.6.0/class/IO.html#io_encoding
>File.read('sjis.log', mode: "rt:sjis:utf-8")
どういう環境を使って
どういう方法でエンコーディング指定をしていて
どうやって読み込んで、どこに出力して、出力結果をどうやって確認してるのか?
そういう情報が必要
Ruby関係なくエンコーディングに対する理解を深めたほうが良さげ
基本的には外部エンコーディングと内部エンコーディングを指定すれば問題なし
https://docs.ruby-lang.org/ja/2.6.0/class/IO.html#io_encoding
>File.read('sjis.log', mode: "rt:sjis:utf-8")
810デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/06(水) 00:03:50.72ID:lUVlDRaka >806です
解決しました。
エンコードにsjisではなくwindows-31Jを
指定すると半角カナを文字化けせずに読めました。
ファイルの文字コードは確実にsjisなのに、
なんでsjis指定で読み込んだら化けるのか分かりませんが、
ひとまず解決です。
解決しました。
エンコードにsjisではなくwindows-31Jを
指定すると半角カナを文字化けせずに読めました。
ファイルの文字コードは確実にsjisなのに、
なんでsjis指定で読み込んだら化けるのか分かりませんが、
ひとまず解決です。
811デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/06(水) 00:05:50.13ID:lUVlDRaka812デフォルトの名無しさん (ワッチョイ 7a33-DbiX)
2019/11/06(水) 02:48:09.37ID:normnvJW0 >>810
一般に、Shift_JIS(標準規格)とcp932(Windowsカスタム)は別物。
Rubyでもそうらしい。
https://docs.ruby-lang.org/ja/latest/class/Encoding.html#S_ALIASES
一般に、Shift_JIS(標準規格)とcp932(Windowsカスタム)は別物。
Rubyでもそうらしい。
https://docs.ruby-lang.org/ja/latest/class/Encoding.html#S_ALIASES
813デフォルトの名無しさん (アウウィフ FF2f-DOEl)
2019/11/06(水) 11:43:12.78ID:o3tEvZiYF 半角カタカナ ← 混ぜるな危険
30年くらい前の話
30年くらい前の話
814デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/06(水) 11:50:52.64ID:SpldiVNta815デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/06(水) 11:52:59.82ID:SpldiVNta >>813
漢字も駄目なのでやや難易度高しです。
漢字も駄目なのでやや難易度高しです。
816デフォルトの名無しさん (アウウィフ FF2f-DOEl)
2019/11/06(水) 12:34:12.51ID:o3tEvZiYF いいがかりは止せ
SJISファイルじゃないんだから当然だろ
SJISファイルじゃないんだから当然だろ
817デフォルトの名無しさん (ワッチョイ ca2c-0B+f)
2019/11/06(水) 13:41:03.82ID:ZR40S1lI0 Windows では一般用語として、sjis と書くけど、
厳密には、sjisを拡張した、CP932 の事です。
だから、MS が独自に拡張した部分は、sjisではない!
漏れは、Windows で、PowerShell を使って、クリップボード処理を書いているけど、
Windows(CP932) ←→ Ruby(utf8) と、外部環境とruby内で、文字コードを変換している
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
厳密には、sjisを拡張した、CP932 の事です。
だから、MS が独自に拡張した部分は、sjisではない!
漏れは、Windows で、PowerShell を使って、クリップボード処理を書いているけど、
Windows(CP932) ←→ Ruby(utf8) と、外部環境とruby内で、文字コードを変換している
クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
ary = str.each_line.map( &:strip ) # 連続する空白類を除去する
IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
818デフォルトの名無しさん (ワッチョイ de14-EL77)
2019/11/06(水) 15:16:56.50ID:Z1mcKm+J0 別にMSがSJISを拡張したんじゃないけどな。
そもそもSJIS本家を作ったのがMS(+他)なわけで。
じゃあ拡張したのは誰かというとIBMとかNECだよ
まあそもそも拡張可能にしていんだけどな
MSなどがSJISを作った。IBMやNECが拡張した。
それらを取り込んでWindowssのCP932とした。というのが正しい流れ
ちなみにAppleもSJISを拡張してる。それはMacJapaneseと呼ばれる。
拡張部分がIBMやNECが拡張した部分とかぶってるので互換性がないんだけどな
そもそもSJIS本家を作ったのがMS(+他)なわけで。
じゃあ拡張したのは誰かというとIBMとかNECだよ
まあそもそも拡張可能にしていんだけどな
MSなどがSJISを作った。IBMやNECが拡張した。
それらを取り込んでWindowssのCP932とした。というのが正しい流れ
ちなみにAppleもSJISを拡張してる。それはMacJapaneseと呼ばれる。
拡張部分がIBMやNECが拡張した部分とかぶってるので互換性がないんだけどな
819デフォルトの名無しさん (ワッチョイ 8a01-ODnH)
2019/11/06(水) 15:39:23.65ID:Fx0hE3mY0 >Encoding.aliases.select {|_,v| v == "Windows-31J"}
{"CP932"=>"Windows-31J",
"csWindows31J"=>"Windows-31J",
"SJIS"=>"Windows-31J",
"PCK"=>"Windows-31J"}
Rubyでは"SJIS"も"CP932"もWindows-31Jのエイリアスなんだけど
SJISの指定をWindows-31Jに変更して解決する事があるんですねー(棒)
{"CP932"=>"Windows-31J",
"csWindows31J"=>"Windows-31J",
"SJIS"=>"Windows-31J",
"PCK"=>"Windows-31J"}
Rubyでは"SJIS"も"CP932"もWindows-31Jのエイリアスなんだけど
SJISの指定をWindows-31Jに変更して解決する事があるんですねー(棒)
820デフォルトの名無しさん (ワッチョイ c68c-fAkU)
2019/11/06(水) 18:22:07.75ID:8bqr3nzy0 半角カナや大半の漢字はsjis範囲内だからきちんとsjisで読めばほぼ文字化けはないはず
つまりsjisで読めていなかったということ
つまりsjisで読めていなかったということ
821デフォルトの名無しさん (ワッチョイ 0314-EL77)
2019/11/06(水) 19:09:22.79ID:wTTuQQRz0 >>819
エンコーディングは同じで文字集合が違うだけだからね
エンコーディングは同じで文字集合が違うだけだからね
822デフォルトの名無しさん (ワッチョイ 077d-qsv/)
2019/11/06(水) 19:26:39.67ID:GIJSYcug0 リファレンスマニュアルの aliases -> Hash の例
"SJIS"=>"Shift_JIS" は間違いですね
Encoding::SJIS == Encoding::CP932 #=> true
Encoding::SJIS == Encoding::Windows_31J #=> true
Encoding::SJIS == Encoding::Shift_JIS #=> false
"SJIS"=>"Shift_JIS" は間違いですね
Encoding::SJIS == Encoding::CP932 #=> true
Encoding::SJIS == Encoding::Windows_31J #=> true
Encoding::SJIS == Encoding::Shift_JIS #=> false
823デフォルトの名無しさん (アウウィフ FF2f-DOEl)
2019/11/06(水) 19:55:23.52ID:o3tEvZiYF HTML (HTTP) で Encoding Shift_JIS って書くと怒られた思い出
824デフォルトの名無しさん (ワッチョイ 8a01-ODnH)
2019/11/06(水) 20:51:13.84ID:Fx0hE3mY0 >>821
いやいやいや
文字集合と符号化方式を別々に選択できる状況ならともかく
「ファイル読み取り時のエンコーディング指定」とかの文脈で使うエンコーディングって用語は
狭義の符号化方式だけでなく文字集合も含めた上位の概念だから
いやいやいや
文字集合と符号化方式を別々に選択できる状況ならともかく
「ファイル読み取り時のエンコーディング指定」とかの文脈で使うエンコーディングって用語は
狭義の符号化方式だけでなく文字集合も含めた上位の概念だから
825デフォルトの名無しさん (ワッチョイ 0314-EL77)
2019/11/06(水) 21:02:49.31ID:wTTuQQRz0826デフォルトの名無しさん (ワッチョイ df33-rCU0)
2019/11/07(木) 00:17:25.40ID:gr4VkOsJ0 >>818
エンコーディングと機種依存文字をごっちゃにしてるやろ。
エンコーディングと機種依存文字をごっちゃにしてるやろ。
827デフォルトの名無しさん (ワッチョイ 2b14-6wYC)
2019/11/07(木) 01:13:21.86ID:sEmiRyTj0828デフォルトの名無しさん (ワッチョイ ef8c-z4KY)
2019/11/07(木) 02:15:26.05ID:QKW84+pO0 ガイジか?
829デフォルトの名無しさん (ワッチョイ 2b14-6wYC)
2019/11/07(木) 02:20:56.81ID:sEmiRyTj0 理解できなくなったら、このようなレスをするんだよなw
830デフォルトの名無しさん (ワッチョイ 2b14-6wYC)
2019/11/07(木) 02:31:19.18ID:sEmiRyTj0 例えば、Unicodeは文字集合(キャラクタセット、Coded Character Set)で
UTF-8とかUTF-16というのが符号化方式(エンコード、Character Encoding Scheme)
Unicodeも拡張可能でバージョン番号があって文字集合の内容が変わってる。
Unicode 1.0では文字集合の中の文字数は7,161文字
最新のUnicode 12.1では137,929文字も収録文字数が増えてる。
エンコーディングは変わっていないが文字集合は変わってるので
古いバージョンにしか対応してないコンピュータで、
最新のUnicodeを表示させると一部文字化けする
ただし管理団体の手によって収録文字は決められてるので
ShiftJISの頃のような各社バラバラで互換性がないってことにはならない
(ただし私用領域を使ってる場合は除く)
UTF-8とかUTF-16というのが符号化方式(エンコード、Character Encoding Scheme)
Unicodeも拡張可能でバージョン番号があって文字集合の内容が変わってる。
Unicode 1.0では文字集合の中の文字数は7,161文字
最新のUnicode 12.1では137,929文字も収録文字数が増えてる。
エンコーディングは変わっていないが文字集合は変わってるので
古いバージョンにしか対応してないコンピュータで、
最新のUnicodeを表示させると一部文字化けする
ただし管理団体の手によって収録文字は決められてるので
ShiftJISの頃のような各社バラバラで互換性がないってことにはならない
(ただし私用領域を使ってる場合は除く)
831デフォルトの名無しさん (ワッチョイ ef8c-z4KY)
2019/11/07(木) 03:28:55.37ID:QKW84+pO0 外字と引っ掛けた洒落や
気い悪くしたんならすまんかった
気い悪くしたんならすまんかった
832デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/07(木) 08:58:28.91ID:debRpYWr0 >>830
>エンコーディングは変わっていないが文字集合は変わってるので
>最新のUnicodeを表示させると一部文字化けする
じゃ文字集合だけ更新すれば文字化け解消するのかな?
文脈理解せず無意味なレス繰り返してるとそりゃ外字言われるわ
>エンコーディングは変わっていないが文字集合は変わってるので
>最新のUnicodeを表示させると一部文字化けする
じゃ文字集合だけ更新すれば文字化け解消するのかな?
文脈理解せず無意味なレス繰り返してるとそりゃ外字言われるわ
833デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/07(木) 11:38:26.80ID:LDERshfw0 そりゃ、新しい文字集合を使うと、新しい絵文字も正しく表示されるだろ?
834デフォルトの名無しさん (ワッチョイ 2b14-6wYC)
2019/11/07(木) 12:52:46.05ID:sEmiRyTj0 正確に言えば、新しい文字集合に対応したフォントを使うとだね。
>>832の言う「文字集合だけ更新すれば」が意味不明だが
「仕様書を更新すれば、なにも変更はいらない」って意味なら
そんなことは誰も言ってない
>>832の言う「文字集合だけ更新すれば」が意味不明だが
「仕様書を更新すれば、なにも変更はいらない」って意味なら
そんなことは誰も言ってない
835デフォルトの名無しさん (ワッチョイ ef8c-z4KY)
2019/11/07(木) 20:03:36.67ID:1chRDjs40 ㋿
最近だと令和対応が記憶に新しいな
最近だと令和対応が記憶に新しいな
836デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/08(金) 15:49:09.19ID:bNpOstnB0 よく出てくる、&:メソッド名は、proc オブジェクトですが、
たまに出てくる、:メソッド名は、何ですか?
違いが、よく分からない
nums = %w(1 2 3 4).map!( &:to_i ) # 数値の配列
p nums.inject( :+ ) # 10
たまに出てくる、:メソッド名は、何ですか?
違いが、よく分からない
nums = %w(1 2 3 4).map!( &:to_i ) # 数値の配列
p nums.inject( :+ ) # 10
837デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/08(金) 17:07:06.66ID:GYgLC2XDM シンボル
実用的には単なる変更不可能な文字列と見做してよい
Rubyの初期からの大きな失敗の一つで、特に意味はない
実用的には単なる変更不可能な文字列と見做してよい
Rubyの初期からの大きな失敗の一つで、特に意味はない
838デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 18:26:17.63ID:q9/Fdf+e0 マニュアルの「シンボルの実装と用途」ってところを読むと良いと思う
https://docs.ruby-lang.org/ja/2.6.0/class/Symbol.html
&:to_iも":to_i"がシンボルで、そのシンボルが"&"で修飾されてるだけ
"&"はProcオブジェクトやto_procメソッドを持つオブジェクトをブロックとして渡す時に引数につける修飾記号
実行時にSymbol#to_procが呼ばれてそれがブロックとして渡される
https://docs.ruby-lang.org/ja/2.6.0/class/Symbol.html
&:to_iも":to_i"がシンボルで、そのシンボルが"&"で修飾されてるだけ
"&"はProcオブジェクトやto_procメソッドを持つオブジェクトをブロックとして渡す時に引数につける修飾記号
実行時にSymbol#to_procが呼ばれてそれがブロックとして渡される
839デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 18:31:13.82ID:q9/Fdf+e0 mapはシンボルを引数にとらないからmap(&:to_i)でブロックとして渡すけど
injectはシンボルを引数に取るからinject(:+)で実行できる
inject(&:+)としてブロックとして渡してもいいけど無駄処理が入るので普通はやらない
injectはシンボルを引数に取るからinject(:+)で実行できる
inject(&:+)としてブロックとして渡してもいいけど無駄処理が入るので普通はやらない
840836 (ワッチョイ 9f2c-E8Ce)
2019/11/08(金) 18:48:10.88ID:bNpOstnB0 漏れは、いつも、メソッドがシンボルを引数に取るかどうか、分からないから、
ひとまず、map!( :to_i ) みたいに、シンボルを渡して、エラーになったら、
map!( &:to_i ) と、& を付けることにしている
ひとまず、map!( :to_i ) みたいに、シンボルを渡して、エラーになったら、
map!( &:to_i ) と、& を付けることにしている
841デフォルトの名無しさん (ワッチョイ df33-rCU0)
2019/11/08(金) 21:56:04.93ID:ZY78KkPA0842デフォルトの名無しさん (ワッチョイ 0fd3-QrFL)
2019/11/08(金) 22:54:04.88ID:u/1VJcWC0 ていうか、なんでそんな半端な設計なの?
injectのみシンボル受け取れるようにするメリットってなに?
injectのみシンボル受け取れるようにするメリットってなに?
843デフォルトの名無しさん (ワッチョイ eb14-6wYC)
2019/11/08(金) 23:51:37.33ID:sLgGgSr40 シンボル・・・型が無い言語で、型を気付かれないように書くための手段の一つ
型がないとされる言語でも、123は数字だが、"123"は文字というように
書き方で型をこっそりと記述している。
他にも/abc/は正規表現型、1.0は浮動小数点型などの定義方法がある。
シンボルはその一つで、:で始めることにより、シンボル型の値を書くことができる
型がないとされる言語でも、123は数字だが、"123"は文字というように
書き方で型をこっそりと記述している。
他にも/abc/は正規表現型、1.0は浮動小数点型などの定義方法がある。
シンボルはその一つで、:で始めることにより、シンボル型の値を書くことができる
844デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 23:57:04.08ID:q9/Fdf+e0845デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 23:59:15.28ID:q9/Fdf+e0 >>843
その「型が無い言語」とか「型がないとされる言語」という理解は間違ってるよ
その「型が無い言語」とか「型がないとされる言語」という理解は間違ってるよ
846デフォルトの名無しさん (ワッチョイ 9f9c-G+r6)
2019/11/09(土) 00:09:55.38ID:PhKUzZj90 シンボルと文字列を区別したのは失敗だったとmatzも言ってるな
streamという途中でぶん投げた新言語ではその区別がなくなってる
streamという途中でぶん投げた新言語ではその区別がなくなってる
847デフォルトの名無しさん (ワッチョイ eb14-6wYC)
2019/11/09(土) 02:32:49.02ID:d5YSql6x0 >>845
反論は「あってるよ」だけで十分そうだねw
反論は「あってるよ」だけで十分そうだねw
848デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:03:54.60ID:u1W/mjBNM >>842
文字列リテラルよりも記述が簡便だからという理由により、本来文字列を使うべき用途にもシンボルが乱用された結果、
シンボルGCなどという頭の悪いものが誕生したりしたんだよな
誰がどう見ても完全に失敗
文字列リテラルよりも記述が簡便だからという理由により、本来文字列を使うべき用途にもシンボルが乱用された結果、
シンボルGCなどという頭の悪いものが誕生したりしたんだよな
誰がどう見ても完全に失敗
849デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/09(土) 12:04:25.68ID:Ypm9+s0e0 シンボルは、識別子を表すために作られたのか、数字で始められないだろ。
下はエラーになる
p :"1" # OK
p :1 # エラー
下はエラーになる
p :"1" # OK
p :1 # エラー
850デフォルトの名無しさん (ワッチョイ 0fd3-QrFL)
2019/11/09(土) 12:13:45.55ID:X62CmnUE0851デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:16:59.76ID:u1W/mjBNM852デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:19:33.79ID:u1W/mjBNM853デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/09(土) 14:08:02.54ID:MvykJ39t0 >>850
sliceやchunkのような分割系以外は
ブロックがなければEnumeratorを返すのを基本ルールにしてるから
mapはシンボルを取る形がないんじゃないかな
injectはEnumeratorを返すものじゃないから
ちょっと気を利かしてシンボルを取る形を加えたのかもね
sliceやchunkのような分割系以外は
ブロックがなければEnumeratorを返すのを基本ルールにしてるから
mapはシンボルを取る形がないんじゃないかな
injectはEnumeratorを返すものじゃないから
ちょっと気を利かしてシンボルを取る形を加えたのかもね
854デフォルトの名無しさん (ワッチョイ 068c-W3rk)
2019/11/14(木) 00:10:26.40ID:GMI1Y3D90 今年が2.7ってことは
2022年には3か2.10か
2022年には3か2.10か
855デフォルトの名無しさん (アウアウカー Sa89-AiI5)
2019/11/14(木) 17:40:11.04ID:BO+nDgNta Rubyで2値の差を得る簡単なメソッドとかないかな
def diff(num1, num2)
max = [n1, n2].max
min = [n1, n2].min
(max - min)
end
p diff(-3, 7) #=> 10
とかだと見てくれ良くないし無駄も多い
def diff(num1, num2)
max = [n1, n2].max
min = [n1, n2].min
(max - min)
end
p diff(-3, 7) #=> 10
とかだと見てくれ良くないし無駄も多い
856デフォルトの名無しさん (オッペケ Sr11-iZ7S)
2019/11/14(木) 18:15:34.71ID:baSi3t2Kr (num1 - num2).absじゃあかんのか?
857デフォルトの名無しさん (ワッチョイ 8201-NhnT)
2019/11/15(金) 01:07:32.58ID:em064pO70 オラもそう思った
858デフォルトの名無しさん (アウアウエー Sa8a-9qGC)
2019/11/15(金) 07:32:43.98ID:1PuPU5S7a >>854
最初の小数点の次の数は二桁以上にしない縛りなかったっけ?
最初の小数点の次の数は二桁以上にしない縛りなかったっけ?
859デフォルトの名無しさん (アウアウウー Sa9d-5f43)
2019/11/21(木) 19:57:13.88ID:0YdMrNdaa Rubyの平均年収は全言語中最低
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/01068/111100004/
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/01068/111100004/
860デフォルトの名無しさん (ワッチョイ f98f-Sa3v)
2019/11/21(木) 23:28:58.12ID:tUWUNbqx0 そんなに年収ほしければCOBOLやれば?
861デフォルトの名無しさん (ワッチョイ 9305-CPe6)
2019/11/23(土) 01:26:32.66ID:DazDco060 今月までプログラミングに一切触れたことのなかった初心者です
引数を配列にして
メソッド内で変数aに引数を代入
その後変数aの0番目にnを代入すると引数の0番目まで巻き添えでnになってしまうんですがそういう仕様なんでしょうか?
配列だけで起こる現象のようなんですが
method(0,1)と呼んで
def method(array)
a = array
a[0] = 10
puts a
puts array
end
とするとaもarrayも[10,1]となってしまいます
引数を配列にして
メソッド内で変数aに引数を代入
その後変数aの0番目にnを代入すると引数の0番目まで巻き添えでnになってしまうんですがそういう仕様なんでしょうか?
配列だけで起こる現象のようなんですが
method(0,1)と呼んで
def method(array)
a = array
a[0] = 10
puts a
puts array
end
とするとaもarrayも[10,1]となってしまいます
862デフォルトの名無しさん (ワッチョイ 9305-CPe6)
2019/11/23(土) 01:27:53.59ID:DazDco060 method([0,1])でした
失礼しました
失礼しました
863デフォルトの名無しさん (ワッチョイ 9301-wiXz)
2019/11/23(土) 03:03:35.14ID:8xX8HZu80864デフォルトの名無しさん (ワッチョイ 9305-CPe6)
2019/11/23(土) 10:59:21.53ID:DazDco060865デフォルトの名無しさん (ワッチョイ 9301-wiXz)
2019/11/23(土) 14:01:09.34ID:8xX8HZu80 >>864
使い方にもよるのかもしれんが階層が浅くて固定ならdupで十分じゃない?
foo = [[1,2], [3,4], [5,6,7]]
bar = foo.dup
bar[0] = [9,9,9]
foo #=> [[1, 2], [3, 4], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4], [5, 6, 7]]
bar[1].push 200
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7]]
bar[2] = bar[2].dup.push 300
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7, 300]]
階層が深くて手動でdupするのが大変ならdeep_dup
require 'active_support'
require 'active_support/core_ext/object/deep_dup'
baz = foo.deep_dup
baz[1].push 300
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
baz #=> [[1, 2], [3, 4, 200, 300], [5, 6, 7]]
使い方にもよるのかもしれんが階層が浅くて固定ならdupで十分じゃない?
foo = [[1,2], [3,4], [5,6,7]]
bar = foo.dup
bar[0] = [9,9,9]
foo #=> [[1, 2], [3, 4], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4], [5, 6, 7]]
bar[1].push 200
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7]]
bar[2] = bar[2].dup.push 300
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
bar #=> [[9, 9, 9], [3, 4, 200], [5, 6, 7, 300]]
階層が深くて手動でdupするのが大変ならdeep_dup
require 'active_support'
require 'active_support/core_ext/object/deep_dup'
baz = foo.deep_dup
baz[1].push 300
foo #=> [[1, 2], [3, 4, 200], [5, 6, 7]]
baz #=> [[1, 2], [3, 4, 200, 300], [5, 6, 7]]
866デフォルトの名無しさん (ワッチョイ 132c-4eZD)
2019/11/23(土) 20:53:58.93ID:fygFNKSM0 年収は、5大SIer, Java などの土方系・奴隷、多重請負構造では、1社間に入る度に、3割抜かれる!
顧客が100万円払っても、間1 が、30万円抜いて、
自社には70万円で来るので、自分の給料は、25万円ぐらいw
顧客が100万円払っても、間1 が、30万円抜いて、間2 が、20万円抜くと、
自社には50万円で来るので、自分の給料は、20万円ぐらいw
だから、ハローワークのIT 講座でも、奴隷になる2次請け以降に、就職しないように言われる。
Javaの平均年収が600万円なら、300万円の奴隷と、900万円の大企業の奴隷使いがいる。
元々、大企業の人は、給料が良いだけ。
給料は言語に関係ない。労働形態による!
抜きを警戒する人は、派遣なら3割抜かれて、後は自分の給料になるけど、
仕事がない期間の保証がない。
それか、フリーランスのエージェントで、1割ぐらいの抜きを探すか
一方、Ruby などの自社サービス系は、多重請負構造じゃないから抜かれない
顧客が100万円払っても、間1 が、30万円抜いて、
自社には70万円で来るので、自分の給料は、25万円ぐらいw
顧客が100万円払っても、間1 が、30万円抜いて、間2 が、20万円抜くと、
自社には50万円で来るので、自分の給料は、20万円ぐらいw
だから、ハローワークのIT 講座でも、奴隷になる2次請け以降に、就職しないように言われる。
Javaの平均年収が600万円なら、300万円の奴隷と、900万円の大企業の奴隷使いがいる。
元々、大企業の人は、給料が良いだけ。
給料は言語に関係ない。労働形態による!
抜きを警戒する人は、派遣なら3割抜かれて、後は自分の給料になるけど、
仕事がない期間の保証がない。
それか、フリーランスのエージェントで、1割ぐらいの抜きを探すか
一方、Ruby などの自社サービス系は、多重請負構造じゃないから抜かれない
867デフォルトの名無しさん (ワッチョイ 132c-4eZD)
2019/11/23(土) 21:01:37.75ID:fygFNKSM0 C/C++ 以外のほとんどの言語では、参照がコピーされるだけ!
インスタンスを作っていない
だから、実際のインスタンス数は、clone, dup, new された回数を、チェックすれば良い
インスタンスを作っていない
だから、実際のインスタンス数は、clone, dup, new された回数を、チェックすれば良い
868デフォルトの名無しさん (ワッチョイ fb8c-qZD/)
2019/11/23(土) 22:03:14.93ID:uAZdpObm0 土方系の仕事って何ですか
869デフォルトの名無しさん (ドコグロ MM63-5f43)
2019/11/23(土) 22:07:51.58ID:jA/F562DM870デフォルトの名無しさん (ワッチョイ 6914-6o6Z)
2019/11/24(日) 01:52:22.27ID:iwyjZSbL0 >>868
顧客に価値を提供すること
顧客に価値を提供すること
871デフォルトの名無しさん (ワッチョイ 139c-rLNN)
2019/11/24(日) 02:00:18.56ID:2vFps37N0 土方にはなるな
SIerにはなるな
SIerにはなるな
872デフォルトの名無しさん (アウアウウー Sa9d-5f43)
2019/11/24(日) 02:02:59.56ID:Q6cceAnpa しかし現実には大半のRubyistよりもSIerのドカタの方が給料は高いのであった
873デフォルトの名無しさん (ワッチョイ 3333-a70H)
2019/11/24(日) 04:46:27.73ID:kT5P2hJJ0 給料だけでもないやろ。
つーか、どうでもいいから。んな話は。
つーか、どうでもいいから。んな話は。
874デフォルトの名無しさん (ワッチョイ f98f-Sa3v)
2019/11/24(日) 15:33:55.35ID:Gqvqz24c0 要件定義、外部設計を受注できるプライマリの
会社に行かないと高収入はないよ。
内部設計、プログラミングは下流工程だから下請けに流される。
3割抜くとか言うが、粗利3割はどの業界でも普通だし。
会社に行かないと高収入はないよ。
内部設計、プログラミングは下流工程だから下請けに流される。
3割抜くとか言うが、粗利3割はどの業界でも普通だし。
875デフォルトの名無しさん (ワッチョイ fb8c-qZD/)
2019/11/24(日) 18:51:34.90ID:ednGVdun0 言語を知っている。いや知っているだけで金になる仕事はないから
876デフォルトの名無しさん (ワッチョイ 132c-4eZD)
2019/11/24(日) 23:07:40.54ID:Q5WFFNoW0 上流工程が、下級工程の給料を決める
だから、YouTube で有名なKENTA が、
クライアント側ではなく、サーバー側・構築運用へ行った
今世紀最大の起業家、Ruby でVagrant を作った、
HashiCorp のMitchell Hashimoto も、Go でTerraform を作った!
富・技術革新が集中する所に、Hashimoto は行く!
実際に、車のメーカーの企業の時価総額は変わらないけど、
アマゾン・Google などのサーバー屋は、100兆円企業になってる!
だから、YouTube で有名なKENTA が、
クライアント側ではなく、サーバー側・構築運用へ行った
今世紀最大の起業家、Ruby でVagrant を作った、
HashiCorp のMitchell Hashimoto も、Go でTerraform を作った!
富・技術革新が集中する所に、Hashimoto は行く!
実際に、車のメーカーの企業の時価総額は変わらないけど、
アマゾン・Google などのサーバー屋は、100兆円企業になってる!
877デフォルトの名無しさん (ワッチョイ 139c-rLNN)
2019/11/25(月) 04:07:09.54ID:gVPe0v4t0878デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
2019/11/25(月) 12:33:00.08ID:pjJuONFZF >上流工程が、下級工程の給料を決める
>クライアント側ではなく、サーバー側・構築運用へ行った
上流ってそういう意味か?ωωω
>クライアント側ではなく、サーバー側・構築運用へ行った
上流ってそういう意味か?ωωω
879デフォルトの名無しさん (ドコグロ MMe5-5f43)
2019/11/25(月) 16:27:01.28ID:Lb2w9ntUM Amazonの売上の大半はEC
Googleの売上の大半は広告
どっちも実際には上物で稼いでいて、AWSやGCPの売上比率は15%程度に過ぎない
キチガイの目に映る世界と実態の間にはは大きな乖離があることがわかるだろう
Googleの売上の大半は広告
どっちも実際には上物で稼いでいて、AWSやGCPの売上比率は15%程度に過ぎない
キチガイの目に映る世界と実態の間にはは大きな乖離があることがわかるだろう
880デフォルトの名無しさん (ワッチョイ f914-6o6Z)
2019/11/25(月) 17:19:36.92ID:vZmdeQAZ0 まあ利益出してるところじゃなくて"売上"というのなら、
ECが一番やろうな。そりゃ
ECが一番やろうな。そりゃ
881デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/11/28(木) 00:37:50.62ID:WsOSEkue0 Windows10, WSL, Ubuntu 16.4 で、
libruby2.3, ruby2.3 の更新が来た!
Ruby2.3 は、もうサポート切れだけど、まだ誰かがサポートしてるw
Ubuntu チームか
libruby2.3, ruby2.3 の更新が来た!
Ruby2.3 は、もうサポート切れだけど、まだ誰かがサポートしてるw
Ubuntu チームか
882デフォルトの名無しさん (オイコラミネオ MM91-pi24)
2019/11/28(木) 17:42:14.05ID:dnvj190uM ビルドしてるだけやろ。
883デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/11/30(土) 04:33:29.25ID:HbGyzSLF0 Vagrant, Chef, RSpec, Serverspec などの、
DSL の書き方だけができる、ライブラリ・フレームワークはないの?
DSL の書き方だけができる、ライブラリ・フレームワークはないの?
884デフォルトの名無しさん (ワッチョイ 1214-Sv7j)
2019/11/30(土) 07:04:52.88ID:WKFbtD9B0885883 (ワッチョイ 922c-Ql8R)
2019/11/30(土) 09:10:10.03ID:HbGyzSLF0 環境の構築テストなどを、すごく簡潔に、宣言っぽく書いている
例えば、ファイル・ディレクトリなどを作る場合でも、エラー処理もなく、1行で書いてる。
Maven, Gradle も、こういう宣言っぽい感じかな?
便利だなと思って
例えば、ファイル・ディレクトリなどを作る場合でも、エラー処理もなく、1行で書いてる。
Maven, Gradle も、こういう宣言っぽい感じかな?
便利だなと思って
886デフォルトの名無しさん (ワッチョイ a9da-o7DB)
2019/12/02(月) 07:50:51.40ID:sFARCTmI0 k-sato_at_oiaxって実はもう死んでたりするの?
887デフォルトの名無しさん (ワッチョイ 922c-Ql8R)
2019/12/02(月) 22:47:05.03ID:H5nAExhM0 改訂4版 基礎 Ruby on Rails、黒田努・佐藤和人、2018/9/7
この本が、株式会社オイアクス監修だろ。
著者2人は、株式会社ルビキタスにも所属している
この本が、株式会社オイアクス監修だろ。
著者2人は、株式会社ルビキタスにも所属している
888デフォルトの名無しさん (ワッチョイ 12a5-dfs3)
2019/12/03(火) 09:08:31.07ID:I9YoNGrF0 義務教育にrubyが組み込まれなかった時点でrubyは終わりだろ
ポジション取られたのがscratch
ついでにオブジェクト脳の本の社長起立プログラム、あれ最高にキモイ
ポジション取られたのがscratch
ついでにオブジェクト脳の本の社長起立プログラム、あれ最高にキモイ
889デフォルトの名無しさん (ワッチョイ 232c-+J45)
2019/12/05(木) 09:12:33.74ID:fTTGdtWT0 Windows のPowerShell で、1-liner で、webrick サーバーを立てるのに、
上だとエラーになって、
下のように、%Q("./") でクォートすると、正常に動くのは、なぜでしょう?
どういうカラクリなの?
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => "./", :Port => 8888).start'
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => %Q("./"), :Port => 8888).start'
上だとエラーになって、
下のように、%Q("./") でクォートすると、正常に動くのは、なぜでしょう?
どういうカラクリなの?
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => "./", :Port => 8888).start'
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => %Q("./"), :Port => 8888).start'
890デフォルトの名無しさん (オッペケ Src1-8zr5)
2019/12/05(木) 09:19:26.64ID:wT3fRGGOr windowsで-e の後にシングルクォーテーション使ってるからでしょ
ruby -e 'puts "hello"'
でもエラーになるぞ
ruby -e 'puts "hello"'
でもエラーになるぞ
891デフォルトの名無しさん (オッペケ Src1-8zr5)
2019/12/05(木) 09:20:45.92ID:wT3fRGGOr ちな
ruby -e 'puts \"hello\"'
や
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => \"./\", :Port => 8888).start'
なら問題ない
ruby -e 'puts \"hello\"'
や
ruby -rwebrick -e 'WEBrick::HTTPServer.new(:DocumentRoot => \"./\", :Port => 8888).start'
なら問題ない
892889 (ワッチョイ 232c-+J45)
2019/12/05(木) 10:48:53.10ID:fTTGdtWT0 ruby -e 'puts "hello"'
は、コマンドプロンプトではエラーにならないが、
PowerShell ではエラーになるw
ruby -e 'puts %Q("hello")'
は、コマンドプロンプト・PowerShell の両方で正常
ruby -e 'puts "hello"'
が、コマンドプロンプト・PowerShell から、Rubyに渡る際に、どう変換されるのか?
そのカリクリを知りたい
は、コマンドプロンプトではエラーにならないが、
PowerShell ではエラーになるw
ruby -e 'puts %Q("hello")'
は、コマンドプロンプト・PowerShell の両方で正常
ruby -e 'puts "hello"'
が、コマンドプロンプト・PowerShell から、Rubyに渡る際に、どう変換されるのか?
そのカリクリを知りたい
893デフォルトの名無しさん (アウウィフ FFa9-MVf8)
2019/12/05(木) 10:57:49.63ID:IbmhSLeWF WSL使え
あるいはWindowsのコマンドプロンプトなら
ruby -e "puts 'hello'"
あるいはWindowsのコマンドプロンプトなら
ruby -e "puts 'hello'"
894デフォルトの名無しさん (オッペケ Src1-8zr5)
2019/12/05(木) 11:11:38.90ID:wT3fRGGOr だから'使うなっつってんだろアホか
895デフォルトの名無しさん (ワッチョイ 7501-MVf8)
2019/12/05(木) 11:21:52.16ID:q0kDwfyl0 製造者がWindowsが憎いMicrosoftが憎いと言ってるのに、わざわざWindows上で使わなくても。
896デフォルトの名無しさん (ワッチョイ 8333-lxm3)
2019/12/05(木) 21:12:26.41ID:h+M+c6Hd0 コマンドプロンプトのクォート解釈は、控えめに言ってメチャクチャだからな。
昔のものだし、しかたない。
それに比べたら、PowerShellははるかにまともで現代的。
昔のものだし、しかたない。
それに比べたら、PowerShellははるかにまともで現代的。
897889 (ワッチョイ 232c-+J45)
2019/12/05(木) 23:40:17.64ID:fTTGdtWT0 まとめ。
Windows10 で、1-liner のruby -e で順に、1〜3 を実行した場合
1. 'puts "hello"'
2. 'puts %Q("hello")'
3. "puts 'hello'"
1〜3は、コマンドプロンプトと、WSL, Ubuntu 16.04 では、
hello, "hello", hello
PowerShell では、
エラー, "hello", hello
Windows10 で、1-liner のruby -e で順に、1〜3 を実行した場合
1. 'puts "hello"'
2. 'puts %Q("hello")'
3. "puts 'hello'"
1〜3は、コマンドプロンプトと、WSL, Ubuntu 16.04 では、
hello, "hello", hello
PowerShell では、
エラー, "hello", hello
898デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/06(金) 10:14:28.56ID:uUae0oO6F pythonは””も’’も意味一緒だが
rubyは””と''は微妙に意味違うよな
rubyは””と''は微妙に意味違うよな
899デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/06(金) 10:16:15.68ID:uUae0oO6F 'puts %Q(hello)'
あるいは
"puts %Q(hello)"
で良いのに
あるいは
"puts %Q(hello)"
で良いのに
900889 (ワッチョイ 232c-+J45)
2019/12/06(金) 12:46:17.58ID:IktivxOB0 >>899
まとめ。
Windows10 で、1-liner のruby -e で順に、1〜2 を実行した場合
1. 'puts %Q(hello)'
2. "puts %Q(hello)"
コマンドプロンプト・PowerShell、WSL, Ubuntu 16.04 のすべてで、
hello
と出力された!
まとめ。
Windows10 で、1-liner のruby -e で順に、1〜2 を実行した場合
1. 'puts %Q(hello)'
2. "puts %Q(hello)"
コマンドプロンプト・PowerShell、WSL, Ubuntu 16.04 のすべてで、
hello
と出力された!
901デフォルトの名無しさん (アウアウウー Saa9-LXAx)
2019/12/06(金) 20:18:06.92ID:nE0DnhAQa902デフォルトの名無しさん (ワッチョイ 23a5-q23Y)
2019/12/06(金) 21:53:56.86ID:P1BfZN9u0 ‘‘
’’
””
‘’
眼力チェック
’’
””
‘’
眼力チェック
903889 (ワッチョイ 232c-+J45)
2019/12/06(金) 23:26:41.64ID:IktivxOB0 1-liner を、" " で囲むと「$ \ ` !」などの機能が働くので、
それよりも強いエスケープである、' ' で囲む
' ' で、すべての特殊文字を無効化して、シェルに解釈させないため
それよりも強いエスケープである、' ' で囲む
' ' で、すべての特殊文字を無効化して、シェルに解釈させないため
904デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/07(土) 14:11:49.26ID:qPdUR/SgF >>902
``
``
905デフォルトの名無しさん (ワッチョイ 8333-lxm3)
2019/12/07(土) 16:01:04.83ID:9WC+Jh540 >>903
それが結局、シェルによるっつー話やろ。
それが結局、シェルによるっつー話やろ。
906デフォルトの名無しさん (ワッチョイ 232c-+J45)
2019/12/09(月) 06:17:52.14ID:+FpDkG8n0 rdoc の説明を読んでるけど、難しい
皆、自作ライブラリをrdoc用に書いてるの?
皆、自作ライブラリをrdoc用に書いてるの?
907906 (ワッチョイ 232c-+J45)
2019/12/09(月) 06:52:14.04ID:+FpDkG8n0 RDoc よりも、YARD の方が簡単かな?
908デフォルトの名無しさん (ワッチョイ 62ad-I3wE)
2019/12/17(火) 13:35:16.51ID:ObjwLX/w0 配列に0から任意の整数を重複なく格納するメソッドを作ってみたんですが、戻り値がnillになってしまいます
どうすれば解決できますか?
def random_sort(array, n)
array = []
judgement_array = [false]
i = 0
while(i < n + 1)
array[i] = rand(n + 1)
k = 0
while(k < i)
judgement_array[k] = array[k] == array[i]
k += 1
end
next if judgement_array.any?
i += 1
end
end
array1 = []
p random_sort(array1, 9)
どうすれば解決できますか?
def random_sort(array, n)
array = []
judgement_array = [false]
i = 0
while(i < n + 1)
array[i] = rand(n + 1)
k = 0
while(k < i)
judgement_array[k] = array[k] == array[i]
k += 1
end
next if judgement_array.any?
i += 1
end
end
array1 = []
p random_sort(array1, 9)
909デフォルトの名無しさん (アウウィフ FF3b-uKDx)
2019/12/17(火) 13:41:59.97ID:rApV4krMF shuffle! shuffle!
910デフォルトの名無しさん (ワッチョイ 62ad-I3wE)
2019/12/17(火) 14:23:19.78ID:ObjwLX/w0911デフォルトの名無しさん (オイコラミネオ MM67-tAOx)
2019/12/17(火) 16:20:58.58ID:kLn+0u7yM ズコー
912デフォルトの名無しさん (ワッチョイ c37d-tOoD)
2019/12/17(火) 16:47:49.10ID:o3ShK0md0 p [*0..9].shuffle
913デフォルトの名無しさん (ワッチョイ efd2-LrQS)
2019/12/18(水) 17:27:34.36ID:JutxhN8f0 digitsメソッドが返す配列を元の数値に戻すには
自分で計算するしかないのかな
何かついになるメソッドがないかと
探してみたけどわからなかった
自分で計算するしかないのかな
何かついになるメソッドがないかと
探してみたけどわからなかった
914デフォルトの名無しさん (オッペケ Srdf-f14Z)
2019/12/18(水) 22:00:34.91ID:LSlKy/12r ないね
p [1, 1, 0, 1, 'hoge'].to_i(2) # => 11
みたいなString#のあってもいいよね
p [1, 1, 0, 1, 'hoge'].to_i(2) # => 11
みたいなString#のあってもいいよね
915デフォルトの名無しさん (オッペケ Srdf-f14Z)
2019/12/18(水) 22:01:10.07ID:LSlKy/12r 誤爆
みたいなString#to_iに相当するメソッドがあってもいいよね
みたいなString#to_iに相当するメソッドがあってもいいよね
916デフォルトの名無しさん (ワッチョイ e22c-3siJ)
2019/12/18(水) 23:03:33.03ID:j3JURanB0 これの逆を考えるか
123.to_s.chars.map(&:to_i).reverse
123.digits
#=> [3, 2, 1]
他には、Array#pack、String#unpack とか
123.to_s.chars.map(&:to_i).reverse
123.digits
#=> [3, 2, 1]
他には、Array#pack、String#unpack とか
917デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/18(水) 23:17:07.42ID:N9ghlCsW0 自分で計算というか.reverse.join.to_iすればいいよね?
918デフォルトの名無しさん (ワッチョイ bf8c-c09P)
2019/12/19(木) 01:41:56.39ID:GB4b8bgW0 見た目シンプルだけど一旦文字列を経るのがモヤっとする
かといってreverse_each.inject(0){|v,d|v*10+d}とかやると何やってるのか分かりづらいしなあ
かといってreverse_each.inject(0){|v,d|v*10+d}とかやると何やってるのか分かりづらいしなあ
919デフォルトの名無しさん (ワッチョイ 9fa5-/xyN)
2019/12/19(木) 11:46:12.90ID:rpR+KBR90 >>914
Math::BaseCalc - Convert numbers between various bases - metacpan.org
https://metacpan.org/pod/Math::BaseCalc
昔探したがperlにはあるがrubyにはないtpyhonにも無い
なんで無いのか分からないほど便利な関数なのになんで無いんだ?
Math::BaseCalc - Convert numbers between various bases - metacpan.org
https://metacpan.org/pod/Math::BaseCalc
昔探したがperlにはあるがrubyにはないtpyhonにも無い
なんで無いのか分からないほど便利な関数なのになんで無いんだ?
920デフォルトの名無しさん (ワイーワ2 FFdf-yOET)
2019/12/19(木) 12:17:12.46ID:+cpLTGtZF tpyhonは知らんけどpythonにはnumpyでpackbitsがあるんやで
921デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/19(木) 14:26:11.65ID:snKgfw1x0922デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/19(木) 18:11:13.04ID:4hkxYlHE0 こういう基本的なものは、言語そのものに内蔵しないといけない
gem作っても流行らない
gem作っても流行らない
923デフォルトの名無しさん (オッペケ Srcb-SJkM)
2019/12/19(木) 19:30:39.32ID:xlnTqgd4r だな
これだけなら自分で書いた方が速いもんね
これだけなら自分で書いた方が速いもんね
924デフォルトの名無しさん (ワッチョイ 1f33-FZ5D)
2019/12/19(木) 19:39:22.26ID:NWHUALIi0 基本的でもないやろ。
925デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/19(木) 21:39:52.45ID:snKgfw1x0 2/8/10/16進数の変換は基本的だろうけど
それはInteger#to_s, String#to_i, Integer()で十分
遊びで作るようなプログラムを除くと
それ以外で必要なのってBase64くらいでそれは別途用意されてる
それはInteger#to_s, String#to_i, Integer()で十分
遊びで作るようなプログラムを除くと
それ以外で必要なのってBase64くらいでそれは別途用意されてる
926デフォルトの名無しさん (ワッチョイ bf7d-e4Q/)
2019/12/20(金) 00:26:43.84ID:Eyw3tJ4L0 digits/undigits 作ってみた (baseに配列が使える)
https://ideone.com/QJgsBR
[1, 1, 0, 1, 'hoge'].to_i(2) # => 11
123456789.to_i([24,60,60]) #=> [9,33,21,1428]
[9,33,21,1428].undigits([24,60,60]) #=> 123456789
https://ideone.com/QJgsBR
[1, 1, 0, 1, 'hoge'].to_i(2) # => 11
123456789.to_i([24,60,60]) #=> [9,33,21,1428]
[9,33,21,1428].undigits([24,60,60]) #=> 123456789
927926 (ワッチョイ bf7d-e4Q/)
2019/12/21(土) 23:51:56.40ID:u8N2YXrT0 digits/undigits 拡張してみた (baseをbit数に出来る,負の数で符号拡張)
https://ideone.com/xvXVfv
0b0011_100_01.my_digits([4,3,2],1) #=> [1,4,3]
[1,4,3].undigits([4,3,2],1).to_s(2) #=> "1110001" -> 11_100_01
0b0011_100_01.my_digits([-4,-3,-2],1) #=> [1,-4,3] (-4:符号拡張)
[1,-4,3].undigits([4,3,2],1).to_s(2) #=> "1110001"
https://ideone.com/xvXVfv
0b0011_100_01.my_digits([4,3,2],1) #=> [1,4,3]
[1,4,3].undigits([4,3,2],1).to_s(2) #=> "1110001" -> 11_100_01
0b0011_100_01.my_digits([-4,-3,-2],1) #=> [1,-4,3] (-4:符号拡張)
[1,-4,3].undigits([4,3,2],1).to_s(2) #=> "1110001"
928デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/22(日) 00:15:06.50ID:O05uH48x0 さて問題です。>>926-927を説明なしに理解できますか?
929デフォルトの名無しさん (ワイーワ2 FFdf-hPjh)
2019/12/22(日) 13:06:26.92ID:6Us+wzVLF 質問です
Ruby on Rails で SQLite は使えますか?
使えるならどうやれば良いですか?
Ruby on Rails で SQLite は使えますか?
使えるならどうやれば良いですか?
930デフォルトの名無しさん (アウアウウー Sa5b-On3P)
2019/12/22(日) 13:15:06.84ID:dEobfqv4a931デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/22(日) 19:43:26.79ID:u+b66RrE0 SQLite, MySQL, PostgreSQL の、3大DB が使える!
MariaDB は知らないけど
ただし、SQLite は開発用専門で、本番では使えない!
MariaDB は知らないけど
ただし、SQLite は開発用専門で、本番では使えない!
932デフォルトの名無しさん (ワッチョイ 1f33-FZ5D)
2019/12/22(日) 22:51:56.37ID:bTmhsrle0933デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/22(日) 23:02:08.75ID:O05uH48x0 >>931
SQLiteはiPhoneで重要な機能を提供してるのも知らないの?w
SQLiteはiPhoneで重要な機能を提供してるのも知らないの?w
934デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/23(月) 00:32:47.68ID:U5hT/i5g0935デフォルトの名無しさん (オッペケ Srcb-SJkM)
2019/12/23(月) 00:44:18.94ID:PWVJIOWbr >>933
自分は文脈読めないバカですって自己紹介してるようなもんだな
自分は文脈読めないバカですって自己紹介してるようなもんだな
936デフォルトの名無しさん (ドコグロ MMbf-On3P)
2019/12/23(月) 13:18:52.98ID:+KUE/8IiM まあ実際にはRailsアプリでSQLiteを使うことなんて無いから、使えないと考えても差し支えない
DBMSの癖に依存しないアプリなんて現実には不可能なので、テストであっても最初からプロダクションと同じDBMSを使えばよい
DBMSの癖に依存しないアプリなんて現実には不可能なので、テストであっても最初からプロダクションと同じDBMSを使えばよい
937931 (ワッチョイ 9f2c-1ZZR)
2019/12/24(火) 03:27:44.81ID:3XzgnZW70 SQLite は、ブラウザがURL などを保存するのに使っている
ただ、Rails では開発用専門で、本番では使えない
ただ、Rails では開発用専門で、本番では使えない
938デフォルトの名無しさん (スププ Sdbf-xbXx)
2019/12/24(火) 10:20:24.51ID:a69VsF/md Dockerが主流になるまでは、ぽん置きで使えるようになる簡単なツール程度だと使ってたな、俺は。
939デフォルトの名無しさん (ワッチョイ 1f33-FZ5D)
2019/12/24(火) 19:19:54.79ID:fkiwsPE50 性能的にも信頼性的にも、御一人様用なんだろ。
940デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/25(水) 20:06:31.05ID:ZI663GBY0 C:/Ruby24-x64/lib/ruby/2.4.0/fileutils.rb を参考にして、
module 内 moduleの、DryRun みたいなモジュールを作った!
$stdout/$stderr で、出力先を切り替える
module MyFileUtils
@fileutils_output = $stdout
module_function
public
extend self
def f( *args, **options ) # 配列・ハッシュ
p @fileutils_output
@fileutils_output.puts( args, options )
end
module DryRun
include MyFileUtils
@fileutils_output = $stderr
module_function
public
extend self
def f( *args, **options )
super( *args, **options, noop: true, verbose: true )
end
end
end
MyFileUtils::DryRun.f( 1, 2, a: 8, b: 9 )
MyFileUtils.f( 1, 2, a: 8, b: 9 )
module 内 moduleの、DryRun みたいなモジュールを作った!
$stdout/$stderr で、出力先を切り替える
module MyFileUtils
@fileutils_output = $stdout
module_function
public
extend self
def f( *args, **options ) # 配列・ハッシュ
p @fileutils_output
@fileutils_output.puts( args, options )
end
module DryRun
include MyFileUtils
@fileutils_output = $stderr
module_function
public
extend self
def f( *args, **options )
super( *args, **options, noop: true, verbose: true )
end
end
end
MyFileUtils::DryRun.f( 1, 2, a: 8, b: 9 )
MyFileUtils.f( 1, 2, a: 8, b: 9 )
941940 (ワッチョイ 9f2c-1ZZR)
2019/12/25(水) 20:11:42.34ID:ZI663GBY0 出力は、
MyFileUtils::DryRun.f( 1, 2, a: 8, b: 9 )
#<IO:<STDERR>>
1
2
{:a=>8, :b=>9, :noop=>true, :verbose=>true}
MyFileUtils.f( 1, 2, a: 8, b: 9 )
#<IO:<STDOUT>>
1
2
{:a=>8, :b=>9}
MyFileUtils::DryRun.f( 1, 2, a: 8, b: 9 )
#<IO:<STDERR>>
1
2
{:a=>8, :b=>9, :noop=>true, :verbose=>true}
MyFileUtils.f( 1, 2, a: 8, b: 9 )
#<IO:<STDOUT>>
1
2
{:a=>8, :b=>9}
942デフォルトの名無しさん (オッペケ Srcb-SJkM)
2019/12/25(水) 20:18:49.19ID:c8DC0dTUr ここはお前の日記帳じゃねえんだよ
943デフォルトの名無しさん (ワッチョイ 62ad-pk5L)
2019/12/28(土) 13:49:43.58ID:TvplFsgk0 ビット演算のビット反転について質問なんですが
(~0b1010).to_s(2) の戻り値が"-1011"なのは何故ですか?
反転なので単純に "0101" となるか、補数表現なら"0110" だと思ったのですが
(~0b1010).to_s(2) の戻り値が"-1011"なのは何故ですか?
反転なので単純に "0101" となるか、補数表現なら"0110" だと思ったのですが
944デフォルトの名無しさん (ワッチョイ b27d-tLCl)
2019/12/28(土) 14:35:53.34ID:AcwxZTaB0 # ~n == -n-1
~0b1010 = -0b1010-1 = -0b1011
~0b1010 = -0b1010-1 = -0b1011
945デフォルトの名無しさん (ワッチョイ 62ad-pk5L)
2019/12/28(土) 14:44:44.17ID:TvplFsgk0946デフォルトの名無しさん (オッペケ Sr88-ieRt)
2019/12/28(土) 15:59:19.72ID:IyT0aSo9r >>945
~(0b...00001010) = (0b...11110101) = -11
~(0b...00001010) = (0b...11110101) = -11
947デフォルトの名無しさん (ワイーワ2 FF7a-v1fK)
2019/12/28(土) 16:00:06.34ID:5Cng//AmF 0b1010
32bitとして
0000 0000 0000 0000 0000 0000 0000 1010
~0b1010
1111 1111 1111 1111 1111 1111 1111 0101
= -1011
32bitとして
0000 0000 0000 0000 0000 0000 0000 1010
~0b1010
1111 1111 1111 1111 1111 1111 1111 0101
= -1011
948デフォルトの名無しさん (ワッチョイ f12d-vQnI)
2019/12/28(土) 16:13:08.13ID:VPT4/FzX0 QiitaかHatenaでやれ
949デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/28(土) 16:23:21.64ID:b3ohKRMf0950デフォルトの名無しさん (ワッチョイ 4d14-K2lL)
2019/12/28(土) 16:24:38.25ID:lWCFWx/Q0 0000 0000 0000 0000 0000 0000 0000 0000
951デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/28(土) 16:38:44.50ID:b3ohKRMf0952デフォルトの名無しさん (ワッチョイ 4d14-K2lL)
2019/12/28(土) 16:49:11.58ID:lWCFWx/Q0 >>951
今はintegerの話なんかしてない
今はintegerの話なんかしてない
953デフォルトの名無しさん (ワッチョイ 62ad-pk5L)
2019/12/28(土) 17:59:01.86ID:TvplFsgk0 そうか
0b1010 = 0000 0000 0000 0000 0000 0000 0000 1010
~0b1010 =1111 1111 1111 1111 1111 1111 1111 0101
(足すと)= 1111 1111 1111 1111 1111 1111 1111 1111
これに0000*7 0001(10進数で1)を足すと0になるので補数表現で10進数における- 1
だから 0b1010 + ~0b1010 = - 1
~0b1010 = - 0b1010 - 1
0b1010は10進数で10なので~0b1010 = - 11
これを補数表現なしの2進数で表すと
~0b1010 = - 1011
よって一般に ~n = - n - 1 と言えるのか
0b1010 = 0000 0000 0000 0000 0000 0000 0000 1010
~0b1010 =1111 1111 1111 1111 1111 1111 1111 0101
(足すと)= 1111 1111 1111 1111 1111 1111 1111 1111
これに0000*7 0001(10進数で1)を足すと0になるので補数表現で10進数における- 1
だから 0b1010 + ~0b1010 = - 1
~0b1010 = - 0b1010 - 1
0b1010は10進数で10なので~0b1010 = - 11
これを補数表現なしの2進数で表すと
~0b1010 = - 1011
よって一般に ~n = - n - 1 と言えるのか
954デフォルトの名無しさん (ワッチョイ 62ad-pk5L)
2019/12/28(土) 18:00:57.41ID:TvplFsgk0 Rubyとは全く関係ない質問になって申し訳ない
955デフォルトの名無しさん (アウアウエー Sa6a-7jO3)
2019/12/28(土) 20:50:34.75ID:q2Ylf9qja956デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/28(土) 21:36:45.32ID:b3ohKRMf0 >>952
予想外の言い訳でワロタww
予想外の言い訳でワロタww
957デフォルトの名無しさん (ワッチョイ b27d-tLCl)
2019/12/28(土) 23:39:23.63ID:AcwxZTaB0958デフォルトの名無しさん (ワッチョイ 8e14-K2lL)
2019/12/28(土) 23:49:13.11ID:u9ordgE/0 補数表現には2の補数と1の補数があるって知らないのかな?
補数表現とだけじゃどちらかわからんだろ
それに反転はそのままビットを反転しただけのこと
これは1の補数表現と等しい
ビットを反転させるだけなんだからマイナスとか関係ない
マイナスが出てくるのは2の補数表現の話だけ
補数表現とだけじゃどちらかわからんだろ
それに反転はそのままビットを反転しただけのこと
これは1の補数表現と等しい
ビットを反転させるだけなんだからマイナスとか関係ない
マイナスが出てくるのは2の補数表現の話だけ
959デフォルトの名無しさん (アウアウエー Sa6a-v1fK)
2019/12/29(日) 00:43:56.25ID:jG5lme5Ea どうせ知らないと思うけど
10の補数も9の補数も8の補数もあるぞ
10の補数も9の補数も8の補数もあるぞ
960デフォルトの名無しさん (アウアウエー Sa6a-v1fK)
2019/12/29(日) 00:46:58.08ID:jG5lme5Ea >マイナスが出てくるのは2の補数表現の話だけ
違う
それは君が2の補数の負数に慣れ過ぎてそう思ってるだけ
1の補数を負数とする定義も普通に存在する
違う
それは君が2の補数の負数に慣れ過ぎてそう思ってるだけ
1の補数を負数とする定義も普通に存在する
961デフォルトの名無しさん (ワッチョイ ae2c-fJ/L)
2019/12/29(日) 01:30:36.45ID:KIjz0jVz0 1の補数・2の補数とかは、基本情報処理資格の初歩だろw
教科書を読め!
教科書を読め!
962デフォルトの名無しさん (ワッチョイ b633-WkU2)
2019/12/29(日) 01:40:35.53ID:Q2ohrJia0 >>960
ふつうか?ホントか?
ふつうか?ホントか?
>>962
本当に普通ですね…
本当に普通ですね…
964デフォルトの名無しさん (オイコラミネオ MM71-WkU2)
2019/12/29(日) 11:58:05.67ID:/K389dkkM 話としてふつうなのはわかるが、実装としては見たことがないなあ。
965デフォルトの名無しさん (アウウィフ FF3a-v1fK)
2019/12/29(日) 13:55:36.09ID:49gQrlWfF そりゃ便利な方が使われるわ
存在するのと使われてるか普及してるかは関係無い
utf-7とかおまいら使ってないやろ
存在するのと使われてるか普及してるかは関係無い
utf-7とかおまいら使ってないやろ
966デフォルトの名無しさん (アウアウエー Sa6a-fJ/L)
2019/12/29(日) 14:51:01.25ID:qJvaFsYpa IP のチェックサム -- 1の補数演算
http://4049.nwr.jp/comp/ip_csum.html
http://4049.nwr.jp/comp/ip_csum.html
967デフォルトの名無しさん (ワイーワ2 FF7a-v1fK)
2019/12/30(月) 11:12:31.07ID:WAqdspciF 1の補数があまり使われない理由は
計算が面倒なんじゃなくて
0が+-二つあるのがもったいないからって理由だっけ
計算が面倒なんじゃなくて
0が+-二つあるのがもったいないからって理由だっけ
968デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/30(月) 14:31:59.58ID:w8cwRlld0969デフォルトの名無しさん (ワッチョイ b633-WkU2)
2019/12/30(月) 17:20:52.00ID:u7z+ALKO0 >>967
加算と減算を同じ回路で実行できるから。
加算と減算を同じ回路で実行できるから。
970デフォルトの名無しさん (ワッチョイ b633-WkU2)
2019/12/30(月) 17:21:58.90ID:u7z+ALKO0 あ、2の補数のほうが有利なところのこと。
971デフォルトの名無しさん (アウウィフ FF3a-Qqkg)
2019/12/31(火) 19:37:02.21ID:z/4e8Z8bF すみません、初学者で苦労してまして・・
Rubyxlでエクセルのテンプレートを編集したく
そこで、特定のセルをコピーして特定のセルに貼り付ける
操作を行いたいのですが、ネットで検索しても全くヒットせず
有識者のかたいらっしゃれば、ご教授いただけましたら幸いです。。
Rubyxlでエクセルのテンプレートを編集したく
そこで、特定のセルをコピーして特定のセルに貼り付ける
操作を行いたいのですが、ネットで検索しても全くヒットせず
有識者のかたいらっしゃれば、ご教授いただけましたら幸いです。。
972デフォルトの名無しさん (ワッチョイ ae2c-fJ/L)
2019/12/31(火) 20:20:29.97ID:ozxOKIBe0 Ruby で、Excel, Libre Office とか、やってる人いるの?
漏れは、CSV モジュールしか知らない
CSV で、データしか処理しない。
見た目の指定は、難しそう
漏れは、CSV モジュールしか知らない
CSV で、データしか処理しない。
見た目の指定は、難しそう
973972 (ワッチョイ ae2c-fJ/L)
2019/12/31(火) 20:55:42.15ID:ozxOKIBe0 Ruby で xlsx を編集する
http://secret-garden.hatena@blog.com/entry/2017/09/21/174348
rubyXL についての記事
@ を取り除いてください!
はてなブログなので一応、5ch のアクセス禁止を警戒して、URL を書きません!
http://secret-garden.hatena@blog.com/entry/2017/09/21/174348
rubyXL についての記事
@ を取り除いてください!
はてなブログなので一応、5ch のアクセス禁止を警戒して、URL を書きません!
974デフォルトの名無しさん (ワッチョイ ed63-av3+)
2020/01/01(水) 01:22:54.75ID:m6l/1R8h0 >>973
ご丁寧に有難うございます!!
ご丁寧に有難うございます!!
975デフォルトの名無しさん (ワッチョイ 450b-W/+2)
2020/01/01(水) 02:42:07.71ID:AGxbyfJN0 >>971
rubyxlというのは使ったことなくて知らないが、もっと低レベルなやり方
require 'win32ole'
でexcelシートの読み込みはやっている
win32oleでぐぐればやり方はなんとかなると思う
rubyxlというのは使ったことなくて知らないが、もっと低レベルなやり方
require 'win32ole'
でexcelシートの読み込みはやっている
win32oleでぐぐればやり方はなんとかなると思う
976デフォルトの名無しさん (ワッチョイ c2a5-s4wZ)
2020/01/01(水) 10:46:50.28ID:zZ41nBr+0 本当にxmlでやりたいんなら
まずはxmlの拡張子をzipにして解凍して
それっぽい本体のxmlファイルを探し出して
テキストファイルで開いて見てみる
こりゃーRubyは関係ないな
まずはxmlの拡張子をzipにして解凍して
それっぽい本体のxmlファイルを探し出して
テキストファイルで開いて見てみる
こりゃーRubyは関係ないな
977デフォルトの名無しさん (アウウィフ FFa5-p4uH)
2020/01/01(水) 11:27:28.59ID:tqBP4ADqF ぶっちゃけ質問者の利益を最優先で回答すると
python で win32com 使うのが最善解
python で win32com 使うのが最善解
978デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/01(水) 12:18:16.48ID:06rhhv4Sa PythonではWindowsにも人権があるからな
本人が今後辛い思いをしないためにも、はっきり言うよ
Ruby村では、 ド ザ に 人 権 は な い
出 て い け
本人が今後辛い思いをしないためにも、はっきり言うよ
Ruby村では、 ド ザ に 人 権 は な い
出 て い け
979デフォルトの名無しさん (ワッチョイ 4914-DsOW)
2020/01/01(水) 13:29:11.77ID:ak/J1wbe0 WSLでRuby村に仲間入り♪
980デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2020/01/01(水) 15:09:02.89ID:DUq05mSq0 >>971
require 'rubyXL'
require 'rubyXL/convenience_methods'
book = RubyXL::Parser.parse('input.xlsx')
sheet = book[0]
sheet[0][0].change_contents(sheet[0][1].value) #B1の値をA1にコピー
book.save('output.xlsx')
書式をコピーしたい場合や計算式をコピーしたい場合は別途対処が必要
まとめてコピーしてくれる便利メソッドはないっぽいので必要なら自作
Windowsならwin32oleでCOM使ったほうが簡単
require 'rubyXL'
require 'rubyXL/convenience_methods'
book = RubyXL::Parser.parse('input.xlsx')
sheet = book[0]
sheet[0][0].change_contents(sheet[0][1].value) #B1の値をA1にコピー
book.save('output.xlsx')
書式をコピーしたい場合や計算式をコピーしたい場合は別途対処が必要
まとめてコピーしてくれる便利メソッドはないっぽいので必要なら自作
Windowsならwin32oleでCOM使ったほうが簡単
981デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2020/01/01(水) 15:12:15.44ID:DUq05mSq0 VBAの代わりに使うようなクライアントサイドの用途なら
Python + xlwingsが知ってる限りは一番使いやすい
RubyからもPyCallかませば使えるがExcel処理はPython + xlwingsで書いて
それをPyCall経由でやり取りするのが簡単
Python + xlwingsが知ってる限りは一番使いやすい
RubyからもPyCallかませば使えるがExcel処理はPython + xlwingsで書いて
それをPyCall経由でやり取りするのが簡単
982デフォルトの名無しさん (オイコラミネオ MM49-YCNF)
2020/01/01(水) 16:14:04.42ID:Vy5hpr3FM C#のがええんちゃうか?
983デフォルトの名無しさん (ワッチョイ ed61-BfT8)
2020/01/01(水) 19:00:41.76ID:mlJgbHp20984デフォルトの名無しさん (ブーイモ MMb6-zmFY)
2020/01/02(木) 02:30:30.13ID:rEYXT5csM985デフォルトの名無しさん (ワッチョイ 2ed3-9wJp)
2020/01/02(木) 08:11:50.12ID:zXXNv/DU0986デフォルトの名無しさん (ワッチョイ 42a5-aiXr)
2020/01/03(金) 09:09:03.63ID:+DQqbAVf0 rubyって全てがオブジェクトなところがいいですよね
987デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 09:44:57.23ID:+RiBlMC+r メソッドはオブジェクトじゃないぞ
988デフォルトの名無しさん (ワッチョイ 4914-DsOW)
2020/01/03(金) 13:15:01.02ID:CVCs++Sx0 Ruby・・・値型はオブジェクトだが、メソッドはオブジェクトでない。
JavaScript・・・値型はオブジェクトではないが、メソッドはオブジェクト。
ただし値型に対応するオブジェクト型が存在する。例 Number(1)
どっちが良いんだろうなw
値型はRubyの方が便利なんだろうけど、JavaScriptの方が最適化できるだろうし
JavaScript・・・値型はオブジェクトではないが、メソッドはオブジェクト。
ただし値型に対応するオブジェクト型が存在する。例 Number(1)
どっちが良いんだろうなw
値型はRubyの方が便利なんだろうけど、JavaScriptの方が最適化できるだろうし
989デフォルトの名無しさん (ワッチョイ ed68-YCNF)
2020/01/03(金) 13:33:30.46ID:/EnEVvpc0 どっちでいいよ。
使いやすければ。
個人的には、どっちもあんまりだけどな!
使いやすければ。
個人的には、どっちもあんまりだけどな!
990デフォルトの名無しさん (ワッチョイ 6265-oRfB)
2020/01/03(金) 17:45:42.37ID:e4Snrs1J0 >>987
Methodクラスがあるよ
Methodクラスがあるよ
991デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 19:11:50.30ID:+RiBlMC+r >>990
Methodクラスのオブジェクトはメソッドじゃないぞ
Methodクラスのオブジェクトはメソッドじゃないぞ
992デフォルトの名無しさん (ワッチョイ 6265-oRfB)
2020/01/03(金) 20:21:33.31ID:e4Snrs1J0993デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 20:24:39.88ID:+RiBlMC+r >>992
>>986の言っていることは間違っているということを指摘しているだけで実用に関しては名にも言及していないのにお前はなんでそんな必死なの
>>986の言っていることは間違っているということを指摘しているだけで実用に関しては名にも言及していないのにお前はなんでそんな必死なの
994デフォルトの名無しさん (ワッチョイ 6265-oRfB)
2020/01/03(金) 20:38:16.32ID:e4Snrs1J0 ここまでの流れを関数型言語スレに当てはめると、こんなところ
>>986:モダンな関数型言語において、すべてが第一級市民なところがいいですね
>>987:いや、関数適用は第一級市民じゃないぞ
>>990:関数 apply 定義すればいいよ
>>991:関数 apply は適用じゃないぞ
- fun succ x = x + 1; (* 関数 succ を定義 *)
val succ = fn : int -> int
- succ 2; (* 関数 succ に 1 を適用 *)
val it = 3 : int (* 2 + 1 = 3 により、結果は 3 *)
- fun apply f x = f x; (* 関数 apply を定義 *)
val apply = fn : ('a -> 'b) -> 'a -> 'b
- apply succ 2; (* 関数 apply を介して、関数 suuc に 1 を適用 *)
val it = 3 : int (* 結果は同じ *)
>>986:モダンな関数型言語において、すべてが第一級市民なところがいいですね
>>987:いや、関数適用は第一級市民じゃないぞ
>>990:関数 apply 定義すればいいよ
>>991:関数 apply は適用じゃないぞ
- fun succ x = x + 1; (* 関数 succ を定義 *)
val succ = fn : int -> int
- succ 2; (* 関数 succ に 1 を適用 *)
val it = 3 : int (* 2 + 1 = 3 により、結果は 3 *)
- fun apply f x = f x; (* 関数 apply を定義 *)
val apply = fn : ('a -> 'b) -> 'a -> 'b
- apply succ 2; (* 関数 apply を介して、関数 suuc に 1 を適用 *)
val it = 3 : int (* 結果は同じ *)
995デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 20:45:58.77ID:+RiBlMC+r996デフォルトの名無しさん (ワッチョイ 6265-oRfB)
2020/01/03(金) 21:03:06.07ID:e4Snrs1J0 >>993
間違っているという指摘、そのものが誤りだということ
モダンな関数型言語において、すべての値(object)は第一級市民であるが
値と値との関係である適用は値ではない
したがって、そもそも値ではない適用を第一級市民ではないと否定する主張が誤りである
そんなの当たり前だよね
同様に、純粋オブジェクト指向言語において、すべてはオブジェクトであるが、
オブジェクトとオブジェクトとの間の関係であるメソッドはオブジェクトではない
したがって、そもそもオブジェクトではないメソッドを、あえて否定する>>991が誤りではないかと
たとえば、>>986 とそれにに対する反論である>>987 を改ざんして:
986 rubyって全てがオブジェクトなところがいいですよね
(ただしメソッドがオブジェクトなのは常識ですから、あえて言及しませんけど)
987 コメントはオブジェクトじゃないぞ
だったとして、それでもなお>>987を擁護する?
間違っているという指摘、そのものが誤りだということ
モダンな関数型言語において、すべての値(object)は第一級市民であるが
値と値との関係である適用は値ではない
したがって、そもそも値ではない適用を第一級市民ではないと否定する主張が誤りである
そんなの当たり前だよね
同様に、純粋オブジェクト指向言語において、すべてはオブジェクトであるが、
オブジェクトとオブジェクトとの間の関係であるメソッドはオブジェクトではない
したがって、そもそもオブジェクトではないメソッドを、あえて否定する>>991が誤りではないかと
たとえば、>>986 とそれにに対する反論である>>987 を改ざんして:
986 rubyって全てがオブジェクトなところがいいですよね
(ただしメソッドがオブジェクトなのは常識ですから、あえて言及しませんけど)
987 コメントはオブジェクトじゃないぞ
だったとして、それでもなお>>987を擁護する?
997デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 21:10:31.51ID:+RiBlMC+r はいはい
本物の障害児やんこいつ
本物の障害児やんこいつ
998デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 21:10:58.90ID:+RiBlMC+r 間違いをちょっと指摘しただけでガイジに粘着されたでござる
999デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 21:11:52.81ID:+RiBlMC+r 「素数は全部奇数だよ」
「いや2は偶数だろ」
ってやりとりに文句付けてるのと一緒だからなお前
「いや2は偶数だろ」
ってやりとりに文句付けてるのと一緒だからなお前
1000デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 21:11:59.61ID:+RiBlMC+r 1000
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 377日 16時間 28分 25秒
新しいスレッドを立ててください。
life time: 377日 16時間 28分 25秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 米価高騰が日本人のコメ離れに拍車かける 茶わん1杯のごはんは4枚切り食パン1枚より高額の時代 [首都圏の虎★]
- 神奈川県警に「救えた命ではなかったか」報ステ大越健介キャスター 川崎遺体遺棄で対応疑問視 [少考さん★]
- ブラジル人研究者「日本はとても安全な国。だから私はここに移住したい」 翌日、千葉県でスリランカ人に殺される ★2 [お断り★]
- 「ランチに行ってきます」→そのまま退職も!中堅社員困惑の「すぐに辞めてしまう新人」調査 [少考さん★]
- 【自主回収】「あんまん」に「肉まん」が混入1314パックを自主回収「肉まん」に「あんまん」が混入の可能性もあり [おっさん友の会★]
- 【大阪・関西万博】来場者数きのう=5日『12万人1千人』(関係者1万7千人含む) [少考さん★]
- 大阪万博、大敗北が決定する。協会はGWに1日あたり17万人の来場を想定していた [931948549]
- 【実況】博衣こよりのえちえち星のカービィ64 100%耐久🧪★2
- 🏡なんGなかよし部🥺🏡
- 【実況】博衣こよりのえちえち星のカービィ64 100%耐久🧪★1
- 日本人、本格的なコメ離れへ 茶わん1杯のごはんは4枚切り食パン1枚より高額の時代へ ありがとう自民JA安倍晋三 [434776867]
- すき家でビール飲んでたジジイが車で帰っていってワロタ