◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

Ruby 初心者スレッド Part 65 YouTube動画>11本 ->画像>3枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1545421414/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん (ワッチョイ 0f80-JI52)
2018/12/22(土) 04:43:34.03ID:84E3pYZa0
プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ

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

前スレ
Ruby 初心者スレッド Part 64
http://2chb.net/r/tech/1535797516/

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

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

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

Ruby コミュニティ公式
https://www.ruby-lang.org/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2デフォルトの名無しさん (ワッチョイ cb80-JI52)
2018/12/22(土) 04:46:34.41ID:84E3pYZa0
Rubyの絵本、2008
たのしいRuby 第5版、2016

3ステップでしっかり学ぶ Ruby入門、2018

かんたん Ruby (プログラミングの教科書)、2018

プロを目指す人のためのRuby入門、2017

改訂2版 パーフェクトRuby、2017

改訂2版 Ruby逆引きハンドブック、2018 (中級者向け)

Effective Ruby、2015 (中級者向け)

メタプログラミング Ruby 第2版、2015 (中級者向け)

リファクタリング:Rubyエディション、2010 (中級者向け)

RubyでつくるRuby ゼロから学びなおすプログラミング言語入門、2017 (中級者向け)

Rubyのしくみ、2014 (中級者向け)

改訂4版 基礎 Ruby on Rails、2018

パーフェクト Ruby on Rails、2014

Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、2014

オブジェクト指向設計実践ガイド Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方、2016

Seleniumデザインパターン&ベストプラクティス、2015
3デフォルトの名無しさん (ワッチョイ cb80-JI52)
2018/12/22(土) 04:47:41.34ID:84E3pYZa0
開発環境

RDE
Windows用IDE
https://ja.osdn.net/projects/sfnet_rubyde/
以下、RDEの使用説明
http://rubyde.sourceforge.net/hiki/ja/FrontPage.html

RDEのデバッグ機能を使う場合、設定においてデバッグオプションを「-r debug2」から「-r debug」と書き換えて、
ruby付属のdebug.rbを使うようにすること。
RDE付属のdebug2.rbは、ruby1.8用のスクリプトのため、現在のrubyのversionには使えません

サクラエディタ
Windows用高機能エディタ
https://ja.osdn.net/projects/sfnet_sakura-editor/
以下、ruby用設定の説明
http://supportdoc.net/support-sakura/ruby.html

Emacs
GNUの高機能エディタ

Vim
Emacsと同じぐらい有名なCUIベースのエディタ

VSCode
マルチOSに対応したマイクロソフト社製のソースコードエディタ
https://code.visualstudio.com/download
4デフォルトの名無しさん (ワキゲー MM2b-WCtl)
2018/12/22(土) 14:30:22.80ID:uFQ/hnLUM
>>1
5デフォルトの名無しさん (ワッチョイ cb80-JI52)
2018/12/23(日) 02:23:36.39ID:lfndw29D0
前スレの、>995

>rubyでサイトにアクセスさせてたんだけど、そのrubyが急に動かなくなってしまいまして、どうしたもんかと

selenium-webdriver(SW) を使っているなら、ブラウザが新しくなってエラーが出るとか?
SW, chromedriver を最新にすれば?

最新のchromedriver をダウンロードする
http://chromedriver.chromium.org/home

レポジトリの情報を見る。
gem search -r selenium-webdriver
#=> version 3.141 が最新

グローバルにインストールする。
gem install selenium-webdriver

インストール済みGemを確認する。
gem list selenium-webdriver
6デフォルトの名無しさん (ワキゲー MM2b-WCtl)
2018/12/25(火) 09:31:38.95ID:w87C2v/dM
今年のクリスマスは新しいバージョンないのか
7デフォルトの名無しさん (ワキゲー MM2b-WCtl)
2018/12/25(火) 19:08:55.81ID:+tXPBaqnM
Ruby 2.6.0 キターーーー
8デフォルトの名無しさん (アメ MM59-wUZI)
2018/12/26(水) 20:00:19.74ID:v8erlN15M
> なお、「Ruby」で採用されているJITコンパイラーは、他の言語で採用されている一般的なものとは異なり、
> C言語のソースコードをファイルとしてディスクに書き、通常のCコンパイラーを用いてネイティブコードに変換することでJITコンパイルを行うという手法(MJIT)を採用しているという。
> そのため、「Ruby 2.6」でJITコンパイラーを利用するには「GCC」、「Clang」、あるいは「Microsoft VC++」によってビルドされた「Ruby」実装と、それをビルドしたコンパイラーを実行時に利用できる必要がある。

トッポいなぁwww
9デフォルトの名無しさん (ワッチョイ aded-rM0A)
2018/12/26(水) 21:07:57.20ID:8V4rShRI0
それは、JITではないな。
10デフォルトの名無しさん (ワッチョイ 237c-ESEE)
2018/12/26(水) 23:00:34.51ID:lC66I3j80
Cみたいに、構造体CPersonを要素とする配列を作りたいんだけど、どうやればいい?
CPerson Struct.new(:name, :age);

persons = [
CPeson.new("Taro Yamda", 25),
CPeson.new("Yuko Suzuki", 20),
CPeson.new("Erika Toda", 30)
];
で定義して、参照は、

k = 要素番号;
name = persons[k].name;
age = persons[k].age;


みたいにするのが標準?
11デフォルトの名無しさん (ワッチョイ 237c-ESEE)
2018/12/26(水) 23:01:21.88ID:lC66I3j80
誤: CPerson Struct.new(:name, :age);
正: CPerson=Struct.new(:name, :age);

orz
12デフォルトの名無しさん (ワッチョイ 7680-v93B)
2018/12/27(木) 00:05:55.93ID:zcYaa59I0
Effective Ruby の著者のサイトに、本のソースコードが載っている

項目10 : 構造化データの表現には、Hash ではなく、Struct を使おう
https://github.com/pjones/effrb/blob/master/oop/struct_test.rb

ハッシュキーは内部実装の詳細情報なので、
これがユーザーに公開されているのは、良くないから

一方、Struct は、Class Generator。
簡易クラス
13デフォルトの名無しさん (アメ MMa1-aqDf)
2018/12/27(木) 01:03:54.71ID:KLGborwtM
簡単にクラスが作れる!軽い気持ちでじゃんじゃんクラスにしてね!な言語かと思ってたのに簡易クラスとは…
1412 (ワッチョイ 7680-N9Dm)
2018/12/27(木) 02:41:44.91ID:zcYaa59I0
Struct は入門書にも書いていないのに、これを使うのは物好きな人だろう。
書き捨てのツール作りとかに使うのかも

でも、Rails のような大規模プログラムでも使っているけど
15デフォルトの名無しさん (アウアウエー Sa02-n9eg)
2018/12/27(木) 07:26:53.72ID:4d8pe2yNa
>>8
お前さんが考えてる「遥かにスマートな方法」って何?
16デフォルトの名無しさん (ワッチョイ 718a-5EXd)
2018/12/27(木) 07:31:41.61ID:+XOHKY4Q0
面倒くさいからコンパイラも内蔵してくれ
17デフォルトの名無しさん (オッペケ Sr75-ledV)
2018/12/27(木) 11:44:26.94ID:gNvYWHErr
お前ら詳しすぎ
18デフォルトの名無しさん (ワッチョイ 5ae3-h5Ay)
2018/12/27(木) 11:52:39.98ID:lYmcIHJL0
>>10
CPerson.new(・・・)
の代わりに、Syntax Suger として
CPerson[・・・]
を使えるらしいので、やってみたところ上手くいった:

CPerson = Struct.new(:name, :age);  # CPerson型の型定義

$g_persons = [
 CPerson["Taro Yamda", 25],
 CPerson["Yuko Suzuki", 20],
 CPerson["Erika Toda", 30]
];
for k in 0..2
 name = $g_persons[k].name;
 age  = $g_persons[k].age;
 print name, ", ", age, "\n";
end
19デフォルトの名無しさん (ワッチョイ 7dc7-NHNr)
2018/12/27(木) 12:38:00.49ID:M6yD45RN0
何がしたいのかよくわからんがRubyでfor文は殆ど使わない

$g_persons.each{|p|puts 'name = %s, age = %s' % p.to_a}
20デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 12:47:26.89ID:xdSwIlO30
forを使わないのは良いが
そこでeachとか使われると萎える
21デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 12:57:10.36ID:xdSwIlO30
これのどちらかだな(%よりはformatの方が推奨される)

puts $g_persons.map { |p| 'name = %s, age = %s' % p.to_a }
puts $g_persons.map { |p| "name = #{p.name}, age = #{p.age}" }
22デフォルトの名無しさん (ワッチョイ 6e8a-ZwQs)
2018/12/27(木) 12:59:00.75ID:fJVcpN3h0
print name, ", ", age, "\n";
ってのはただの例だろうからこの場合eachよりふさわしい方法はないでしょ
代替案も言えない屑は勝手に萎えてろ
23デフォルトの名無しさん (ワッチョイ 91ed-MF8/)
2018/12/27(木) 13:01:20.74ID:aB5zW/KI0
>>21
なんでわざわざmap?w
24デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 13:05:11.39ID:xdSwIlO30
>>23
関数型とか副作用とか勉強すると良いよ
25デフォルトの名無しさん (ワッチョイ 769a-n9eg)
2018/12/27(木) 13:10:47.55ID:uAUh4s+A0
初心者スレなんだから、そこを解説すべき。
26デフォルトの名無しさん (ワッチョイ 7dc7-NHNr)
2018/12/27(木) 13:44:32.30ID:M6yD45RN0
煽り抜きで>>20はアスペっぽい
文脈が理解できてない
27デフォルトの名無しさん (ワッチョイ 958a-5EXd)
2018/12/27(木) 13:48:54.48ID:T8r+bbof0
Ruby鉄の掟

map <-偉そう
each <- 普通
for <- 素人そう

ヲタ同士のマウンティングによく使われるのでこの格付は覚えておいて損はない
28デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 13:53:41.85ID:xdSwIlO30
>>26
お前以外は俺が言ったことを理解できてるぞw
だからアスペはお前じゃん
29デフォルトの名無しさん (ワッチョイ 7dc7-NHNr)
2018/12/27(木) 14:21:51.98ID:M6yD45RN0
>>28
いやだからさ、初めから配列arrの要素に対してこういうことをした結果を出力したいっていうのであれば
puts arr.map{|e| hoge}.join(s)
て書くのは当たり前だけど、この元の発言の人はそんなこと言ってなくてむしろ配列の参照の仕方について言ってるんだから上の説明じゃ全然駄目だってことくらいわかるだろ
ドヤ顔で他人見下して見当はずれの発言しているあんたが痛いって話だよ
30デフォルトの名無しさん (ワッチョイ 91ed-MF8/)
2018/12/27(木) 14:47:49.02ID:aB5zW/KI0
>>24
関数型。w
ふつうにふつうのコードを書けよ。
31デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 17:27:15.49ID:xdSwIlO30
>>29
やっぱアスペじゃん

俺は >>19 の書き込み、forを使ってるものを「forなんて殆ど使わない」と言って
eachを使って書き換えました。(どやぁ)
っていうのを見て、萎えた(eachも使わねーよ)って言ってるだけだから

arrの要素に使ってこういうことした結果〜とか
そんな話してねーから
32デフォルトの名無しさん (ワッチョイ 95b3-ZwQs)
2018/12/27(木) 18:34:27.49ID:PMl9P7n20
質問者の意図を無視して勝手に副作用だの言ってる奴いて草
アスペはほんと言うことがめちゃくちゃだな
33デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 18:43:10.17ID:xdSwIlO30
元の質問者になんかレスしてねーのに
文脈わかってないんだな。
34デフォルトの名無しさん (ワッチョイ 256c-ZwQs)
2018/12/27(木) 19:12:45.53ID:lMOgiRq50
ID:xdSwIlO30
こいつ本気でアスペだろ
質問者への回答へのレスに質問者の意図を無視して上から目線で見当違いないちゃもんつけてんだから
本当に意味不明だわ
初めから属性を出力することが目的だってなってたら誰だってmapしてjoinなりするだろ
当たり前のことでマウントとって最高に気持ち悪い
35デフォルトの名無しさん (アメ MMa1-aqDf)
2018/12/27(木) 19:15:44.30ID:dG7CRoznM
副作用うんたらかんたら君は一切画面出力せずにプログラミングしろよwww
ファイルの読み書きも禁止。全部メモリ上だけでやれやwwwww
36デフォルトの名無しさん (アークセー Sx75-5/pO)
2018/12/27(木) 19:19:47.51ID:142Xb6wkx
まとめるとこうだな
for文よりary.each { |e| hoge(e) }って書いた方が一般的だよってレス(>>19)に対して
hoge(e)のところがたまたま今回putsだったってだけでputs ary.map { |e| fuga(e) }って書かないとか萎える(>>20)
と意味不明なこと言って荒らしまわってる奴がいる
精神障碍者の相手をしてはいけないということだ
37デフォルトの名無しさん (ワッチョイ 5ae3-h5Ay)
2018/12/27(木) 19:45:12.62ID:lYmcIHJL0
試してないけど、C/C++ ばっかりの自分には、
 $g_persons.each { |p| printf( "name = %s, age = %s\n", p.name, p.age) }
なら分かるけど、
 $g_persons.each{|p|puts 'name = %s, age = %s' % p.to_a}

は、% p.to_a の部分がまったく分からないといっても過言ではない。

' の後ろの % って何? p.to_a も分からない。
38デフォルトの名無しさん (ワッチョイ 5ae3-h5Ay)
2018/12/27(木) 19:52:19.85ID:lYmcIHJL0
ああ、分かった。% は、sprintf の syntax suger みたいなものらしいね。

でも、この場合、p.to_a は、本当は良くないと思うよ。
なぜなら、そもそも構造体自体が、「並び方」に依存しないプログラムを
作るために用いるものなのに、その目的に逆行してしまうから。

to_a だと、構造体を定義したときにメンバが並んでいる順に配列のように
取り出してしまう。ところが、構造体は、そういう順序に依存するプログラム
に問題がおきやすいから導入するもんなんだよ、これが。
39デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 21:07:24.43ID:xdSwIlO30
>>38
いい答えだね。
だけどアスペは文脈がわからないからこう言うんだ。

お前が言ってることは>>18に対してのレスではない!と

>>18へのレスではなく、>>19へのレスなのは見ればわかるが
アスペは文脈がわからないから関係ない話をしてるように見える。
関係ない話をするな。俺に攻撃をするな。と)
40デフォルトの名無しさん (ワキゲー MM7e-NHNr)
2018/12/27(木) 21:32:46.10ID:QDWFXisuM
お前もしつこいぞ
41デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 22:22:45.06ID:xdSwIlO30
はい。しつこいつもりですが?
42デフォルトの名無しさん (ワッチョイ 555d-ZwQs)
2018/12/27(木) 22:55:34.21ID:oOio5T5+0
素で気持ち悪いなこいつ。もはや日本語による意思疎通は不可能だな
>>20の異常性が分かるまとめ

>>18 「生のトマトが嫌いなんだけどどうやったら克服できるだろうか」
>>19 「火を通したトマトを食べてみたら案外慣れるかもよ」
>>20 「トマトは生が一番おいしいに決まってるだろ。火を通すとか萎えるわ」
>>19 「生が苦手って言ってるからそれ以外を勧めてるんだけど……」
>>20 「いや、俺はお前に言ってんだけど。トマトは生に限るだろ」
>>19 「えぇ……」
43デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 22:56:12.17ID:xdSwIlO30
アスペはたとえ話が苦手なんだからやめとけw
44デフォルトの名無しさん (ワッチョイ 76e8-5/pO)
2018/12/27(木) 23:01:03.71ID:pGG7UwBL0
>>42
適確すぎて草
そしてアスペは例え話を理解できないらしいからきっとこれも理解できてねえぞ
45デフォルトの名無しさん (ワキゲー MM7e-NHNr)
2018/12/27(木) 23:02:55.51ID:QDWFXisuM
よくみたらこいつ単芝君じゃん
この板に粘着してる荒らしだからスルーしとけ
46デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 23:08:52.97ID:xdSwIlO30
>>42が間違ってることはちゃんと説明できる

本当の >>20>>19へのレスになっている
>>19で書いた内容がクソであると言ってる)

だけど>>42 では 20 が 18 へのレスになってる。

アスペはこの違いがわからない
47デフォルトの名無しさん (ワッチョイ 7680-N9Dm)
2018/12/27(木) 23:21:36.69ID:zcYaa59I0
>>37
メタプログラミングで、すべての属性名と値を、表示できないの?
48デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 23:26:16.89ID:xdSwIlO30
メタプログラミングじゃなくて、普通にto_hとかでわかるがそういう問題じゃないw
49デフォルトの名無しさん (ワキゲー MM7e-NHNr)
2018/12/27(木) 23:32:04.17ID:BM9tGIl2M
>>47
Struct#membersでメンバの名前を取得できるよ
50デフォルトの名無しさん (ワキゲー MM7e-NHNr)
2018/12/27(木) 23:34:00.73ID:BM9tGIl2M
やっぱ単芝君はガチのアスペやったんだな
>>42の20は普通に19への返事になってんでしょ
それが理解できないのは脳みそに欠損でもあるんじゃねえの
51デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 23:35:57.25ID:xdSwIlO30
> >>42の20は普通に19への返事になってんでしょ

18が生のトマトが嫌いといってるのに、20で生のトマトが一番と言ってるって話
俺は>>18に対して何もレスしていない

この違いぐらいわかれよw
52デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 23:37:39.36ID:xdSwIlO30
少し訂正

18が生のトマトが嫌いといってるのに、20で生のトマトが一番と言ってる
20は18へのレスになっているが

それとは違い俺は>>18に対して何もレスしていないという話
53デフォルトの名無しさん (ワッチョイ dab3-ZwQs)
2018/12/27(木) 23:42:03.85ID:41ryAAF60
>>51-52
ここまで言わないとわからないとか脳みそ小学生以下だろ
>>42
20 「トマトは生が一番おいしいに決まってるだろ。火を通すとか萎えるわ」 も
19 「火を通したトマトを食べてみたら案外慣れるかもよ」へのレスであって18には何も触れてないじゃん
火を通したらいいかもよってアドバイスに対して「18には触れずに」トマトは生以外萎えるとかいうトンチンカンなこと言ってんのがお前

理解できないならマジで病院行くか死んだ方が良いよ
てかアスペって本当に比喩表現が理解できないんだな、コイツ本物のアスペだろ
54デフォルトの名無しさん (ワッチョイ dab3-ZwQs)
2018/12/27(木) 23:43:05.82ID:41ryAAF60
あと絡んだ俺が言うのもなんだけどこいつとは会話が成り立たないから本当にスルーに限るな
障碍者はネット規制してほしいわ本当に
55デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 23:45:56.87ID:xdSwIlO30
じゃあスルーしろ(反論してくんな)

俺は>>18に対して否定するようなことは何も言ってないんだよ。
>>19に対してのレスでしか無いのに
>>42はそうなってないって話をしてる

繰り返すが、スルーしろ
56デフォルトの名無しさん (ワキゲー MM7e-NHNr)
2018/12/27(木) 23:48:08.70ID:BM9tGIl2M
名前をNGで「98-」で設定しておくと単芝君消えるよ
荒らしはスルーで
57デフォルトの名無しさん (ワッチョイ dab3-ZwQs)
2018/12/27(木) 23:49:51.85ID:41ryAAF60
>>55
きもいわーお前マジで
ここまで行って理解できないなら本当に死んだ方が良いよお前
死ねよお前
みんなの迷惑なんだわ
さっさと死ね
58デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 23:53:08.13ID:xdSwIlO30
>>42を訂正するならこんなところだな

>>18 「生のトマトが嫌いなんだけどどうやったら克服できるだろうか」
>>19 「火を通したトマトを食べてみたら案外慣れるかもよ」
>>20 「焼きトマトとかまずいわ。煮た方が良いだろ」
>>19 「生が苦手って言ってるから焼いたほうが良いって言ってるんだが」
>>20 「だから焼いたらまずいってお前に言ってるんだよ。煮たほうがいいって提案してるじゃねーか」
59デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/27(木) 23:54:17.07ID:xdSwIlO30
>>57
お前が理解してないようだから訂正してあげたよ
反論があるならどうぞ
スルーするに限るっていうなら、スルーしろ
60デフォルトの名無しさん (ワッチョイ da9f-AbfN)
2018/12/28(金) 00:16:53.50ID:S+j8ANns0
比喩表現を理解できないやつって本当にいるんだね
>>42はそこそこうまく状況を再現してるしそれにいちゃもんつけてるのは当事者であるワッチョイ 7d98-4fynしかいないという
言ってることは支離滅裂だし自分が異常者で迷惑者だって気づかないものなのかね
61デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/28(金) 00:19:49.83ID:Nt5XO8IQ0
そこそこw 言われてやんのwww

まあ>>58を見てよ
より正確だから
62デフォルトの名無しさん (ワッチョイ da9f-AbfN)
2018/12/28(金) 00:30:15.57ID:S+j8ANns0
>>61
気色悪いよあんた。友達も恋人もいないでしょ
>>58は全然スレの流れに沿ってないじゃん
これは親切心でいうけど、もしこれを本気で言ってるなら本当に発達障害だと思うから心療内科にでも行った方が良いよ
63デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/28(金) 00:31:47.10ID:Nt5XO8IQ0
>>58>>42を訂正しただけだよ。
もともと言い出したのは>>42
64デフォルトの名無しさん (ワッチョイ dabd-AbfN)
2018/12/28(金) 01:12:04.28ID:EAGmNHe50
え、何言ってんのこの人
>>42はそこそこうまく状況を再現してる
>>58は全然スレの流れに沿ってないじゃん
ってあるのに「>>58>>42を訂正しただけだよ。」って会話が成立してないじゃん
やっぱり日本語が理解できてないじゃん
障碍者なら病院から出てきてみんなに迷惑かけないでよね
65デフォルトの名無しさん (ワキゲー MM7e-NHNr)
2018/12/28(金) 01:13:19.73ID:ji8lT9bPM
だからワッチョイ 7d98-4fynはこの板に粘着してる単芝君っていう荒らしだからスルーするなりNGするなりしろって
66デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/28(金) 01:47:37.31ID:Nt5XO8IQ0
> >>42はそこそこうまく状況を再現してる
> >>58は全然スレの流れに沿ってないじゃん

意味がわからん。スレの流れ?
>>42がスレの流れに沿っているのであれば、
それを訂正した>>58もスレの流れに沿ってるだろ
67デフォルトの名無しさん (ワッチョイ 7680-N9Dm)
2018/12/28(金) 02:27:37.08ID:0zpc2kQW0
荒らしの相手をするな!
相手をすると、いつまでも荒らされる

荒らしと会話する者も、荒らしやぞ!
68デフォルトの名無しさん (ワッチョイ 7d98-4fyn)
2018/12/28(金) 03:08:15.66ID:Nt5XO8IQ0
俺は「生のトマトが嫌いな人」に「生のトマトが一番」なんて言ってないんだよなぁ。
>>42は何を勘違いしてるんだろうか
69デフォルトの名無しさん (ワッチョイ 91da-5EXd)
2018/12/31(月) 05:53:13.63ID:pK51+Our0
2.6対応Kindle本マダー
70デフォルトの名無しさん (ワッチョイ 7d14-4fyn)
2018/12/31(月) 06:31:52.28ID:LUt0Quvy0
俺もeach使うぐらいならmap使うわ
71デフォルトの名無しさん (ワッチョイ 7de7-NHNr)
2018/12/31(月) 09:14:34.62ID:Y5W1Y2v+0
ワッチョイ 7d98-4fyn
ワッチョイ 7d14-4fyn

アスペガイジ(>>70)が自演してて草
スレ民全員から病人認定されたのがよっぽど悔しかったのか
最高に気持ち悪いから死んでくれ
72デフォルトの名無しさん (ワッチョイ 711f-ryRD)
2018/12/31(月) 10:06:42.41ID:mQmbtKb40
お前もキモいわ
73デフォルトの名無しさん (ワッチョイ 7de7-NHNr)
2018/12/31(月) 10:15:39.05ID:Y5W1Y2v+0
自演失敗してるお前の方が痛いから
さっさとうせろよゴミ屑が
74デフォルトの名無しさん (ワッチョイ 7d14-AIgs)
2018/12/31(月) 10:45:56.94ID:LUt0Quvy0
必死すぎwww
75デフォルトの名無しさん (ワッチョイ 7d41-ZwQs)
2019/01/01(火) 23:39:40.12ID:zmCcMows0
アスペが自演失敗してて草
76デフォルトの名無しさん (ワッチョイ 8b2c-otaJ)
2019/01/05(土) 07:29:32.98ID:vhTcM9vZ0
Software Design 12月号の特集が、Ansible と、
IT での時刻・時間(timezone, UTC、うるう秒、夏時間、元号)で、その特集の中で、
/usr/share/i18n/locales/ja_JP のera の所に、新元号を追加する方法が書いてある

その記事では、<U5E73> のような文字コードから表示するのに、
以下のようにRuby で変換しているけど、もっと簡単に出来ないかな?
(ただし、コードは少し変えた)

CodePoint = "<U003A><U5E73><U6210><U5E74><U0025>"

res = ""
res += CodePoint.gsub( /<U(.{4})>/ ) {
[$1].pack( 'H*' ).tap{ | obj | p obj }
.unpack( 'n*' ).tap{ | obj | p obj }
.pack( 'U*' )
}

puts res #=> ":平成年%"

以下の方法でも、文字を表示できる。
p "\u{1F1EF}\u{1F1F5}"
p "\u{5E73}" #=> "平"
77デフォルトの名無しさん (ワッチョイ 1347-AbwM)
2019/01/05(土) 08:52:08.21ID:/v64JW470
>>76
puts CodePoint.gsub(/<U([0-9A-F]{4,})>/){ "" << $1.to_i(16) }
78デフォルトの名無しさん (ワキゲー MM8b-Bk9+)
2019/01/05(土) 09:42:11.12ID:IjyI1Wf/M
>>76
puts CodePoint.scan(/\h+/).map(&:hex).pack('U*')
# => :平成年%
79デフォルトの名無しさん (ワッチョイ 917c-aDDJ)
2019/01/05(土) 12:23:43.07ID:wMTnOPNR0
エイプリルフールに発表とかふざけてるよな
せめて2月11日にすれば良いのに
80デフォルトの名無しさん (ワッチョイ 2b79-BXbj)
2019/01/05(土) 12:41:40.58ID:ZVOB0asR0
もっと早く発表しろって思うわ。
わざわざ Unicode に新元号を入れる枠まであるし、
なんで emacs-devel ML まで日本の新元号対応とかで、
わざわざ話題にしないといけないのか、マジで頭おかしいと思うわ。
どんだけ迷惑かけてんだって。
81デフォルトの名無しさん (アウアウエー Sae3-ahzL)
2019/01/05(土) 12:59:38.84ID:tCoREms1a
お前らドカタの仕事のネタを作ってくれてるんだから有難く思え
82デフォルトの名無しさん (ワッチョイ 2679-qXdV)
2019/01/12(土) 13:26:01.98ID:60fuPcpZ0
Linux distroのdeveloperをやっているけど、
あるコマンドのオプションを問う問題で、
重箱の隅を突っつく問題なんか、分からんわ。
あんなの、非実用的、非生産的な問題で全く意味ない。
83デフォルトの名無しさん (ワッチョイ fa90-Wnoh)
2019/01/12(土) 17:07:56.88ID:adzETivF0
Ruby初心者です。RubyとWindowsは相性が悪いって意見をよく見る気がします
どのように相性が悪いのでしょうか?またWindowsユーザーはLinuxを入れてそっちでRubyやったほうがいいのでしょうか?
84デフォルトの名無しさん (アメ MM71-45a3)
2019/01/12(土) 17:15:31.42ID:xa1AucJlM
コミュニティが昔からwindowsとマイクロソフトを目の敵にしていてwindows環境を無視したやり方をゴリ押しすることが多い。
質問もwindows環境だと分かったとたんwindowsなんか使ってるのが悪いとなる。
ossプロジェクトもgithubがマイクロソフトに買収されたとたんにgitlabへの移行が相次ぐなどrubyコミュニティ特有。
圧倒的シェアを誇るVSCodeも宗教上の理由で使えずオワコン死臭エディタを薦められる。
85デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 17:39:54.05ID:iezJoARlM
>>83
正確には、相性が悪い「ことになっている」
実際には今のWin10ならWSLを使えばほぼLinux同等にRailsを使えるんだけど、
作者のMatz含めプロのRubyユーザーってほぼ100%がマカーなんだよ
だからコミュニティでWin使ってるなどと言おうものなら>>84の通りたちまちリンチに遭う
このスレはまだマシな方だが、正直不快な思いをするだけだからお勧めできない
86デフォルトの名無しさん (ワッチョイ 7102-Fjw0)
2019/01/12(土) 18:05:31.82ID:wLe9qPUM0
>>83
Ruby単体で使うならWindowsでも簡単に入れられるんだけど、いくつかのgemはコンパイルを前提にしているから、
そういうコンパイラ環境を(LinuxやmaxOSと比較して)手に入れにくいWindowsが敬遠されてるというのはあるね

もちろんやってやれないことはないんだけど、そんなとこで詰まるぐらいなら素直にUnix系を使っておいた方が
特に初心者ならいいだろうね
87デフォルトの名無しさん (アウアウイー Sa45-7QjO)
2019/01/12(土) 18:37:16.80ID:evj+Zb3ua
>>80
そっか〜
クイズみたいで、ぎりぎりの方が楽しい。
まあ、システムの場合元号が切り替わった時にすぐに切り替えられないと大変
なのはわかるけどね。

ちなみに昭和に変わった時、私の会社のソフトは最初から変更の可能性のあるもの
について対応をした有ったので。一か所変えるだけで、全てが対応できた。
昭和天皇が亡くなった時、最初に問い合わせがあったのは日銀だった。まだ元号
決まっていなかったけど、対応済みという話をして安心してもらったこと思い出したよ。
88デフォルトの名無しさん (アウアウイー Sa45-7QjO)
2019/01/12(土) 18:38:05.71ID:evj+Zb3ua
「昭和に変わった」じゃないな「平成に変わった」だったわ〜〜
89デフォルトの名無しさん (ワッチョイ fa90-Wnoh)
2019/01/12(土) 20:26:43.79ID:adzETivF0
>>84
>>85
>>86
ありがとうございます
コミュニティがWindows嫌い、そういうのもあるんですね……
とりあえずWSLでLinux使ってみることにします!
90デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/12(土) 20:50:54.89ID:iezJoARlM
Win32ネイティブのRubyを使用せずにWSLを使うよう公式にアナウンスするだけで
ドザに対する、余計な手間をかけさせるだけのカス連中死ね、みたいなヘイトはだいぶマシになると思うけどね
未だに公式サイトがWSLを完全に無視したまま地雷だらけのASRやRubyInstallerへ誘導しているのは悪意しか感じないわ
91デフォルトの名無しさん (ワッチョイ 7102-Fjw0)
2019/01/12(土) 21:18:43.09ID:wLe9qPUM0
WSLってそこまで安定してないってのもね
だったらVMWareなりVirtualBoxなりの方がまだマシ
92デフォルトの名無しさん (ワッチョイ d663-VK1S)
2019/01/12(土) 21:20:31.60ID:K7DV+V080
ブログサイトをRubyで立ち上げようと思ったらLokkaで間違いないですかね?
93デフォルトの名無しさん (ワッチョイ 715f-7QjO)
2019/01/12(土) 23:35:27.92ID:C4mcrgED0
windows+rubyはRubyInstaller2でどうにかなる

問題は日本語+糞プロンプトが混じった場合
rb-readlineがバグってるのかしらんが諦めが必要になる
94デフォルトの名無しさん (ワッチョイ 8133-gHoM)
2019/01/13(日) 00:54:43.94ID:WrQFCZ8r0
>>90
いや、WSLは素人に薦められるものではない。
充分な知識がなければ、RubyInstallerのほうがはるかにマシ。
95デフォルトの名無しさん (ワッチョイ a514-Fjw0)
2019/01/13(日) 03:56:19.11ID:rZnPnQZ10
どう考えてもWSLの方が薦められるだろ
理由は>>94が薦められない理由を書いたら書いてやる

理由もなく薦められないというだけで信用してもらえると思うバカには
この程度の反論で十分だからさ

ということで、考えてもWSLの方が薦められる
96デフォルトの名無しさん (ワッチョイ d62c-NvUN)
2019/01/13(日) 05:24:19.40ID:Cy6afJKh0
漏れは、Windows10 で、RubyInstaller のMSYS2 コンパイル環境なしのポータブル版で、C:\Ruby24-x64 に置いている

コンパイル環境なしだと、Websocket のWindows用バイナリが無いから、これに依存するアプリが使えない。
今も、どこかに無いかと探しているw
どこかのサイトに、自動的にコンパイルして、Windows用バイナリを置いてほしい

ユーザー環境変数、Path に、C:\Ruby24-x64\bin と、
RUBYOPT に、--encoding=UTF-8 を追加した

ただし、UTF-8 を追加すると、irb が動かなくなるので、それに依存する、pry なども動かなくなるため、
WSL, Ubuntu に、Ruby を入れて、irb だけはLinux側で使う。
MSYS2 は日本語でバグるけど、WSL はコマンドプロンプトと同じ画面を使っているので、バグらない

すべてのファイルを、BOM無しUTF-8 で統一すると、
Explorer で、sjis と区別がつかなくなって、検索できなくなるので、WSL から、grep で検索する。
BOM有りUTF-8 は、外人がBOMの存在自体を知らないから、バグるので使えない

VSCode で、Code Runner という拡張機能で、右クリックメニューから、ある範囲のソースコードを実行できるし、
デバッグ用拡張機能を入れていないけど、p, tap 関数で表示できるから困らない

どの道、GUI は、HTML, CSS, JavaScript, Node.js, Selenium Webdriver だから、VSCode でよい

例えば、クリップボードでも、
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

みたいに、PowerShell コマンドも呼べるし、
ダブルクリックで起動したいのなら、バッチファイル・VBS も使える
97デフォルトの名無しさん (ワッチョイ d62c-NvUN)
2019/01/13(日) 05:30:01.36ID:Cy6afJKh0
>>82
LPIC, LinuC などのLinux の資格でも、
コマンドのオプション・ファイルパスの暗記には困る

SSL 関係のファイルパスの暗記、
tar, find などのコマンドのオプション
9897 (ワッチョイ d62c-NvUN)
2019/01/13(日) 05:32:14.24ID:Cy6afJKh0
>97
修正

>SSL 関係のファイルパスの暗記
SSH だな
99デフォルトの名無しさん (ワッチョイ 8133-gHoM)
2019/01/13(日) 07:00:35.31ID:WrQFCZ8r0
>>95
理由も言えないならわざわざからむな。
カス。
100デフォルトの名無しさん (ワッチョイ 715f-7QjO)
2019/01/13(日) 11:05:20.88ID:JiC/urho0
初心者にWSL使わせると
rootfs以下をWindowsから直接編集してぶっ壊す事故が怖いわ
101デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/13(日) 11:08:11.49ID:m8f/luWAM
それを言うならサンドボックスすらなくて直接システムをぶっ壊せるMacは
102デフォルトの名無しさん (ワッチョイ 715f-7QjO)
2019/01/13(日) 11:21:10.07ID:JiC/urho0
ちげぇよ
windows側からWSL内のファイル構造っぽいのが見えることは見えるんだけど
実はVolFSという仮想的なもの、かつWindowsからの編集を想定していないので
Windowsから編集するとWSLのファイルシステムが壊れて不可解なことになって死ぬ
103デフォルトの名無しさん (アウアウエー Sa22-oec2)
2019/01/13(日) 11:29:08.03ID:E2WEWQo9a
所詮サンドボックスなんだから壊れたら再インストールすればいいだけだろう
MacはCLIに不慣れな人がうっかりシステムを壊すリスクがより大きい
104デフォルトの名無しさん (ワッチョイ d614-Fjw0)
2019/01/13(日) 11:42:25.22ID:jNYo2/R00
>>100
> rootfs以下をWindowsから直接編集してぶっ壊す事故が怖いわ

rootfs以下をWindowsから直接編集するのは大変だよ
なにせどこにファイルが有るのか容易にはわからないんだから

知ってるなら何処にファイルが有るのか
Windowsから見た時のパスを言ってみてよ
105デフォルトの名無しさん (ワッチョイ 7aa5-kZrb)
2019/01/13(日) 11:47:20.90ID:2cfSXeKV0
windows7で使えない時点で論外なんだが
106デフォルトの名無しさん (アウアウエー Sa22-oec2)
2019/01/13(日) 11:52:02.38ID:E2WEWQo9a
>>105
今年でサポート切れるんだけどどうするの?
Rubyistさんならもちろん大正義Macに乗り換え?
107デフォルトの名無しさん (オッペケ Sr85-DIji)
2019/01/13(日) 12:27:33.10ID:e78RN+cdr
>>102
WSL使おうという奴がわざわざWindowsから編集するのか?
108デフォルトの名無しさん (ワッチョイ 715f-7QjO)
2019/01/13(日) 12:28:33.22ID:JiC/urho0
>>104
見つけるのが大変なのは知っているが
使い慣れたWindows上のエディタで編集したいというのは当然の要求だし
バカがやらかさない保証にはならんだろ
109デフォルトの名無しさん (ワッチョイ a57c-Iup+)
2019/01/13(日) 12:56:17.58ID:ATVrIMyH0
>>84
>ossプロジェクトもgithubがマイクロソフトに買収されたとたんにgitlabへの移行が相次ぐなどrubyコミュニティ特有。

ほうほう
110デフォルトの名無しさん (ワッチョイ a57c-Iup+)
2019/01/13(日) 13:03:32.14ID:ATVrIMyH0
>irb だけはLinux側で使う。

こういうアホな選択してるからドザは馬鹿にされ続けるんだろう
111デフォルトの名無しさん (ワッチョイ 7102-Fjw0)
2019/01/13(日) 13:14:15.53ID:WfzDeRSm0
gitlabに移行した例を教えてもらいたいところだね
相次ぐって言ってる限りはパッと5,6個は思いつくだろうし
112デフォルトの名無しさん (ワッチョイ d614-Fjw0)
2019/01/13(日) 14:02:28.54ID:jNYo2/R00
>>108
初心者はやらないだろ
113デフォルトの名無しさん (ワッチョイ a57c-Iup+)
2019/01/13(日) 14:22:57.16ID:ATVrIMyH0
完全な初心者より中途半端に出来ると勘違いしてる香具師の方が危ない
114デフォルトの名無しさん (ワッチョイ c52d-RNo8)
2019/01/13(日) 20:41:11.25ID:JA2Q/I910
WSLを使う気はあんましないけど、Windows上からVolFSを弄ると本当に壊れるのかは気になるな
115デフォルトの名無しさん (ワッチョイ d614-Fjw0)
2019/01/13(日) 20:53:55.03ID:jNYo2/R00
>>114
単純な話だよ。

WindowsのNTFSではファイルごとに所有者や各種権限がある。
読み取り権限、書き込み権限、他には拡張属性の読み書きとか所有権の取得とか
同じようにLinuxでも所有者やパーミッションという情報がある
これらは一対一で単純に結びつけることができない
(例えばWindowsにrootというユーザーは存在しない)

だからNTFSの通常のファイルの所有者や権限とは別に
ファイルごとに代替ストリームを使ってWSLのメタデータを書き込んでる。

Windowsのアプリからファイルを変更すると、この代替ストリームを
考慮してないためにメタデータ破棄されてしまうソフトがある。例えばファイルを保存するときに、
新しくファイルを新規作成するようなものは、代替ストリームのデータが消えてしまう。

VolFSが消えるというのは単にメタデータが消えてしまうということ
ファイルそのものやファイルシステムが壊れるわけではない
116デフォルトの名無しさん (ワッチョイ 8133-gHoM)
2019/01/13(日) 23:18:58.07ID:WrQFCZ8r0
>>115
WSLをWindows用コマンドライン環境にしたかったんだけど、そのへんを知って、ムリだと思った。。。orz
chmodひとつできないとは。
ファイルの内容には/mnt経由でアクセスできるものの、あくまでちょっと別物感。

ということで結局、MSYS2に戻りました。
117デフォルトの名無しさん (ワッチョイ 1602-PDpL)
2019/01/14(月) 01:27:24.15ID:9gpFKcjq0
横からすまそ
Windowsは何をしても不安定で、結局ubuntuに入れかえちゃったよ
何の心配もなくサクサク動くからええで
118デフォルトの名無しさん (ワッチョイ dd01-RNo8)
2019/01/14(月) 02:54:40.58ID:H1tgEUC10
RubyはWindowsで不安定だからPythonのほうが良いよ。
119デフォルトの名無しさん (ワッチョイ 7aa5-kZrb)
2019/01/14(月) 03:25:43.22ID:rAwbTNCa0
勢いがあるときにいろいろ直してれば良かったんだがな
たまにバグ報告してたけど、今はもうrubyで書いてたことはnode&typescriptに置き換わっちゃた
120デフォルトの名無しさん (ワッチョイ d614-Fjw0)
2019/01/14(月) 06:15:31.08ID:z7CSW9d20
>>116
> chmodひとつできないとは。
いやできるよ

chmodはWSLのメタ情報を変更するコマンド。
NTFSのメタ情報を変えたいなら、Windowsのコマンドを
WSLから実行すればいい。

MSYS2を使ってもそれは同じでしょ?MSYS2を使った所で
chmodじゃNTFSのメタ情報を変えることはできない
121デフォルトの名無しさん (ワッチョイ 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 でも、そう
123デフォルトの名無しさん (エムゾネ FF9a-Iup+)
2019/01/14(月) 12:38:06.45ID:aPj/koI6F
>>121
ほんそれ
124デフォルトの名無しさん (ワッチョイ 715f-7QjO)
2019/01/14(月) 16:20:56.29ID:JeIXD5P+0
>>119
Ruby1.8時代よりは大分Windowsでの動作がよくなったと思うぞ

今問題あるのはrb-readlineくらいだし
125デフォルトの名無しさん (アウアウエー 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べったりは好ましくないです
128デフォルトの名無しさん (ワントンキン MM8a-4XJz)
2019/01/14(月) 20:09:53.30ID:q/lOLam5M
>>127
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使おう
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へ移行すると、コードの量を大幅に削減できます。
っていうのはどんな感じでコードを削減できるの?
カッコが減るとかそういう話?
133デフォルトの名無しさん (ワッチョイ 7a7d-4XJz)
2019/01/15(火) 02:44:03.42ID:cb8Yslm40
>>132
デザパタの言語組み込み化レベルでコードが減る
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

で実行できるような方法ってない?
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:jNBljk3t0
>>138
それ、既にやってみてたんだが動かなかったんだわ。



・・・で、今もう一度やってみたら何故か動いた。理由が分からない。。。(# ・`д・´)

ともかく、解決したのでありがとう。
140デフォルトの名無しさん (ワッチョイ 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 みたいなものか
142デフォルトの名無しさん (ワッチョイ 2e14-wD8z)
2019/01/30(水) 01:15:50.19ID:CIpmDrdW0
>>141
単なる名前貸しなのでRubyもMatzも
LegalForceとは何の関係もありません
143デフォルトの名無しさん (ササクッテロラ 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
バグが起きにくい、安全で効率的なコーディングと、間違いやすいポイントを解説
145デフォルトの名無しさん (アウアウカー Sa53-5aE2)
2019/01/31(木) 19:04:04.34ID:9x10OdKVa
>>143
何ができるかじゃない
何をするかだ
技術は後からついてくるぞい
146デフォルトの名無しさん (ワッチョイ 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
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どちらかを今すぐ捨てなさい
154デフォルトの名無しさん (ワッチョイ 927d-yPlE)
2019/02/10(日) 21:42:51.38ID:BrknxwTX0
>>152
まあ、Windows環境においては、それくらいは自力で対処できる人、あるいは「Pythonで満足に動いてるならそっちでいいじゃん」と言えるような人が求められてはいるな
155デフォルトの名無しさん (ドコグロ MM09-/S9r)
2019/02/10(日) 21:48:13.21ID:96GWWqq3M
ちなみに海外だとWindowsのPython製商用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:0GsJb55C0
>>153-157
なるほど、よくわかった。やっぱりあとはVM突っ込んで動かした
方がよさそうだな
160デフォルトの名無しさん (ワッチョイ 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で新規ゴード書く人は
激減するかと。
162デフォルトの名無しさん (ワッチョイ cd8b-DOJB)
2019/02/10(日) 22:59:03.49ID:0GsJb55C0
Railsは前よりだいぶWindowsに馴染んでるようにはなってるんだけどなあ。前なんて
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 のバイナリがない!
コンパイラが無いと、コンパイルできない
164デフォルトの名無しさん (アウアウエー Sa0a-DOJB)
2019/02/10(日) 23:55:09.46ID:HGoiPykSa
そのレスどっかで見たな
165デフォルトの名無しさん (アウアウエー Sa0a-DOJB)
2019/02/10(日) 23:56:09.04ID:HGoiPykSa
ここか
http://2chb.net/r/tech/1549282930/59
166デフォルトの名無しさん (ワッチョイ 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バイトを削除するからかな?
167166 (ワッチョイ 7f2c-Ioh3)
2019/02/16(土) 03:37:44.66ID:GifcQbbL0
>166 の続きです

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オプション使わなければいいんじゃないの?
169デフォルトの名無しさん (ワッチョイ 8714-yQ/S)
2019/02/16(土) 11:51:26.01ID:SPTGalft0
>>166
> 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:lF7O1vprF
>>169
>>166

chompするときに改行がくっついてるときだけ切れば良いのに
中身観ないで無条件に一文字消してたらそりゃ消えるわω
糞アルゴリズム
172デフォルトの名無しさん (ワンミングク MM3f-kRyl)
2019/02/16(土) 12:43:33.03ID:CW5lzYCnM
lオプションの仕様だね
自動判別入れてる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
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]

このバージョンでは、まだ直っていないのかも?
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
ソースが仕様。
182166 (ワッチョイ 7f2c-Ioh3)
2019/02/18(月) 05:27:28.71ID:qsq8EO4j0
誰か、

>>167
のチェックのやり方がわかる?
183デフォルトの名無しさん (ワッチョイ 5f7d-akdL)
2019/02/18(月) 11:23:55.36ID:vR+zg9W+0
>>182
そのまま処理を書き下せばよろしい
現時点では無理に短くしようとするな
「カッコよく」しようとするな
そんな秒速何十回とする処理じゃないのだろうし効率もとりあえず気にするな
184デフォルトの名無しさん (アメ MM6b-QWHq)
2019/02/18(月) 12:21:38.16ID:1FoQC5svM
>>182
その程度のクセに他スレでruby宣伝荒らしするな!
185デフォルトの名無しさん (ワッチョイ 7f2c-Ioh3)
2019/02/20(水) 05:44:21.57ID:B2QSVSiS0
Linux では、大文字小文字だけが異なるファイルが、同一フォルダに存在できる。
例、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:dKxFZ7rM0
>>187
彼にはネットを使う前に他人とのコミュニケーションで理解すべきことが多々あると思われる。
ところ構わず話の流れを無視してruby推しするのはやめて欲しい。
189デフォルトの名無しさん (ドコグロ MM1f-ngFe)
2019/02/20(水) 09:08:29.22ID:EgtCXVwuM
まあ国内の平均的な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:v7iPz90JF
>>185
Dir.globでぶん回す
見つかった名前をtolowerしてファイル削除
最後に残ったものが重複
192デフォルトの名無しさん (ワッチョイ 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化できないものでしょうか?
 無理な気もしますが・・
194デフォルトの名無しさん (ワッチョイ 6614-rusg)
2019/02/21(木) 16:27:00.87ID:f8G92//U0
> 丸投げの質問の仕方しかわからなく申し訳ありません。

いえいえ、丸投げっていうのはこうするんですよ。

>>195、後は全部任せた!
195デフォルトの名無しさん (ワキゲー MM2e-8sMm)
2019/02/21(木) 16:29:45.73ID:A4uVBoycM
それだけじゃ原因がわからん
まず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のライセンスは確認しとけよ

以上終了
197デフォルトの名無しさん (ワンミングク MM7a-Pez2)
2019/02/21(木) 19:33:23.57ID:MIixq5+8M
ライセンスとか無視したとしても、外部のでっかい(依存関係が大きくファイル数も多い)アプリを同梱して配布というのは「運用上」わりと速攻で破綻する
「必要なアプリやライブラリが利用可能になっているかをチェックして、不足時には別途インストールを促すスクリプト」をrubyで作って最初に実行するorさせるといいぞ
そこまでここで面倒見る必要はないという線を引くんだ、たとえ内製配布アプリだとしてもね
198デフォルトの名無しさん (フォォーッ MMed-2CcH)
2019/02/21(木) 22:06:11.57ID:h83SWuCLM
193です。厳しくかつ熱心な助言をいただきまして、皆さまがプログラミング
に真剣に取り組んでいらっしゃるとわかりました。おかげさまで、別のPCにwgnuplot?
を入れて、パスを通したら解決いたしました。
 島根在住なうえに、独学で勉強しているため難儀していました。
 ジオデシックドームの計算とグラフ出力をするためにプログラムを始めまして、グラフ
出力を友達に見てもらいたいから、実行ファイルにしたわけです。 とはいえ、ライセンス
に注意しなければならないという意見、真摯に受け止めます。
 >>197 そこまでここで面倒見る必要はないという線を引くんだ
そうですね。一人でしょい込む必要ありませんでした。肩の荷がおりました
199デフォルトの名無しさん (アウアウエー Sa52-bAbS)
2019/02/21(木) 23:17:11.76ID:5agtgbY/a
Ruby配布とか絶対にやりたくないな
せっかくRuby使うんなら普通にRailsでWebアプリにしたらいいでしょ
グラフ出力も普通に可能だよ
200デフォルトの名無しさん (フォォーッ MMed-2CcH)
2019/02/21(木) 23:41:22.83ID:h83SWuCLM
え、Railsって気軽にできるもんなんですか? 使い道がわからないので、クラスやインスタンス変数など一度も
使ったことがないのですが。 松江市は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 では有名
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
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逆引きハンドブック、チェックしてみます。
207デフォルトの名無しさん (ドコグロ MM12-Vg2/)
2019/02/22(金) 10:48:26.93ID:jNyfsysYM
>>204
gemの仕様です
だからpre-build gemを嫌ってる人もいます
208204 (ワッチョイ 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 は、いらない
209デフォルトの名無しさん (ワッチョイ a902-rusg)
2019/02/22(金) 22:52:10.31ID:hC9++n+50
>>206
Amazonや楽天ぐらいあるだろ…
210デフォルトの名無しさん (ワッチョイ eaec-bb9Q)
2019/02/25(月) 16:51:11.43ID:6aHiqgcw0
技術書ほとんど電子書籍でしか買わないかな。PDF でパソコンかタブレットで読んでる
211デフォルトの名無しさん (エムゾネ FF0a-kEY9)
2019/02/25(月) 17:10:55.80ID:cOrzmhCLF
mruby 出番無くなったな
https://qiita.com/inachi/items/903bb988e23a7ef83ca7

@YouTube


https://makezine.jp/blog/2018/01/micropython_ref.html
https://qiita.com/hatobus/items/69b353dea3d8f2a25441
212デフォルトの名無しさん (ドコグロ MM12-bAbS)
2019/02/25(月) 18:11:00.52ID:sO03erxCM
そもそもmrubyに出番があったことなど無かった
島根県の助成金貰う代わりのネタを考えないとMatzと取り巻きが露頭に迷う懸念はあるね
213デフォルトの名無しさん (アメ MMc9-K3Le)
2019/02/25(月) 18:24:32.74ID:mboQc3DnM
>>211
js,、scratch(まあscratchもjsだけど)、pythonか。
rubyが入れるわけないわな。
至極残当。
214デフォルトの名無しさん (ワッチョイ 3a7d-EvR6)
2019/02/25(月) 19:47:52.74ID:PRvX3sK80
ていうかmrubyは「くみこみでもるびーつかいたい」という以上のものではないしそれ以上の役割を持たせてもいけないはずだったのだ
どこで間違えたのやら
215デフォルトの名無しさん (ドコグロ MM15-bAbS)
2019/02/26(火) 14:44:39.80ID:s53snE6vM
>>214
mrubyは経産省やハードウェアメーカーがスポンサーに入ってるから、やってみた、うごいた、わーい、だけじゃ済まされないよ
だから誰も使ってなくても誰にも求められてなくても誰もやりたくなくても開発は続けなきゃいけない
216デフォルトの名無しさん (アメ MMc9-K3Le)
2019/02/26(火) 15:13:52.55ID:W0wJxBNyM
典型的な埋没費用だね
経産省は血税をなんだと思ってるんだ
217デフォルトの名無しさん (アウウィフ FF21-kEY9)
2019/02/26(火) 15:18:03.05ID:8+7ktUtNF
>>214
補助金詐欺とまでは言わないでも補助金ゴロ

>>216
ren4 に教えてやれ
218デフォルトの名無しさん (ワッチョイ 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程度でいい。
221デフォルトの名無しさん (ワッチョイ f1f3-5GpB)
2019/02/27(水) 02:13:01.70ID:oZYESBBc0
rubyからCや特定CPU向けアセンブラを生成できるようにすれば用途は広がるが、
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/M
 本は立ち読みして使える本かどうかチェックしてから買うもので・・・
 >>212
わかーました。Matzに会ったら教えちゃーけん、楽しみに待っててごしないや
224デフォルトの名無しさん (ワッチョイ 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 か?
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 すれば十分だよ。
229166 (ワッチョイ ff2c-Im2K)
2019/03/05(火) 23:56:13.17ID:CZi591h70
seek できるのは、バイナリファイルだけだろ。
改行コードを判定できるかね?

最後の1バイトを取って、文字コードに変換できるのかな?
バイナリから、文字コードへの変換
230デフォルトの名無しさん (ワッチョイ b75f-4uE9)
2019/03/06(水) 00:17:19.60ID:WeP2IlHt0
Gem.ruby_version >= Gem::Version.create("2.5")
でRuby2.5以上であることを判定しとけばいいじゃない
231デフォルトの名無しさん (ワッチョイ d77d-HTI0)
2019/03/06(水) 01:09:00.71ID:sa1I2u5H0
>>229
ri File.seek
232166 (ワッチョイ 162c-1cTK)
2019/03/07(木) 21:29:51.98ID:8RwKmlXy0
テキストファイルを、バイナリファイルとして読み込んで、
最後のバイトが、CR かLF なら、最後に改行コードが無いと考えてみたが、

sjis でお馴染みの「表」などのダメ文字のバグが多い事を考えると、
バイナリファイルでは、複数バイトの文字を判別できない

ダメ文字とは、euc-jp では、複数バイト文字の最後のバイトに、\(逆スラッシュ)が存在しないが、
sjisには存在するため、行の最後に「表」などがあると、
その最後のバイト\ で、改行がエスケープされてしまう

文字の種類が増えていくと、これと同じ問題が生じるかも知れない。
複数バイト文字の最後のバイトに、CR かLF が存在するかも知れないから、改行と区別できない
233166 (ワッチョイ 162c-1cTK)
2019/03/07(木) 21:32:17.66ID:8RwKmlXy0
>232
修正

>テキストファイルを、バイナリファイルとして読み込んで、
>最後のバイトが、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
235デフォルトの名無しさん (ワッチョイ a333-BuCU)
2019/03/08(金) 00:49:28.36ID:OXqbGHm40
>>232
ムダにややこしく考えすぎ。
だいたい、コントロール文字が複数バイト文字の一部に含まれるエンコーディングはかつて存在しなかったし、今さら将来に発明されることもない。
236デフォルトの名無しさん (ワッチョイ b252-1CkI)
2019/03/08(金) 01:06:02.77ID:Sy1GZuWW0
>>232
いつも他スレで暴れてるrubyボット君か。
毎度毎度、仕入れた知識の表層をなぞるだけで知ってるつもりになってるから、具体的な問題点が理解できてないし、考えようともしない。だからいつも的はずれなことを言っては他の人に突っ込まれる。
237166 (ワッチョイ 162c-1cTK)
2019/03/08(金) 12:09:07.38ID:N66/0TP00
sjisには悪名高い「表」などのダメ文字が存在する。
複数バイト文字の最後のバイトに、\(逆スラッシュ)が存在する。
euc-jp では存在しないけど

ダメ文字で、バグらされた人は多い

特に外人は、1文字1バイトでコーディングするから、バグる!
238デフォルトの名無しさん (ワッチョイ 1614-uGU8)
2019/03/08(金) 12:24:05.67ID:jbQifWXg0
今はUTF-8を使うので、sjisはもう過去の問題。
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
240デフォルトの名無しさん (ドコグロ MM97-/Er5)
2019/03/08(金) 15:10:01.94ID:GpWg6Xx2M
>>239
チェックはgemが勝手に行っているから貴方のような馬鹿がいちいち気にする必要はない
241239 (ワッチョイ 162c-1cTK)
2019/03/08(金) 15:26:21.92ID:N66/0TP00
ダウンロードじゃなくて、gem で入れた場合は、

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等のファイルがあるなら対策すること。
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バイトずつの)処理を使うと、
複数バイトの文字が存在するから、バグらない?

複数バイトの文字があると、文字数とバイト数が異なるから
246デフォルトの名無しさん (ワッチョイ 127d-rLsy)
2019/03/09(土) 12:10:02.52ID:pTdmUQIN0
>>245
お前もう諦めろ
247デフォルトの名無しさん (ワッチョイ 335f-yYMx)
2019/03/09(土) 13:55:35.31ID:P/rUKkBa0
>>243

fh.seek(-1, IO::SEEK_END)
の方がよさげ
248デフォルトの名無しさん (ワッチョイ ef12-GDas)
2019/03/10(日) 00:40:01.29ID:2U7BqM9T0
macでHomebrewを使用して、最新版2.6.1をインストールしましたが、
ターミナルでバージョンを確認すると古いもの(2.3.7)が表示される。

この場合考えられる要因は何でしょうか?
249デフォルトの名無しさん (ワッチョイ a333-BuCU)
2019/03/10(日) 02:00:15.91ID:waZbF5z90
マッキンは知らんけど、どうせPATHやろ?
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 を使ってる
251デフォルトの名無しさん (ドコグロ MMea-/Er5)
2019/03/10(日) 20:19:51.46ID:JyECxoS9M
Win以外なら最新版でほとんど問題ないんだよおバカさん
252デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/10(日) 22:42:52.26ID:6nzJw0Ap0
>>251
お前のレベルは低すぎるなw
Rubyを使うのが目的で、Rubyで何かを作った経験がないだろ
253166 (ワッチョイ 162c-1cTK)
2019/03/10(日) 23:07:47.98ID:bEzyp4mc0
>>243
結果は、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"]
255デフォルトの名無しさん (ワッチョイ 837f-/bUt)
2019/03/11(月) 01:01:19.82ID:5t+/rFdi0
なぁなぁ。
CSRF対策って、トークンを input hidden に書けってのが鉄板だけど。
あれってform action のURLに書いてもセキュア度って変わらないことないか?
URLなら href にも書ける(使い道は考えてない)
256デフォルトの名無しさん (ワッチョイ 1f14-uGU8)
2019/03/11(月) 01:33:23.12ID:W406Vhex0
>>255
だめ

CSRFっていうのは、悪意のあるやつからリンクが送られてきて
それを開いてしまうことで成り立つもの

リンクの中にトークンを入れてしまったら意味がない
トークンがリンクの中に入らないからこそ意味がある
257デフォルトの名無しさん (ワッチョイ 837f-/bUt)
2019/03/11(月) 01:43:29.79ID:5t+/rFdi0
>>2256
そんなん。
悪意のある奴から送られてくるリンクにあるトークンと
対象者の持ってるセッションに紐付けられるトークンは
全然違うやん。

悪意サイトに埋め込むフォームの場合も結局は
action と hidden を書くわけじゃん?
要するに hidden に書くべきトークンが予想できないからCSRF対策になる訳でしょ。
これが action に書いてあってもなんら変わらないじゃん?

↑以上、予想が非常に困難なトークンを前提。もちろんそれが当たり前だし。
258デフォルトの名無しさん (オッペケ Src7-EzoF)
2019/03/11(月) 09:43:03.52ID:EA8HXttJr
>>257
全世界が認めている方法よりお前が考え出した方法のほうが優れていると思えるところがすげえな
お前と仕事する奴がかわいそう
259デフォルトの名無しさん (ワッチョイ 837f-/bUt)
2019/03/11(月) 15:12:15.45ID:5t+/rFdi0
>お前が考え出した方法のほうが優れている

どこをどう読んだらそう解釈できんの?実際使うとか、勝手に妄想するなよ……。
そもそも全世界が認めている方法であれば理由は明確なんだよな?
その割に鉄板扱いの呪文レベルで、理由が書いてある記事がないのは一体どういう理由なんだろうか?

そもそも get ではなく post にするのは感覚的にも、暗黙の了解的にも、
当たり前だがCSRF対策で postにせよと書いてあるもの自体が少ない。
セキュリティ初心者向けならなおさらなんだが。
get にしてしまえば URL に乗るし、input である理由が薄弱なのがイラっとするんだよ。

理由が知りたい。
260デフォルトの名無しさん (アウアウエー Saaa-Bj/M)
2019/03/12(火) 05:35:46.16ID:FSVt1tPQa
Rubyでスキルアップ出来るか?

@YouTube

261デフォルトの名無しさん (アウアウエー Saaa-O4Le)
2019/03/12(火) 21:11:19.87ID:EhRgemxCa
>>259
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 などをやらないと無理
264デフォルトの名無しさん (ワッチョイ cf2c-Of+3)
2019/03/20(水) 01:03:37.41ID:RdYQnT9u0
one time token は、URL のクエリ文字列など、見えたらダメ!

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の学習をすることも可能なんか?
267デフォルトの名無しさん (CA 0Haf-yVw/)
2019/03/26(火) 19:18:17.37ID:NbUyZWCMH
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 96873
https://you-can-program.hatenablog.jp
268デフォルトの名無しさん (ワンミングク MM3a-RF5v)
2019/03/26(火) 19:20:08.89ID:oGfwRodhM
>>266
できる
「Rubyのコード」を書かなくても(知らなくても)Railsはある程度使える
269デフォルトの名無しさん (ワッチョイ 6b2d-5HBQ)
2019/03/26(火) 19:26:11.18ID:d0iwa0lD0
>>268
そうなのか、ありがとう!
面白そうだからRailsからやろうかな
270デフォルトの名無しさん (ワッチョイ 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の文法とは関係ないから。
ほとんどの内容が、システムの事
271デフォルトの名無しさん (ワッチョイ 9f33-voek)
2019/03/26(火) 22:55:31.07ID:nYFNe3O+0
でももうRailsははやらんよな。
実際にはわかりやすくもないし。

もちろん用途によるけど、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
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
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]]
275デフォルトの名無しさん (ワッチョイ 4ad2-KGYh)
2019/03/27(水) 13:35:27.03ID:mz7eRfCH0
>>274
すみません。途中に入ったひらがなはゴミです無視してください。
276デフォルトの名無しさん (ワッチョイ 0b14-rXtv)
2019/03/27(水) 13:38:32.48ID:kDDFgxGr0
>>272
番兵なんて使わないと言っておく
あんなの必要なに、古い言語だけや(笑)
277デフォルトの名無しさん (オイコラミネオ 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 から次を探すのに、上下左右を判断して、
上・左にはマスが無いから、番兵で壁を作った方が、プログラミングしやすい
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 対応の新版が出た!
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の場合は番兵いらんと思うぞ
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
288デフォルトの名無しさん (アメ MM8d-3NqX)
2019/04/09(火) 01:35:04.47ID:03qzHG/tM
eachよりforのほうが分かりやすい
mapよりforのほうが分かりやすい
reduceよりforのほうが分かりやすい
CでいいじゃんCやってなよ
289デフォルトの名無しさん (ワッチョイ 4d33-H3rI)
2019/04/09(火) 02:17:33.75ID:3lXFFzae0
範囲内かどうかをいちいち判定して、わざわざ分岐したいんか。
まったく、物好きやな。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
291デフォルトの名無しさん (ワッチョイ 8201-x0Y6)
2019/04/09(火) 03:40:14.16ID:Lun3H7EC0
範囲が1つ多かったな
あと押さない場合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なんかもう完全に終わってる
294デフォルトの名無しさん (ワッチョイ 7d5f-H+4x)
2019/04/09(火) 19:38:46.13ID:gArhDSWi0
>>289
Rubyの配列(Array)は添字による読み出しの際に範囲外だとnilを返す
逆に言えばnil以外で初期化することでnilを番兵代わりに使える
まぁ、負の添字に対するカバーは必要だが
295デフォルトの名無しさん (ワッチョイ ed84-db+S)
2019/04/09(火) 20:45:47.01ID:W6lz3wMr0
番兵の勝ち
296デフォルトの名無しさん (アメ MM8d-3NqX)
2019/04/09(火) 20:57:02.17ID:QoVolURMM
じゃあ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/
これもう廃れてるんですかね・・・・・
299デフォルトの名無しさん (ワッチョイ a11f-e49e)
2019/04/10(水) 07:36:54.35ID:lSfLGzBw0
Rubyすら死にかけているというのに
いわんやRubyMotionをや
300デフォルトの名無しさん (アウアウエー Sa8a-kE2b)
2019/04/10(水) 07:53:22.57ID:bZQdtc4sa
Rubyでスマホアプリとかそれこそ論外
プロのバリバリのRubyエンジニアですら誰も使ってないわそんなもん
301デフォルトの名無しさん (ワッチョイ 012d-gjr1)
2019/04/10(水) 19:42:08.61ID:2VCYuCv80
>>299-300
やはり止めておいたほうが良さそうですか
以前、将棋のロジックをRubyで書いてしまったので、これをiOS/Androidに使い回せたら良いなと思ったのですが・・・・
302デフォルトの名無しさん (ワッチョイ 617d-3knu)
2019/04/10(水) 19:53:43.11ID:Uk872prY0
そんなん移植すればよかろうよ
書いた総時間の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 に変換するぐらいかな?
306デフォルトの名無しさん (ワッチョイ d91f-Rw3k)
2019/04/11(木) 01:05:21.02ID:rbVbMGbi0
>>304
ロジックをRubyで書いてしまったからアプリもRubyで…
と言った具合に間違いを積み重ねることになった元凶を
技術的負債と言わずに何と言うの?
307デフォルトの名無しさん (ワッチョイ 1373-XGqV)
2019/04/11(木) 01:12:54.22ID:6OTuCZjY0
>>306
間違いは「プロトタイプをそのまま使いまわそうとすること」であって、
「プロトタイプにRubyを使ったこと」ではないはずだよね
「何がなんでもRubyを使うことは間違い」と言いたいだけなんちゃうん?
308デフォルトの名無しさん (ワッチョイ d91f-Rw3k)
2019/04/11(木) 01:50:09.37ID:rbVbMGbi0
>>307
その解釈こそこの文脈ではうがちすぎだろう
実際のところは>>292に訊いてみないとわからんけど

あとIDEのサポートの薄いRubyがプロトタイピングに優れてるっていうのも
(ことロジックをという局面に限れば)眉唾だなぁ
RailsでWebアプリをって言うならまあ納得だが
309デフォルトの名無しさん (ワッチョイ 8b2c-9RpW)
2019/04/11(木) 02:33:02.00ID:SMdbPkuM0
Sinatra, Rails を使えば?

GUI は、HTML, CSS, JavaScript で、
サーバーサイドはRuby
310デフォルトの名無しさん (ワッチョイ b15f-V8f8)
2019/04/11(木) 07:54:47.05ID:dq518c3V0
Rubyで書いたものを別言語に移植するのは、そう難しい話でもないだろ
opalとかで楽しようとしたほうが罠に嵌りそう
311デフォルトの名無しさん (エムゾネ FF33-grM/)
2019/04/11(木) 11:27:47.80ID:bTGeujWNF
perlで書いたのがもったいない
そう思っていた時期がありましたが
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でもあまり生産性に差が出ないし
315デフォルトの名無しさん (ワッチョイ 1373-XGqV)
2019/04/11(木) 21:24:11.31ID:6OTuCZjY0
>>314
トライアンドエラーを繰り返すようなものをCでやるのはつらみがあるよ
ある程度形になってきたらあらためてCなりでやればいいだけ
316デフォルトの名無しさん (アウアウエー Sae3-x1Th)
2019/04/11(木) 21:34:09.67ID:+nT2xOqaa
>>315
高負荷なアルゴリズムの実装においては、遅すぎる言語を使うことでその「エラー」の閾値が大きく低下することがあるってことだ
遅くない言語では問題にならないことが問題になる
317デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 00:55:41.82ID:L59U/aC10
>>315
sassがそれをやったわけだが。

最初Rubyでsassが作られた。
今はlibsassというC言語実装が作られた。

だけどあれ、確か2006年ぐらいにRuby版がでてから
6年ぐらいもかかっただろ?
そしてRuby版に機能が追いつくまでさらに数年
318デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 00:57:31.09ID:L59U/aC10
>>316
> 遅すぎる言語を使うことで

遅すぎるという言葉には2つの意味があって、
"実行速度が" 遅すぎる言語で問題になることがあるように、
"開発が" 遅すぎる言語では、その開発の遅さが問題になることがある
319デフォルトの名無しさん (ワッチョイ b102-eS/W)
2019/04/12(金) 01:54:31.59ID:kPkxqpeR0
>>315
馬鹿なの?
トライ&エラーでは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 とか、他の言語よりも、数年早いから、
実験段階のものや、アクセスが少ない、中小企業向けに良い

大規模になってきたら、他の言語に変える
321デフォルトの名無しさん (アウアウエー Sae3-x1Th)
2019/04/12(金) 07:29:49.69ID:xRzutCJ1a
>>319
高負荷な処理の開発においては、検証すらままならないほどに遅くなることが普通にある(Cで書いててもね)
そもそも最初からパフォーマンスが問題になることが分かっているなら、速度自体もアルゴリズムの良し悪しを決める重要なファクターだ
まあRuby使いには想像しにくい世界かもね
322デフォルトの名無しさん (ワッチョイ 13a5-5Pop)
2019/04/12(金) 11:06:50.87ID:+AQGVq0O0
>>320
>大規模になってきたら、他の言語に変える
って>>292の話と全く変わらないな
323デフォルトの名無しさん (ワッチョイ 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%

環境構築というか、"端末の"環境構築なので
端末を提供しているシェルスクリプトが一番相性が良い
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
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
326デフォルトの名無しさん (ワッチョイ 8b14-XGqV)
2019/04/12(金) 14:37:23.94ID:L59U/aC10
>>324-325 ちなみにこれ *envを使っていないLinux環境です。

*env を使うと各インタプリタ起動前にオーバーヘッドが入るから遅くなるが
これはそれがない純粋な速度ということ
327デフォルトの名無しさん (ドコグロ MM63-x1Th)
2019/04/12(金) 14:56:49.04ID:LhXUTlO1M
それでもほぼ起動のオーバーヘッドだろう
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
331デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 16:30:59.42ID:kdt5VzkQ0
>>327
> それでもほぼ起動のオーバーヘッドだろう

>>326で言ってるオーバーヘッドっていうのは
各言語用のインタプリタ起動のオーバーヘッドではなくて、
*envの仕組み上、追加で存在するオーバーヘッドのこと。

*envは例えばrubyだったら、rubyのバイナリを直越実行するのではなく、
rubyの指定されたバージョンを起動するためのシェルスクリプトを実行する。

>>324-325は、*envを使ってないから、各言語用のインタプリタ本来の
起動時間ですよって話。
332デフォルトの名無しさん (オイコラミネオ MM55-Srw3)
2019/04/12(金) 18:26:13.37ID:xKzG8Z1CM
IOのオーバーヘッドもあるんじゃないの?
RubyはUnicodeの確認とかしてそう。
逆に、BashやPerl5はしてなさそう。
333デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 19:31:58.44ID:kdt5VzkQ0
なんだよ?Unicodeの確認って
単に「Rubyは起動が遅い。」でいいだろw
334デフォルトの名無しさん (ワッチョイ d133-qzPJ)
2019/04/12(金) 23:32:32.24ID:5JLil1XU0
出力にかかる時間を計ってる以上、「起動」の時間はわからんだろ。
Unicodeうんぬんは、文字の妥当性を検証してる気がしたから。バイナリを流すとエラーになったような。

きっとRubyは遅いだろうと思うが、それでも、おまえの確認は証明になっていないぞ。
335デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 23:39:02.39ID:kdt5VzkQ0
>>334
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
337デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/12(金) 23:48:50.10ID:kdt5VzkQ0
だいたい。たかが出力にそんなに時間がかかるわけ無いだろ
real 0m0.054s の大部分が起動ではなくて、
出力の時間だっていうのなら、それはそれで大爆笑もんだろ
起動よりも出力のほうが時間かかるって言ってんだから
338デフォルトの名無しさん (ワッチョイ 1373-XGqV)
2019/04/13(土) 02:52:14.07ID:+rbgtPEq0
なんでそんな人間が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秒ぐらい

だから、シェルスクリプトで書かない
341デフォルトの名無しさん (ワッチョイ 8114-XGqV)
2019/04/13(土) 08:05:07.56ID:bIdtQ5MW0
> シェルスクリプトでループしたら、5分以上掛かる。
> プロセスも、10万以上起動されるし

お前の書き方が悪いんだろw
342デフォルトの名無しさん (ワッチョイ d133-qzPJ)
2019/04/13(土) 14:26:56.18ID:sX5qVOZG0
>>340
ウソでなければ、極端すぎる。
シェルどうこうじゃなく、ただやりかたがまずいことを疑うな。
343デフォルトの名無しさん (ワッチョイ 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しかできない人ほどそう言うね
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のそのへんのメリットは比較上は薄い
351デフォルトの名無しさん (ワッチョイ b102-2EiJ)
2019/04/16(火) 10:39:23.01ID:S7eq1ncA0
>>347
ごめん。
RubyよりHaskellが楽しい。
352デフォルトの名無しさん (ワッチョイ 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使うことでラリって気持ちいいから
デスマに気付いてないケースは多そうだ
354デフォルトの名無しさん (ドコグロ MM33-x1Th)
2019/04/16(火) 13:37:30.80ID:V3kPCGsbM
後のこと一切気にしなくていいならJavaでも楽しいよ
最近Rubyにヘイトが集まってるのは、Rails全盛期にそうやって乱造されたアプリの便所掃除の仕事の割合が増えてるから
355デフォルトの名無しさん (アメ MM4d-nfNM)
2019/04/16(火) 14:09:38.51ID:HGB3ondZM
書きやすく 読みにくい
→楽しく適当に書かれたウンコードの保守押し付けられた奴らブチ切れ
当然書いた本人はもういない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
358デフォルトの名無しさん (ワッチョイ 5e2c-LwVf)
2019/04/20(土) 14:24:37.48ID:rcvSJkam0
社員50人の「Ruby 開発」という会社の求人を見た。
東京・大阪で求人

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"
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にもケチをつけんとな。

どうでもいい改善のために、後方互換を壊すのはクソ過ぎだが。
366デフォルトの名無しさん (ワッチョイ 092d-RDgi)
2019/04/24(水) 15:15:30.27ID:NuE3hWAT0
最近、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を使うにはどうするのが一番スマート?
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年は様子を見た方がよい
370デフォルトの名無しさん (ワッチョイ 375f-4N0r)
2019/05/11(土) 12:41:03.42ID:td9YBJ3L0
windows で ruby はマジでお薦めしない
四の五の言わず 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は十分実用になる
374デフォルトの名無しさん (ワッチョイ 9f9c-RjXH)
2019/05/11(土) 21:06:38.06ID:btpUiiWv0
windowsでそこまでやりたいか?
特にRubyを使うメリットゼロだろ
素直にlinux使えよって思う
375デフォルトの名無しさん (ワッチョイ bf44-P6MH)
2019/05/11(土) 21:48:13.92ID:kOi/VI9x0
>>373
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が実用レベルだとわかったら乗り換えれば良い
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 で、ダブルクォーテーションをエスケープできる。
\"-\"
380デフォルトの名無しさん (ワッチョイ 572d-vM1y)
2019/05/12(日) 14:48:42.32ID:eMjN+/Cm0
>>376
みんなコードを書くのはMac、実行がLinuxってのが普通になっちゃってるからな
Windows版は、「高卒用パソコンなんてサポートしてどうするの」ぐらいの扱いがされてる
381デフォルトの名無しさん (ワッチョイ 5714-y0Vo)
2019/05/12(日) 15:19:52.63ID:OoMn1CYl0
>>379
> 一方、Windows では、" でバグるから、
WSLで動かしてるけど、Linuxと同じように使えるよ?
382デフォルトの名無しさん (アウアウウー 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 とか、他の部分も異なるけど
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すごいな。
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$ が頑張ってくれただけ
390デフォルトの名無しさん (ワッチョイ f0ba-N32O)
2019/05/20(月) 23:17:13.22ID:uii5Lp4R0
初心者すぎてすみませんがprogateのrubyを2回やり終えたんですが
次は何やるのがお勧めでしょう?
同じく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をやらないか
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 の文書で、どういう機能があるか理解する
395デフォルトの名無しさん (オイコラミネオ MMbb-6rDM)
2019/05/29(水) 22:37:17.50ID:axNbAI7/M
例えばNet::HTTPみたいな::がある場合のautoloadってどう書けばいいの?
現時点ではautoload :Net,'net/http'みたいにしてるんだけど、
これだとNet::SMTPを参照しても読み込んじゃうよね
396デフォルトの名無しさん (ワッチョイ 2fa3-uJyD)
2019/05/31(金) 00:09:30.12ID:P50R/Vqw0
キーワードなのかKernel関数なのかさっぱりわからないんですが見分け方を教えてください
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使えばいいんじゃね
399デフォルトの名無しさん (ワッチョイ cf2d-3Ed1)
2019/06/04(火) 08:33:21.09ID:oR7ssn0w0
初心者にも満たない学習者です
他人様のコードで申し訳ないんですが

http://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 でも、キーワードなどは色分けされる
403デフォルトの名無しさん (ワッチョイ cf2d-3Ed1)
2019/06/04(火) 12:49:27.49ID:oR7ssn0w0
ありがとうございます
特に中略部分で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
バグが起きにくい、安全で効率的なコーディングと、間違いやすいポイントを解説
405デフォルトの名無しさん (ワッチョイ be14-hDDM)
2019/06/04(火) 17:40:50.53ID:8o3tMmIE0
宣伝費、いくら貰えるんだろう?
406デフォルトの名無しさん (ドコグロ MM22-3QJd)
2019/06/04(火) 18:16:47.29ID:aXH0FNpKM
いつものキチガイを相手にするつもりはないけど、質問者が誤解しないようにコメント
仕事のプログラミングだと基本的にソース眺めてる時間のほうが長いよ
ましてRubyも今や落ち目で便所掃除の仕事ばかり増え、全く新しいものを作る機会は減る一方だ
407デフォルトの名無しさん (ワッチョイ 6a7d-o58o)
2019/06/04(火) 19:17:17.46ID:LGhp/e100
>>405
ないよ
そんなものがあったら3日でBANだ
408デフォルトの名無しさん (オイコラミネオ MM9b-jO9a)
2019/06/04(火) 20:11:05.76ID:P882eZbVM
>>403
参考にするのなら、別のソースにしたほうがエエんちゃう?
409デフォルトの名無しさん (ワッチョイ cf2d-3Ed1)
2019/06/04(火) 20:28:11.60ID:oR7ssn0w0
開発/運用側に立ってるとネットなんて
宣伝と、自作自演・サクラと、ユーザ奪い合い荒らしと
この3つばっかりって身にしみてるもんですし

>>408
たまたまMarshal関係で調べてて出くわしたもので
rubyがこういう(>>399)書き方・使い方がデフォな言語なのかどうかを
知りたかったというのがほとんどなので
410デフォルトの名無しさん (アウアウウー Sa1f-gkx+)
2019/06/04(火) 21:00:20.80ID:7lg/KHrxa
>>409
開発運用側に立ってなんて言うからには他の言語での開発経験があるのだろうけど、それで>>399の理解というのは謎だなと思った
411402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 21:35:03.46ID://1XsOfQ0
だから、他人のクソコードを見ても、時間を損しただけだろ。
得るものなんてない

「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 とか

重箱の隅をつつくような断片的な知識は、覚えられられないし転用できない。
体系的に学ぶ必要がある
414デフォルトの名無しさん (ワッチョイ 5b84-2pxk)
2019/06/04(火) 22:59:30.82ID:0PWK+f1w0
fileに複数のオブジェクトがdumpされてて
それを順番にloadしてるだけだぞ
415402 (ワッチョイ 6a2c-n0I8)
2019/06/04(火) 23:41:11.09ID://1XsOfQ0
Marshal.load(port, proc = nil) -> object

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/6p50
>>415
APIの仕様は文書で調べればいいだけと自分で>>411で書いているくせに、>>415では何で頓珍漢な当て推量をする流れなんだ?
いつもどこかで聞いてきたようなお題目を並べてはいるが、上っ面の字面だけを覚えているだけだろう。本人は実践できてないし理解もしていない。
419402 (ワッチョイ 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による値渡しが基本みたい
420デフォルトの名無しさん (ワッチョイ 0f5f-rJ7W)
2019/06/06(木) 12:10:33.65ID:UkK5klaO0
知らん人多いのか・・・びっくりだ

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個のオブジェクトに固めてから使うのかと思った
リファレンスマニュアルにはそのあたり書いてないからね
425デフォルトの名無しさん (スップ Sdcf-yQWj)
2019/06/07(金) 10:49:24.42ID:Eixypjmyd
CSV出力処理でメモリが上がってしまうことが多く、対策しようとしているのですが良い方法はありますか?
少し調べて、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行ずつ読み込んでは、
そのデータを捨ててと言うのを繰り返すのかな?

でも、ソートするなら、すべてのデータがメモリ内に存在しないといけないのでは?
だから、全行をメモリ内に読み込むことになる!
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 } )
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 )
430デフォルトの名無しさん (ワッチョイ 1784-zjL7)
2019/06/08(土) 03:19:18.26ID:s7niJl7f0
["a", "b", "c", "b"].tally
#=> {"a"=>1, "b"=>2, "c"=>1}
431デフォルトの名無しさん (ワッチョイ 8992-GC2g)
2019/06/08(土) 03:54:40.62ID:Vf2EEML20
>>425
csvを全部読み込んで処理しようとするとそうなるのは避けられない、何らかの工夫をするしかない
一行、数行ずつ処理し、終わるごとに配列、hashをクリアしていけばいいが、出来ない場合ね

csvを二回読み、一回目で必要なキーや情報だけ集めて一度csvをclose、
2回目にその情報を使って一行ずつ処理するなど
432デフォルトの名無しさん (ワッチョイ e39c-N69s)
2019/06/08(土) 05:57:15.56ID:2hi7btAr0
>>425
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]
434デフォルトの名無しさん (ドコグロ MMdf-2DaB)
2019/06/09(日) 05:57:04.68ID:Zvq68IITM
>>433
あちこちでアホみたいなレスしてRubyの評判を落とすのをやめたら教えてあげるよ
435デフォルトの名無しさん (ワッチョイ 3f73-to8s)
2019/06/09(日) 13:07:01.08ID:owsNLjD/0
>>433
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
オススメな本ある?
439 ◆QZaw55cn4c (ワッチョイ 9347-3icw)
2019/06/09(日) 14:58:26.11ID:VJkUGCEU0
>>438
アマゾン/dp/B00ICKLC2A
440デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 20:52:05.62ID:FDYkpc7vd
>>439
Rubyで作る奇妙なプログラミング言語-〜ヘンな言語のつくりかた〜
これ?
441 ◆QZaw55cn4c (ワッチョイ 9347-3icw)
2019/06/09(日) 21:04:35.15ID:VJkUGCEU0
>>440
そうです、結構おもしろかったですよ
442デフォルトの名無しさん (スプッッ Sddb-Gzfa)
2019/06/09(日) 21:45:31.88ID:FDYkpc7vd
>>441
Kindleバージョンしかないの?
443 ◆QZaw55cn4c (ワッチョイ 9347-3icw)
2019/06/09(日) 21:51:40.23ID:VJkUGCEU0
>>442
書籍で出ていましたよ、私が持っているのは書籍の方
444デフォルトの名無しさん (ワッチョイ ebb6-fbqF)
2019/06/09(日) 21:55:27.58ID:W83DJxDE0
【実体験】ブログを1,000記事ほど書いたら、月300万くらい稼げた話

@YouTube

;t=604s
【報告】ブログで「月収1,000万」を達成できました【方法を解説する】

@YouTube


年間ほど努力したら「年収3,000万」になったので、経験談を語る

@YouTube


期間工ブログの収入は1500万円でした。【フリーランスの現実&底辺からの復活編】

@YouTube


年商1300万のプロブロガーの初心者時代から今までの軌跡

@YouTube


【収益報告】実働月10hでも大金稼ぐ方法を解説【年収6,000万】

@YouTube

;t=288s
無料ブログは稼げない。稼ぐならオススメはWordPress一択の理由

@YouTube

445デフォルトの名無しさん (ワッチョイ 115f-Gzfa)
2019/06/09(日) 22:06:11.67ID:+p5uJAry0
>>443
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 とかだろ
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みたいなのはないんですか?
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
454デフォルトの名無しさん (ワッチョイ 9a2c-oZrO)
2019/06/14(金) 21:51:30.95ID:gXbRy3uY0
|> は、関数型言語、Elixir のパイプ演算子

メソッドチェーンを発展させて、オブジェクト指向から、関数型へ近づく。
マルチコア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()) の意味になっちゃうからね
括弧省略が鬼門
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 ならどうだろう
459デフォルトの名無しさん (ワッチョイ a314-9ye8)
2019/06/15(土) 08:12:23.99ID:ZCtqwPNW0
>>453
やっぱり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 みたいなのもあるけど

まぁ、メソッドチェーンでできるんだから、パイプ演算子は要らんかなとは思う
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 は、第一級関数ではない。
処理をオブジェクトにするとややこしいから、第一級関数にしない方がよい
463デフォルトの名無しさん (ワッチョイ df14-9ye8)
2019/06/15(土) 23:47:22.68ID:mKDC3u9y0
> Windows 版では、バグがあるかも知れないので、
Windows 版使わないほうがいいっすね〜
464デフォルトの名無しさん (ワッチョイ 3e7c-jEB4)
2019/06/16(日) 11:55:03.74ID:NdAq/MEw0
windows なら素直に python 使え
無理して ruby 使ってもロクなことにならない
465デフォルトの名無しさん (ドコグロ MM92-FH5+)
2019/06/16(日) 12:01:22.73ID:0yrhG5qHM
長く使うものを作るならGoも良い選択
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#使うべき
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
470デフォルトの名無しさん (ワッチョイ 1ab0-bbbA)
2019/06/18(火) 06:18:25.72ID:3nOE2mBA0
プログラム板にキチガイ降臨中!botに一晩も反応する異常さ
一般人(学校恩師)に殺害予告をしているのでスレ建て通報してください。
http://2chb.net/r/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 実装系の新連載が始まった!
472デフォルトの名無しさん (ワッチョイ 93a5-mDEe)
2019/06/21(金) 15:19:36.87ID:LkxS+Sdt0
Sorbetの型注釈の書き方最悪だな
matzの言うことなんか無視して、ドキュメントを含めた統一的な型注釈の書き方を決めるべきだったのに
473デフォルトの名無しさん (ワッチョイ 93a5-BUGM)
2019/06/22(土) 11:20:25.22ID:xaZv7O+80

お前さんの考える最高の書き方は具体的にどういうモンなの
474◆QZaw55cn4c (ワッチョイ 5347-Cqag)
2019/06/22(土) 16:41:03.20ID:ICCmixle0
>>471
買いました!
475デフォルトの名無しさん (ワッチョイ c195-eGkX)
2019/06/23(日) 19:01:19.76ID:WHM6Ibwm0
日本語のような全角を2
英語のようなのを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 と
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じゃない場合もあるってことだからな
480デフォルトの名無しさん (ワッチョイ 5b44-QPVk)
2019/06/23(日) 23:29:15.95ID:kDz3gLp60
つうか、3文字で6ってなんやねん?
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と返ってくるのはおかしい
483デフォルトの名無しさん (ワッチョイ 4b7c-Kkfr)
2019/06/24(月) 12:29:01.33ID:NW8XqAfb0
API で横幅を取得
East Asian Width
http://www.unicode.org/reports/tr11/
https://ja.wikipedia.org/wiki/%E6%9D%B1%E3%82%A2%E3%82%B8%E3%82%A2%E3%81%AE%E6%96%87%E5%AD%97%E5%B9%85
484デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 12:54:44.12ID:fiA0UtsUd
Pythonなんかだと
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
486デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 12:59:27.33ID:fiA0UtsUd
>>485
いや、よく理解出来ました
考え方として賛成はしかねますが納得は出来てすっきりしました
ありがとうございましたm(_ _)m
487デフォルトの名無しさん (ワッチョイ 1514-fqXP)
2019/07/01(月) 13:00:37.00ID:ywGyCn2/0
printf が print format の略であるように、
puts が put string の略なのは
C言語由来ですよ?
488デフォルトの名無しさん (スップ Sdca-rCja)
2019/07/01(月) 13:06:28.54ID:fiA0UtsUd
>>487
いろいろありがとうございます
己の無知を反省します
489デフォルトの名無しさん (ワッチョイ 15e7-3lym)
2019/07/01(月) 17:05:10.98ID:2m4t7V760
>>485
またもやアンチRubyが無知を晒したか
C言語の標準ライブラリに関する知識も無しに批判するとは何とも恥さらしな


>>484
Ruby なんかだと可変(mutable)と不変(immutable)なメソッドは
たとえば sort! と sort ですが、
Python では sort と sorted と不変な操作には過去分詞の -ed がつきますよね

宣言や表明ではないし、ましてや過去の時系列とは無関係なので
可変を明示する sort! と sort にした方が良いと思うのですが…
何で Python は基本的な英語の語法を無視しているのですか?
490デフォルトの名無しさん (アウウィフ 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
492デフォルトの名無しさん (ワッチョイ 9d33-CaMw)
2019/07/01(月) 19:31:12.97ID:sgfBLVFM0
>>489
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
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
498デフォルトの名無しさん (ワッチョイ 03e7-MLAK)
2019/07/10(水) 15:22:02.98ID:tfcMfkAP0
>>497
http://ideone.com/8UfEyv

もしもCPUの仕組みを知っていれば、制御変数 i は
プログラムカウンタのことだと見立てることができます
さらに抽象化して、もしもステートマシンを知っていれば:
・ブロック do .. end は状態遷移を表し、
・ブロック引数 i は遷移元状態であり、
・ブロックの評価値は遷移先状態であると
見立てることができます

なお、loop.inject というパターンは過去にも別スレで利用しました
 http://2chb.net/r/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]のように開くには、どうすればよいですか?
500497 (ワッチョイ ff2c-NenP)
2019/07/10(水) 16:39:54.23ID:Jbt6AAsO0
>>498
ありがとう

loop.inject か、トリッキー!
どちらも使い慣れないから、頭を使う!

each_with_index, each_with_object では、ダメなのか
501デフォルトの名無しさん (ワッチョイ 03e7-MLAK)
2019/07/10(水) 17:37:17.74ID:tfcMfkAP0
>>499
[[2, 1], [3, 2]].flat_map { |n, e| [n] * e }
#=> [2, 3, 3]
502499 (ワッチョイ ff2c-NenP)
2019/07/10(水) 18:02:55.65ID:Jbt6AAsO0
>>501
ありがとう

flat_map は便利ですね
503デフォルトの名無しさん (ワッチョイ 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]
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
505デフォルトの名無しさん (ドコグロ MMc3-bkmc)
2019/07/20(土) 16:32:33.97ID:/lD6o5wQM
>>503
なぜ偏っていると思ったの?統計取った?
Rubyistは一般にあまりレベルが高くないとはいえ、Rubyのコミッタ陣は少なくとも今の君よりは知識も能力も経験も上だと思うよ
506デフォルトの名無しさん (ワッチョイ 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

平均すると、まんべんなく出るのだろうが
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

何回やっても偏る
511デフォルトの名無しさん (ワッチョイ 4f7c-CMz4)
2019/07/20(土) 18:37:19.17ID:ppdy8tl00
おま環かどうか切り分けるために
codepad.org
とか
ideone.com
あたりで実行してみたら
512デフォルトの名無しさん (ワッチョイ 4f7c-CMz4)
2019/07/20(土) 18:37:49.12ID:ppdy8tl00
おま環かどうか切り分けるために
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
514デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 19:33:04.24ID:2izalSzA0
1から9が完全に均等に出てほしいなら、(1..9).shuffleとでもすりゃいいんじゃね?
515◆QZaw55cn4c (ワッチョイ 3f47-19w1)
2019/07/20(土) 19:33:38.40ID:jbjCUWIF0
>>513
偏っているか、それともそうでないかを判断する基準をどのように記述していますか?
私には >>513 2 2 2 6 6 が偏っているようにはみえないのです、多分判断基準が違うのだと思います、なにか判断基準を書いていただけますか?
516503 (ワッチョイ 3f2c-QKg6)
2019/07/20(土) 19:36:50.44ID:NKxgAyGK0
>>513
5, 7 が出てない

それに同じ数字が、3回続くのが、2回も出てる
517デフォルトの名無しさん (ワッチョイ 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 と同じじゃないか?
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の目がでるなんてことはあってはいけない

俺の好きなテトリスも昔はテトリス棒が全然出なかったりしたもんだが
今のテトリスは同じものが続けて出ない。偏り無くまんべんなく出てくれるから
次に来るのが予測しやすい。これが真の乱数だ
521デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/20(土) 20:09:09.31ID:CMictvk+0
つまりテトリスカンパニーのようにメルセンヌツイスタ株式会社みたいなのが数字の出る順番のルールを決めて
ひとつの言語にはひとつのメルセンヌツイスタライブラリしか認可しないというふうにして品質の
522デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 20:57:00.17ID:2izalSzA0
>>518
全然違う
shuffleはただ位置を入れ替えるだけだから、最初の10個には必ず0から9が1つずつ含まれる
これが君の望む乱数のようだからそうすりゃいいんじゃね?と言ってるだけ
523デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/20(土) 21:02:21.62ID:2izalSzA0
>>522
その代わり、最初の9個を見れば10個目は100%予測できるから、そんなのを「普通は」乱数とは呼ばないんだけどな
ただ、君の言う乱数はどうやら普通とは違うようだから
524デフォルトの名無しさん (ワッチョイ 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 ]
527デフォルトの名無しさん (ワッチョイ cf4e-NxfS)
2019/07/20(土) 22:07:15.82ID:/ET4uH9K0
>>526
赤黒が1/2の確率で出るルーレットがあります。
三回回したところすべて黒が出ました。
次に赤が出る確率は?
一般人「1/2」
バカ「こんなに黒が続いたんだからそろそろ赤が出ないとおかしい!偏っている!だから赤100%だ!!」
528デフォルトの名無しさん (ワッチョイ 3f52-5sVo)
2019/07/20(土) 23:53:39.37ID:QHhW8HGw0
>>526
乱数にけちつける前に10面ダイス買ってきて、10000回振って出目をメモして偏りを確認してこい。
それが片寄ってると思うなら、別の店でダイス買い直して再試行しろ。
終わるまでスレに帰ってくるなよ。
529デフォルトの名無しさん (アウアウエー Sabf-CMz4)
2019/07/21(日) 01:29:14.20ID:7an9cjGSa
リアルのダイスは安物だと
1の目と6の目で掘り具合が適当で
重心がばらつくから良くない
1をでかく掘ってあって
ちゃんとバランスとってる香具師を買え
530デフォルトの名無しさん (ワッチョイ 7fd2-W26c)
2019/07/21(日) 05:50:29.99ID:8kiQELFp0
>>503
欲しいデータはこんなの?
2 5 6 9 7 3 1 4 8
8 4 6 2 5 7 1 3 9
2 1 9 8 5 7 4 6 3
531デフォルトの名無しさん (ワッチョイ 4f7d-woJQ)
2019/07/21(日) 06:37:51.08ID:OIgMVs9g0
>>528
10面ダイスなんて偏ってるに決まってるだろ何次元人だお前
20面ダイスの下1桁を記録させるのが正しい
532デフォルトの名無しさん (ワッチョイ 8fb0-VOQx)
2019/07/21(日) 14:26:31.51ID:rj1b8/he0
単純にサンプル数が少なすぎる
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倍ぐらい確率が違うんだよ
「君の言葉で言う偏る」のは確率で見てもむしろ当然

# 計算式が合ってるかは誰か検証して
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個以上あることなんて普通に
ありえることなんだよね
537デフォルトの名無しさん (ワッチョイ 3f73-jGuh)
2019/07/21(日) 16:43:49.84ID:NYTsshMI0
ちなみに、8回以上を9回以上に置き換えても13%の確率があるので、特段珍しいことでもない

さらにちなみに、この計算はRubyを使って行いましたw
538デフォルトの名無しさん (スッップ Sdaa-nIbq)
2019/07/28(日) 16:46:50.69ID:RyVu3FEFd
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
540デフォルトの名無しさん (スッップ Sdaa-qbpu)
2019/07/31(水) 06:26:20.94ID:F/SyAmOad
>>270
Railsはチュートリアルとか本とかネットの情報も多いけどSinatraは情報が少な過ぎるよ
541デフォルトの名無しさん (ワッチョイ 8a2c-aoqV)
2019/07/31(水) 12:11:30.33ID:6BPSvdm10
たぶん、インデックスを使っていない、select だろう。
ランキングとか、レコードを総なめ・全件取得する、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
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
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のフォームと
ずれてしまったのでコードがそれを避けた書きかたになってしまって
気がはれない
549デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/01(木) 20:45:19.26ID:lSJbqNGy0
>>548
たぶん言語は関係ない。
文字コード、文字判定、フォント、コンソールなど、環境次第な要素が多すぎる。
550デフォルトの名無しさん (ワッチョイ eb7d-SEhp)
2019/08/01(木) 21:12:29.42ID:MCSzD/uO0
Rubyとしては「STDOUTに流すだけで特に何もしてない」ような気がする
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年単位で他の言語に遅れることになるだろうな
大爆笑
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を言い訳にして、とにかくなにがなんでもオブジェクトの宣言を含めたくないんだろう。
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 だのスコープ問題の泥縄的解決である
変数宣言を言い訳にして、とにかくなにがなんでも型宣言を含めさせたいんだろう。
556デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 12:53:29.81ID:uuq2lSJI0
あと
別ファイルに型定義書くのって立派なDRYじゃねーの?
だって、クラス名やメソッド名変更するとき
両方書き直さなきゃならないじゃねーか
これはDRY以外の何なんだ?
ほんと、ペテン師はいつも自分に都合のいい事だけ言うよな
分かっててすっとぼけるんだわ
信者には悪いが、マジで毎回そう
557デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 13:05:34.87ID:uuq2lSJI0
つまり、
普通に素直に型宣言するより
別ファイルに型定義書く方が
よりDRYだし面倒だし
この掛け違えたボタンで首が絞まる感じ何なん
もう普通に型書いたら?
アホらしすぎ
558デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/04(日) 13:18:44.89ID:uuq2lSJI0
型定義を別ファイルの書くのって
丁度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してるかもしれないわけで)

で、誰得なんこれ
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ページ分の特集!
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 を自動生成できる
また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として
型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)
563デフォルトの名無しさん (ワッチョイ 2333-uzAh)
2019/08/05(月) 01:57:11.36ID:kCWOwKEP0
>>562

> トンチンカンな批判を繰り返している実証になる

揚げ足をとれたからって、そんなに必死にならなくても。w
DRYDRYとうるさいのは信者くらいで、ふつうは実はそんなに気にしてないからな。しゃあない。

> 素のRubyソースコードから型定義ファイル rbi を自動生成できる

スケルトンみたいなこと?
その手のやりかたってヤバい原因になりがちだと思うんだけど、だいじょうぶなの?たいがい元ソースコードの変更に追い付けなくなって、うやむやになるよねえ?

> 型定義を記述することもできる(ただし、この場合は自動生成されず手書きとなる)

つまり、ソースを変更したら、あわせてアノテも変更しないといけないのか?
結局はDRY違反なの?

ホントにそんなだったら、どうせ誰も使わない気がするなあ。。。
564デフォルトの名無しさん (ワッチョイ 75e7-27IP)
2019/08/05(月) 02:20:06.63ID:xLJRGiJi0
>>563
>揚げ足をとれたからって、そんなに必死にならなくても。w

揚げ足ってのは、DRYを逆の意味に理解していた(>>556)事実を、
あっさり >>557 の冒頭で指摘されちゃったこと?
まぁしゃあないわな、「揚げ足」を隠そうと必死になるのも www
565564 (ワッチョイ 75e7-27IP)
2019/08/05(月) 02:21:24.98ID:xLJRGiJi0
訂正
X:>>557
O:>>562
566デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 07:34:24.32ID:nl2V9bb60
Ruby 初心者スレッド Part 65 	YouTube動画>11本 ->画像>3枚
こんなんを別ファイルに記述するはめになるんだ
クラス定義に似てるね
重複して同じようなことを二回書かなきゃならないって事
DRYの原則に反してるから型宣言を書きたくないって話だったのに
より一層DRYの原則に反してるね
C++のヘッダにそっくり

あと今更するなら最初からしておけば何かとよかったのにね
夏休みの宿題を最後にためておく人だったのかな

一方静的型言語にも型推論とか取り入れられてるけど
こっちは文法的にも文化的にも何の障壁もなく導入されてるのが笑える
なにこの差
さらにはヌル安全とかまでやろうとしてる
逆にこっちのやってるのはいまだにネイティブスレッドww
何周遅れよこれ

そんでいつも後出しジャンケンで負ける
動的型もそう
後出しジャンケンして負けた
後出しジャンケンでも勝てばいいんだが負けたら意味ないね
Rubyサイコー
567デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 07:39:15.45ID:nl2V9bb60
>また、ソースコードと同一ファイルにアノーテーション(注釈、いわゆるコメント)として

この方式は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が勝っていた時代など一度もなかっただろ、詐欺師め
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に型アノテーションが導入されたら
型を書いた方が行儀が良いという風潮が蔓延するだろうが、自分は型を書きたくないので
そのために型をかけないようにしておく、というもの

良いことが出来ると、良いことをする風潮になるだろうが
自分は悪いことがしたいから、良いことが出来ると困る
と言っているわけで、マジキチなのがお分かりいただけるだろうか

法律があると法律を守らなければならないから嫌
信号があると信号無視が出来ないから嫌
と言ってるようなもので、まさに悪人の考え
型は書いた方が良い、とうことはしっかり分かってる上で
嫌だから出来ないようにしておく、と言ってるわけで、悪人独特の自己矛盾

しかし普段自分の都合のいいように嘘しか言わない彼が、本音を語っている点は評価できる
570デフォルトの名無しさん (ワッチョイ 23da-dfB4)
2019/08/05(月) 13:47:09.02ID:3mqInMrR0
そろそろこっちでやれ
アンチということではなく本スレの代わりとして
Rubyについて(アンチ専用) Part005
http://2chb.net/r/tech/1555162340/
571デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 13:52:01.39ID:nl2V9bb60
しかし>>569に書いたようなことを公式で言うとマジキチだから
静的型を導入しない理由を聞かれると、いつも適当なことを言って言葉を濁しているわけ
これで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でヨタヨタだがうまく離陸してくれ
574デフォルトの名無しさん (ワッチョイ 037d-SEhp)
2019/08/05(月) 14:08:47.58ID:kz1352lP0
単純に全体の完成度がバージョン0.8くらいに戻るよね
そこまでして「わざわざRubyに」導入するべきものでもないということではあろう
昔ならともかく今は他の言語もあるのだから
これ言うと揉めるけどな
575デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 14:14:45.71ID:MNXFY7cg0
1. 型を導入すると良いものになる。
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:bU1KwNWi0
>>576
そう。 Elixir なり Crystal なりを使えばいいだけの話。
なんでRubyに型を導入することにこだわるんだろう。
579デフォルトの名無しさん (ワッチョイ 23a5-dfB4)
2019/08/05(月) 15:48:35.23ID:Umi2Ipdj0
ドキュメントに型を書くことになるんだから、そこの仕様をしっかり決めるべきだった
580デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 16:30:50.53ID:MNXFY7cg0
>>577
> 型を導入すると対話環境での使い勝手が悪くなり、書き捨てのプログラムを書く際の手間が増える。それは楽しくない。

それはstrictモードを作ればいいだけなんよ
581デフォルトの名無しさん (ワッチョイ 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 で書かれたごく一部のライブラリ程度じゃない?
584デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 17:55:40.47ID:MNXFY7cg0
型を入れてもオープンクラスな言語では大して速度は上がらない
→オープンでない言語なら速度は上がる
→速度を上げるためにはオープンでなくすれば良い
→そのような改善方法は存在するが、非互換性をうむから、取り入れられない。
→まつもと「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型と書く(もしくは省略)か、適切な型を書くかの違い。
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。
590デフォルトの名無しさん (ワッチョイ bd14-F0Sa)
2019/08/05(月) 19:13:25.94ID:MNXFY7cg0
>>589
うん?だからそういう問題が発生するから、
Rubyでは型という素晴らしい道具を導入することが
設計上不可能って話をしてるんだが?
591デフォルトの名無しさん (ワッチョイ 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の中でそれが起こる
楽しみだね
このへん、言語仕様で初めからどちらかに決まっていた方がスッキリしていたかもしれないね
594デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 21:19:04.07ID:nl2V9bb60
それに加えて型定義ファイルの自動生成の話もあるが
まぁ最初は使い物にならないだろうからそれも含めてカオスになる
それがRuby3.0

静的型言語も動的型言語を取り入れてるっていうけど
こっちは何の問題もなく行われてて全くの静寂なのが笑える
まぁ型推論はコンパイラが型を推論してくれるというだけで
型は静的に決定されているわけだから当たり前なんだけど
595デフォルトの名無しさん (ワッチョイ 9b7c-Ybim)
2019/08/05(月) 21:29:41.54ID:nl2V9bb60
型は書いたほうが良いが今更自然な形での導入は難しい
しかし3.0で書きにくいけど書けるようになる
書けるようになるなら書いたほうが良い
でも書きにくい
でも書かなきゃ
でも書きにくい
書きたくない
でも書かなきゃ
でも書きにくい

これがRuby3.0
596デフォルトの名無しさん (ブーイモ MM43-SVyD)
2019/08/05(月) 21:34:38.65ID:ubcyIKEPM
型注釈、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
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:SN9O18fE0
>>599
Perl5に「末期」なんかないぞ。
まだまだ現役だからな。w
603デフォルトの名無しさん (ワッチョイ 8514-F0Sa)
2019/08/06(火) 20:34:15.67ID:9obbnMlM0
モンキーパッチ(オープンクラス)ができるのはメリットではあるが、
通常はそんなことしないので、小さなメリットのために
大きなデメリットが発生してるんだよな。
最終手段を取るしか無いところだけ、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における暗黙的な静的型付けの導入方針」として、
(型推論の代用である)「型プロファイラ」と呼ぶ新技術の紹介が続くわけだ
605デフォルトの名無しさん (ワッチョイ 1514-F0Sa)
2019/08/07(水) 18:42:31.98ID:WK8NJ3/V0
>>604
なにかごちゃごちゃ語ってるけど、

マッツが言った「やりたくない」は
面倒くさいって意味だよ。

血が湧き立つような挑戦なんてものを思いついていたら
それを理由にするだろ。そんなもんないからさ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
みたいなのがあった時って型推論ってどうなるの?
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>みたいな感じかね
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にも型付けできるんじゃね
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に無理やり型付けするために生み出されたキメラなのだから
参考になる部分だらけなはず
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:bpQgx2FJM
>>617
JavaScriptはそもそも静的型付け言語であるCやJavaの構文を参考にして設計された言語だ
医学部卒のプロ棋士が引退して医師に転向することは容易だが、中卒には不可能である
621デフォルトの名無しさん (ワッチョイ 1373-dCD9)
2019/08/17(土) 16:35:39.55ID:zExljCul0
>>620
> JavaScriptはそもそも静的型付け言語であるCやJavaの構文を参考にして設計された言語だ
大嘘つくなよ
似てるのは中括弧を使ったブロックとかの見た目だけじゃん
622デフォルトの名無しさん (ドコグロ 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であることを忘れないようにしましょう
625デフォルトの名無しさん (ワッチョイ 7be9-SXVW)
2019/08/17(土) 17:16:36.20ID:iudotV170
話を逸らすのはチョン國人の手口
626デフォルトの名無しさん (ワッチョイ 1373-dCD9)
2019/08/17(土) 19:31:09.99ID:zExljCul0
>>622
中括弧使ってセミコロン使えば静的型付けになるのかよw
的外れもいいとこ
627デフォルトの名無しさん (ワッチョイ b99e-O2DT)
2019/08/17(土) 19:37:00.00ID:r+LO0zEM0
>>625
死ねよネトウヨ
お前もチョンがどうのとか言って話そらしてんじゃん
628デフォルトの名無しさん (ワッチョイ 0b68-SmAy)
2019/08/17(土) 21:08:03.39ID:8EnS7QZU0
>>624
JavaScriptに比べたら、Rubyのほうがまだ似てるんだよなあ。w

JavaScriptのクラス定義を見たことがあるか?プロトタイプベースなので、ほかではなかなか見られないぞ。
629デフォルトの名無しさん (ワッチョイ 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
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;
 }
}
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.`);
 }
}
632デフォルトの名無しさん (ワッチョイ 132c-BF++)
2019/08/17(土) 23:51:47.98ID:fYRni8gj0
Node.js は、Ruby のコピー。
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
634デフォルトの名無しさん (ワッチョイ 0b68-SmAy)
2019/08/18(日) 01:51:43.24ID:DCFRUhnv0
>>629
つい最近そうできるようになっただけやけどな。w
635デフォルトの名無しさん (ワッチョイ 2914-2ejv)
2019/08/18(日) 01:59:35.72ID:KK6bG3/n0
>>634
つい最近 = 4年も前

それを今知ったんかい?w
636デフォルトの名無しさん (ワッチョイ 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 も、サーバー側プログラミング
638デフォルトの名無しさん (ワッチョイ 2914-2ejv)
2019/08/18(日) 08:22:32.26ID:KK6bG3/n0
> Node.js は、Ruby 実装系のコピーだろ。

全く違う。似てるところが一つもないと言っていいレベル
つーか、Rubyにぱくれるところなんてなにもない
639デフォルトの名無しさん (ワッチョイ 7b3b-oOLq)
2019/08/18(日) 09:44:57.54ID:vcjALM940
ちょっとこの信者なんとかしてくれない?
スキルセットが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でも日本語でバグらないかどうか、知りたい
641デフォルトの名無しさん (ワッチョイ f57f-7nd5)
2019/08/23(金) 01:33:05.16ID:ypvGItf/0
ocraやgolangのgo buildみたいにRubyスクリプトとその要求ファイルを
単一の実行ファイルに固める仕掛けのLinux/FreeBSD向けってありませんか?
利用側でのセットアップを簡単にするために探しています
642デフォルトの名無しさん (ワッチョイ 7a2c-3Uq+)
2019/08/23(金) 02:21:20.94ID:FLxS3jQ80
Bundler は?

Node.js のnpm, yarn と同様の、パッケージマネージャー
643デフォルトの名無しさん (ワッチョイ 7a73-P0k6)
2019/08/23(金) 07:21:08.15ID:wNECBEc60
Bundler というより、gem だね
gem を作れば1ファイルにできる
644デフォルトの名無しさん (ワッチョイ 1597-oRVe)
2019/08/25(日) 21:34:28.24ID:qjFyDFHg0
>>640
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など一挙に使える範囲が広がる
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+75B0
>>646
バイナリ処理は、目的とやりようによっては、C/C++よりもPerl5/Rubyのほうが簡単なんだが。
pack/unpackが意外と使いやすいからな。
650デフォルトの名無しさん (ワッチョイ 2514-8k/K)
2019/08/26(月) 03:47:15.63ID:rnlkvQrj0
バイナリはバイナリのまま処理すればいいと思うんだが、
なんでいちいちpack/unpackなんかするんだ?
651デフォルトの名無しさん (ワッチョイ faa5-0PH2)
2019/08/26(月) 10:06:15.99ID:rKfqBH6Q0
perlからの流れであり深い意味は無い
それが好ましいと言う奴だけがrubyを使ってる
だから宗教だ

「わたくしはそれを気にいっている」宗教ではコレ以外の理由は必要無い
652デフォルトの名無しさん (オイコラミネオ MMbd-HFEL)
2019/08/26(月) 13:12:19.64ID:WoXCTlJRM
>>650
スクリプト言語は原則として、メモリに直接アクセスするようにはできていない。

念のために言っておくと、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とかじゃだめなんか
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回ダウンロードされていたそうだ
657デフォルトの名無しさん (ワッチョイ 6501-p7LT)
2019/08/26(月) 19:08:01.58ID:2cRTpeOk0
質問です。
配列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+75B0
>>653,654
聞かなきゃわからんヤツ、自分が何を言ってるかわからんヤツは、「バイナリ」に手を出さんほうがええで。
どうせ自分の面倒を見られへんやろからな。
661デフォルトの名無しさん (ワッチョイ d614-8k/K)
2019/08/26(月) 20:18:12.71ID:j2nyzmJv0
>>660
あぁ、えとなぁ、お前、Javaはバイナリを直接扱えるが
メモリに直接アクセスってお前は何を言いたいのか
ちゃんと言えるか?って聞いてんだよ。
662デフォルトの名無しさん (ワッチョイ ce7c-7nd5)
2019/08/26(月) 20:46:55.19ID:bJVhcqWX0
いいぞ
もっとやれ
663デフォルトの名無しさん (ワッチョイ ce8c-Bk+d)
2019/08/27(火) 01:27:52.33ID:shMgsf0q0
これほど自信満々なところを見ると俺らが知ってるバイナリと
>>660の頭の中のバイナリは違うものなんやろな
664デフォルトの名無しさん (ワッチョイ 7a7d-IePP)
2019/08/27(火) 07:36:50.86ID:N9jETkI/0
bit演算を使えば一度に計算できることを
ループと何重にもネストした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みたいなモルヒネで延命してるうちに手遅れになった
667デフォルトの名無しさん (ワッチョイ 9963-4dMe)
2019/08/30(金) 14:40:23.42ID:RCTyVXY+0
>>650
自分でTCP/IPパケットの解析をするときに、「バイナリはバイナリのまま処理すれば」十分なの?
バイナリをバイナリのまま処理できるのなんてコピーぐらいの単純なIOしか思いつかないのだが。

バイナリって文字列じゃないだけであって区切りを持った意味のあるバイト列だからね。
668デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/08/30(金) 14:48:49.55ID:1L0XShC30
>>667
何が言いたいのかさっぱりわからん。pack/unpackなんか使わずに
特定の型の構造体として扱えばいいって言ってるだけなんだが?
669デフォルトの名無しさん (ワッチョイ 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++の方が
簡単だって話をしてる。
671デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/08/31(土) 05:50:42.27ID:bRBeXa4d0
まあ型がない言語でバイナリ扱うのが簡単になるわけがないという
当たり前の話やなw
672デフォルトの名無しさん (ワッチョイ 1301-16lO)
2019/08/31(土) 07:32:26.18ID:ZoC/NMoo0
じゃあRubyでバイト列を特定の型の構造体として取り扱うにはどうすればいいの
673デフォルトの名無しさん (ワッチョイ 137d-IK1h)
2019/08/31(土) 09:00:52.78ID:KTrrzu1K0
>>670
まず引用の仕方を覚えましょう

>バイナリ扱うのにC/C++よりもPerl5/Rubyのほうが簡単
>>649 からの引用のようだが
>目的とやりようによっては
が、抜けてるね
674デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/08/31(土) 10:02:23.34ID:bRBeXa4d0
抜けてるからってなんだっていうんだろうか?
そこは抜けてると指摘するんじゃなくて、
簡単な場合をだして反論するべきだろう?
675デフォルトの名無しさん (ワッチョイ 0b7c-ca7b)
2019/08/31(土) 10:28:13.26ID:nubn4z9u0
>>672
ffi
676デフォルトの名無しさん (ワッチョイ 6b68-WmBi)
2019/08/31(土) 13:37:47.73ID:UymIA0Th0
>>674
反論?w
エンディアン、アラインメント、パディングとか、知ってれば当たり前のことばかりなんだけどな。
677デフォルトの名無しさん (ワッチョイ 6114-dbQt)
2019/08/31(土) 13:44:28.66ID:iNpyZmkw0
>>676
知ってる用語を並べてないで、当たり前というのなら、その当たり前のことをしてみせなさいな。雑魚かよ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:IE86u3rd0
>>656
Windows 10, WSL, Ubuntu 16.04 では、Ruby 2.3 を使っているけど、
2.3 は、サポート切れなのに更新された!

セキュリティー更新かな?
682デフォルトの名無しさん (スッップ Sd33-s5ZA)
2019/09/04(水) 03:31:46.27ID:NtCOMGlqd
亀だと思うんだが最近知ったんで書くだけ書かせてくれ
基本情報処理試験のプログラミング言語の選択科目から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を入れて欲しい
686デフォルトの名無しさん (ワッチョイ 13a5-u0zy)
2019/09/04(水) 10:39:47.55ID:nmk4+Aqu0
rubyで一番ヤバいのは|x|とかのラムダ式だろ
縦棒とか一番押しにくい位置にあるじゃん
これ|を二つ押すよかlambdaと5文字書いた方がラク、ってのが世界の趨勢だよ
だもんでruby最大の癖がコレ|x|だ
687デフォルトの名無しさん (ワッチョイ eb14-dbQt)
2019/09/04(水) 10:43:23.87ID:ZdLs6UcV0
> 縦棒とか一番押しにくい位置にあるじゃん

一番押しにくい位置にあることで発生するデメリットはなに?
入力が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:ikEP3CxVM
>>693
タイプが面倒だと、
「気持ちよくない」
「楽しくない」
「屈辱」

教祖様のお言葉だから批判は許されないよ
695デフォルトの名無しさん (オッペケ 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+RlT6ue0
>>682
Rubyは互換性がクソだから、「試験」にはあわない。

これからは互換維持をがんばると言ったようだから、それが実績でしっかり証明されてからやな。
698デフォルトの名無しさん (ワッチョイ 429c-dKGR)
2019/09/05(木) 10:39:07.68ID:ZhL2R7iO0
特定の日本人に仕様が握られてる言語とか採用は無理でしょ
ISOも形だけとったのがバレバレ
699デフォルトの名無しさん (ワッチョイ dd5f-3FMl)
2019/09/05(木) 10:47:07.58ID:jvZOJhcs0
>>697
2系を根絶できないPythonに互換性云々を言われるのは納得しづらい
700デフォルトの名無しさん (ワッチョイ 467c-28YD)
2019/09/05(木) 11:14:09.33ID:A2EHupI70
Rubyみたいな汚い言語が採用されるわけないでしょ
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上位ランク言語で断行されたのは、
おそらく歴史的に初めてであろうし、
後世に「後方互換性の断絶」の代表例として語り継がれていくだろう
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の習得は難しいから、無理に背伸びせず
中学生レベルに成長してから再挑戦してもらいたいです
703デフォルトの名無しさん (ワッチョイ 467c-28YD)
2019/09/05(木) 20:47:32.79ID:A2EHupI70
↑伝統的・標準的 Ruby使用者
こういうひねくれてて頭弱そうな人が好むんだよなぁ>Ruby
さいこー
704デフォルトの名無しさん (ワッチョイ 0644-xsU2)
2019/09/05(木) 22:51:20.43ID:do1wrMFw0
>>699
かなり異なる2系統が存在するだけのPython。
マイナーバージョンアップでも破壊的変更が心配なRuby。

ぜんぜん別物。
納得できないとしたら、あたおかやで?
705デフォルトの名無しさん (アウアウウー Saa5-cUvx)
2019/09/05(木) 22:54:58.20ID:gXvrj6Sda
PythonをディスってもRubyの栄光は帰ってこないよ。
Rubyを救いたかったらRails級の革新的なOSSを作りなさい。あなた自身が。
706デフォルトの名無しさん (ワッチョイ 2252-1iLS)
2019/09/05(木) 23:12:23.77ID:6wsc7cqJ0
>>705
結局言語としての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ほど汎用的にいろんな場所で使われるようになるのは難しい、と考えられるけども。
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:WcFuWWHJ0
>>708
印象。w
ネイティブモジュールはたくさんあるから、心配すんな。
711デフォルトの名無しさん (ワッチョイ 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
713デフォルトの名無しさん (ワッチョイ 49e7-ZcvA)
2019/09/06(金) 23:33:10.17ID:NV9LDg+C0
>>705
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/
個人的には、子供の持つ好奇心という破壊的なパワーをなめちゃいかんと思います
716デフォルトの名無しさん (アウアウエー Sa4a-p7Vf)
2019/09/07(土) 00:22:45.12ID:lrUhBd6ha
同じ●ビィでもヴィビィよりは遥かにマシ
717デフォルトの名無しさん (ワッチョイ 429c-dKGR)
2019/09/07(土) 01:01:24.05ID:dV4V3FOS0
>>715
この本Ruby関係あんの?
718デフォルトの名無しさん (ブーイモ MM85-GOrT)
2019/09/10(火) 17:10:31.44ID:OGaf6FO/M
>>717
ある!
719デフォルトの名無しさん (アウウィフ FFa5-p7Vf)
2019/09/11(水) 12:59:24.19ID:zFEVPQj4F
安藤咲良かわいいな
https://gigazine.net/news/20190910-top-programming-languages-2019/
720デフォルトの名無しさん (ワッチョイ 1f7c-+dKN)
2019/09/14(土) 12:06:00.29ID:NwEptffo0
rails 概出?

@YouTube

721デフォルトの名無しさん (ワッチョイ 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
723デフォルトの名無しさん (ワッチョイ 7f14-UBz4)
2019/09/30(月) 20:32:13.86ID:sHSicWZI0
>>722
$ csvtool namedcol aaa,ccc data.csv
aaa,ccc
01,03
11,13
21,23
724722 (ワッチョイ 5f2c-+BGV)
2019/10/01(火) 22:53:28.60ID:9HRGRt020
CSV::Table#by_col! で、列単位で扱える。
そこで、delete(列名) で、列ごと削除できるけど、
事前に、列名が必要

任意の列数のCSV ファイルを扱う場合に、
事前に、列名がわからない場合に、どうすれば良いのか?

一旦、ヘッダー行を取得して、すべての列名を取得してから、処理すれば良いのか?

>>723
csvtool というコマンドがあるのですね
725デフォルトの名無しさん (ワッチョイ 675f-+/Zc)
2019/10/02(水) 23:26:12.27ID:14D+F8tw0
>>724
csv = CSV.table ARGV[0]
puts csv.by_col.delete_if{|name, val| ![:AAA, :BBB].include? name}
726デフォルトの名無しさん (ワッチョイ 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 }
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)
729デフォルトの名無しさん (ワイーワ2 FF92-PqvS)
2019/10/09(水) 16:59:03.96ID:dDDCJBWOF
君の pwd の結果を曝すか
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 には、その機能が無いのかも
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
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 をしようか
736728 (ワッチョイ 9f2c-la4p)
2019/10/10(木) 19:25:48.03ID:dv1+zkCU0
pty は仮想端末だから、ssh 接続をしないと使えないのかも

単に、端末に自動入力したいだけだから、
Ruby ではなく、シェルスクリプトで、expect をやってみる

apt では、sudo のパスワードを聞かれるから、それを自動入力したい
737728 (ワッチョイ 9f2c-la4p)
2019/10/10(木) 19:59:39.73ID:dv1+zkCU0
expect のサンプルが、pty を使ったものばかりだったから、ptyを使わなければ良いのかも?

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 は特殊
739デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/11(金) 10:13:43.38ID:hkXt1GtmF
Windows で Ruby 使ってもロクなことにならない
(WSL でもね)
740デフォルトの名無しさん (ワッチョイ ffda-8cCB)
2019/10/11(金) 10:41:17.51ID:AqBy2q4Y0
ここの淀んだコミュニティはまだWindows目の敵にしてるのか
そんなんだからPythonにぶっちぎられちゃってるのに
741デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/11(金) 10:44:47.24ID:hkXt1GtmF
別に目の仇にしてる訳じゃないやろ
「rubyはなんでwindowsで使うと糞なの」
「じゃあおまいが対応汁」
「forkωωω」
「挫折」
の流れを繰り返してるだけ
屍累々
742デフォルトの名無しさん (ワッチョイ 9714-Gl4G)
2019/10/11(金) 10:59:31.96ID:PhVW6Uck0
>>738
お前がわかってないだけだろ

そのエラーは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 が開いていないのかも
746デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/14(月) 11:56:07.71ID:Cg/ykvDAF

https://www.atmarkit.co.jp/flinux/rensai/linuxtips/094virtualcon.html
https://kouritool.com/what-linux/ctrlaltf1仮想コンソールを起動を押してしまったら/
747デフォルトの名無しさん (ワイーワ2 FFdf-1wBF)
2019/10/14(月) 11:56:43.70ID:Cg/ykvDAF

https://qiita.com/Kernel_OGSun/items/bdccbe8bc4092f33b43e
http://yudoufu.hatenablog.jp/entry/2014/02/06/001440
748デフォルトの名無しさん (ワッチョイ 7f73-pTuN)
2019/10/20(日) 00:18:23.73ID:tI/yRj1E0
Rubyの課題が全然わからないので教えてほしいです。
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 という拡張機能を入れると、
右クリックメニューから、選択したコードを実行できる
751デフォルトの名無しさん (ワッチョイ 92a5-iRVk)
2019/10/20(日) 08:40:43.47ID:akKR2ina0
その問題を「1、0、−1、0を産む機械」と言い換えればすぐにyieldを使えばいいと分かる
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を使わない理由が見つからないのだが、なにかバグありました?
753デフォルトの名無しさん (オッペケ Sr47-sprL)
2019/10/20(日) 09:57:11.30ID:V17Fc59sr
>>748
(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年ぐらい待つ必要がある
755デフォルトの名無しさん (ワッチョイ 6b7d-sepG)
2019/10/20(日) 10:18:26.35ID:lW4NmDBF0
>>748
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が問題起こしてる印象があり、なくならねぇかな・・・と思ってますね
757750 (ワッチョイ 122c-pTuN)
2019/10/20(日) 12:06:18.48ID:ADDbXmaX0
https://rubyinstaller.org/

以前は、このトップページか、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を返す方法を学ぶ
759デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
2019/10/20(日) 12:46:50.25ID:9lZC9vgyF
ひょっとすると Ruby は糞なのかも知れない

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))}
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}
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:a2dL9b0A0
>>764
そういうことじゃなくて発想の問題よ。
物事を単純に考えることができない。
766デフォルトの名無しさん (オッペケ 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:fwYGRAlp0
他人のレスに対して上から目線で批判するしか能がない評論家のカキコこそ、
無駄なスレ消費ではないかと思われ


>>764
では、貴殿の正解をどうぞ!

>>766
では、あなたの考える>>748が求めていた回答(あなたの解き方)をどうぞ!!
770769 (ワッチョイ 37e7-6fT3)
2019/10/21(月) 19:35:56.70ID:fwYGRAlp0
訂正
X:
 >>766
 では、あなたの考える>>748が求めていた回答(あなたの解き方)をどうぞ!!
O:
 >>767
 では、あなたの考える>>748が求めていた回答(あなたの解き方)をどうぞ!!
771デフォルトの名無しさん (オッペケ Sr47-sprL)
2019/10/22(火) 11:21:00.25ID:wZUXcjF6r
いやどうみてもnがちょっとでかくなったら正しくなくなることくらい自明だろ
同じ発想でやりたいなら複素平面とかπ/2の回転行列とか使って計算すればいいだけ
ただし奇を衒った回答としては斬新さにかけて面白くないと言っている
>>758が一番スマート(かつ自分でもそうする)って言ってるんだがなんなんやこいつ
772デフォルトの名無しさん (ワイーワ2 FF6a-uHRg)
2019/10/22(火) 11:24:07.59ID:fxbuxtP/F
>nがちょっとでかくなったら正しくなくなる

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などを
返すようにできないのでしょうか。
775デフォルトの名無しさん (ワッチョイ 6373-sEIE)
2019/10/26(土) 11:21:02.82ID:VCWPcpX80
ごめんなさい、
i = 10;
while i > 0
break_test
}
でした。
776デフォルトの名無しさん (ワッチョイ ff2c-vu2g)
2019/10/26(土) 12:47:43.93ID:751XFDvk0
そういうキーワードそのものは、返せないだろ

戻り値は、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:ZMkO6rZZ0
>>774
それをやりたいと思った理由は?

仮にできるとしてもnextやbreakが
別のメソッドに埋まってたら可読性が低くて嫌だと思うんだけど
779デフォルトの名無しさん (ワッチョイ bf33-1RvR)
2019/10/26(土) 19:48:47.03ID:zP6esb2p0
>>774
斬新な発想だな。w
Rubyに限らず一般的に、制御を移すしくみは、関数(メソッド)の範囲を越えることはできない。

ただし、「例外」ならそれ以降をすっとばすことができるので、break相当ならできるかも?
# 勧めないけど。
780デフォルトの名無しさん (ワッチョイ bf33-1RvR)
2019/10/26(土) 19:56:33.83ID:zP6esb2p0
>>778
理由はいろいろやろ。
制御の移しかたを別の関数に封じて共用できたらなあ、という気持ちがわからんのか。

可読性なんか、命名でも運用でもどうとでもなる。
781デフォルトの名無しさん (ワッチョイ 6373-sEIE)
2019/10/26(土) 22:09:58.48ID:VCWPcpX80
>>778
実際は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にあまり詳しくないのでよくわからないのですが
こんな感じなのでしょうか?
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
784デフォルトの名無しさん (ワッチョイ ff01-E1XV)
2019/10/27(日) 00:24:39.23ID:wfElRmia0
>>781
なるほど

自分ならオプショナルチェーン的なのを使うか
「同じようなことする関数」をメソッドオブジェクトか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を返すことで実装できます。
それ以外の値を返した場合は、無視されます
786デフォルトの名無しさん (ワッチョイ 53f3-cmPQ)
2019/10/27(日) 05:08:22.73ID:+BT3KxOb0
独自の言語を開発した15歳が経済産業大臣賞を受賞
https://it.srad.jp/story/19/10/23/1625249/

まつもとさんクラスの才能?
787デフォルトの名無しさん (ワッチョイ c314-BWw0)
2019/10/27(日) 10:29:27.71ID:EzDt4vDz0
ifのネストができないとかなので
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
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

著者は、すがわらまさのり,前島真一
793デフォルトの名無しさん (ワッチョイ ffa5-7KPZ)
2019/10/27(日) 12:17:41.60ID:Cn2fohUL0
養成ギプスじゃねーのなこのシリーズ
794デフォルトの名無しさん (ワッチョイ 6373-ynHG)
2019/10/28(月) 23:21:57.76ID:FXEIy8w10
>>783
返事が遅くなりすみません。
なるほど、そんなにシンプルにできるのですね。
Rubyの問題ではなかったですね。
ありがとうございます。
795デフォルトの名無しさん (ワッチョイ 6373-ynHG)
2019/10/29(火) 06:00:13.39ID:wBa+308I0
>>784
条件を配列にいれて処理すると楽そうですね。
ありがとうございます。
796デフォルトの名無しさん (ワッチョイ 6373-ynHG)
2019/10/29(火) 06:25:03.68ID:wBa+308I0
>>785
Ruby on Rails入れてませんがjqueryが使えるのでしょうか。
797デフォルトの名無しさん (スップ Sd1f-PDRl)
2019/10/29(火) 23:05:22.63ID:wWZj5nZGd
github の ignoreとか適当だから、objとか普通にアップしてるな。
仕事ならまだしも、個人ねやつなんか、完全やバックアップもくてきだから、
あまりにデカイみだな .db とか除いて、全部あっふだわ。

個人のリポジドリも200とか超え始めると、一つ一つ丁寧に設定なんかしとれんわ。
githubやエディタ独自仕様に振り回される必要なし。
798デフォルトの名無しさん (ワッチョイ ff2c-vu2g)
2019/10/30(水) 01:59:02.44ID:p2ffZ2o00
>>796
Rails を使っていない場合でも、

ERB, Selenium WebDriver, Nokogiri などで、
HTML を処理する場合には、Node.js, jQuery も使う
799デフォルトの名無しさん (エムゾネ FF1f-Tlcr)
2019/10/30(水) 13:12:15.78ID:Jt7N9BVBF
>>797 はパスワードをうpして慌てるタイプ

あるいは気付かず放置してるだけかも知らん
800デフォルトの名無しさん (ワッチョイ 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 # フォルダが存在しない
801デフォルトの名無しさん (ミカカウィ FF27-xbEI)
2019/11/04(月) 16:36:49.84ID:6GYoHHZPF
RubyはUNIXで使うものであり、シェルコマンドも積極的に使うのが前提
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が凄い
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等と化けます。
どうすれば半角カナが化けないように読めるのでしょうか。
807デフォルトの名無しさん (ワッチョイ c68c-fAkU)
2019/11/05(火) 22:01:22.14ID:+vsp0I/Q0
sjis指定で読み込んでると思い込んでるだけで実際はutf-8になってるんじゃないかな
あるいはログがsjisと思い込んでるだけという線もありうる
もしくは書き出しがsjisになってないとか
可能性を挙げたらきりがない
コードをさらすのが解決への近道
808デフォルトの名無しさん (アウアウウー Sa2f-xbEI)
2019/11/05(火) 22:19:23.14ID:HJJtuDtXa
汎用機のデータをRubyで処理とか懐かしいな
俺もやってたわ
結局転職するのが唯一にして最良のソリューションだから、あまり変なことに拘って時間を無駄にするより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")
810デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/06(水) 00:03:50.72ID:lUVlDRaka
>806です
解決しました。

エンコードにsjisではなくwindows-31Jを
指定すると半角カナを文字化けせずに読めました。

ファイルの文字コードは確実にsjisなのに、
なんでsjis指定で読み込んだら化けるのか分かりませんが、
ひとまず解決です。
811デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/06(水) 00:05:50.13ID:lUVlDRaka
>>809
文字コードの指定は、
fileopen時にwindows-31Jを指定してうまくいきました。
812デフォルトの名無しさん (ワッチョイ 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
813デフォルトの名無しさん (アウウィフ FF2f-DOEl)
2019/11/06(水) 11:43:12.78ID:o3tEvZiYF
半角カタカナ ← 混ぜるな危険

30年くらい前の話
814デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/06(水) 11:50:52.64ID:SpldiVNta
>>812
これを見てやっとわかりました。

rubyは真面目に解釈してこうなったんでしょうけど、
sjisファイルの読み込みでsjis指定では駄目となると
初心者泣かせですね。
815デフォルトの名無しさん (アウアウウー Sa2f-x9nz)
2019/11/06(水) 11:52:59.82ID:SpldiVNta
>>813
漢字も駄目なのでやや難易度高しです。
816デフォルトの名無しさん (アウウィフ FF2f-DOEl)
2019/11/06(水) 12:34:12.51ID:o3tEvZiYF
いいがかりは止せ
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
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が拡張した部分とかぶってるので互換性がないんだけどな
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に変更して解決する事があるんですねー(棒)
820デフォルトの名無しさん (ワッチョイ c68c-fAkU)
2019/11/06(水) 18:22:07.75ID:8bqr3nzy0
半角カナや大半の漢字は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
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:wTTuQQRz0
上位って聞くと攘夷を思い出して

@YouTube


これを思い出して困る
826デフォルトの名無しさん (ワッチョイ df33-rCU0)
2019/11/07(木) 00:17:25.40ID:gr4VkOsJ0
>>818
エンコーディングと機種依存文字をごっちゃにしてるやろ。
827デフォルトの名無しさん (ワッチョイ 2b14-6wYC)
2019/11/07(木) 01:13:21.86ID:sEmiRyTj0
>>826
SJISは元から(文字集合を)拡張可能なのだから
同じSJISでも機種依存文字は発生する

エンコーディングはSJISもCP932も同じ
文字集合が違うだけ

理解できる?
828デフォルトの名無しさん (ワッチョイ 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の頃のような各社バラバラで互換性がないってことにはならない
(ただし私用領域を使ってる場合は除く)
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を表示させると一部文字化けする

じゃ文字集合だけ更新すれば文字化け解消するのかな?
文脈理解せず無意味なレス繰り返してるとそりゃ外字言われるわ
833デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/07(木) 11:38:26.80ID:LDERshfw0
そりゃ、新しい文字集合を使うと、新しい絵文字も正しく表示されるだろ?
834デフォルトの名無しさん (ワッチョイ 2b14-6wYC)
2019/11/07(木) 12:52:46.05ID:sEmiRyTj0
正確に言えば、新しい文字集合に対応したフォントを使うとだね。

>>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
837デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/08(金) 17:07:06.66ID:GYgLC2XDM
シンボル
実用的には単なる変更不可能な文字列と見做してよい
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が呼ばれてそれがブロックとして渡される
839デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 18:31:13.82ID:q9/Fdf+e0
mapはシンボルを引数にとらないからmap(&:to_i)でブロックとして渡すけど
injectはシンボルを引数に取るからinject(:+)で実行できる
inject(&:+)としてブロックとして渡してもいいけど無駄処理が入るので普通はやらない
840836 (ワッチョイ 9f2c-E8Ce)
2019/11/08(金) 18:48:10.88ID:bNpOstnB0
漏れは、いつも、メソッドがシンボルを引数に取るかどうか、分からないから、

ひとまず、map!( :to_i ) みたいに、シンボルを渡して、エラーになったら、
map!( &:to_i ) と、& を付けることにしている
841デフォルトの名無しさん (ワッチョイ df33-rCU0)
2019/11/08(金) 21:56:04.93ID:ZY78KkPA0
>>839
ホントにムダなんか?
シンボルを渡されても、内部でやはりブロックにしてそうだが。
842デフォルトの名無しさん (ワッチョイ 0fd3-QrFL)
2019/11/08(金) 22:54:04.88ID:u/1VJcWC0
ていうか、なんでそんな半端な設計なの?
injectのみシンボル受け取れるようにするメリットってなに?
843デフォルトの名無しさん (ワッチョイ eb14-6wYC)
2019/11/08(金) 23:51:37.33ID:sLgGgSr40
シンボル・・・型が無い言語で、型を気付かれないように書くための手段の一つ

型がないとされる言語でも、123は数字だが、"123"は文字というように
書き方で型をこっそりと記述している。
他にも/abc/は正規表現型、1.0は浮動小数点型などの定義方法がある。
シンボルはその一つで、:で始めることにより、シンボル型の値を書くことができる
844デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/08(金) 23:57:04.08ID:q9/Fdf+e0
>>841
リファレンスにも書いてるけどシンボルとブロックだと扱いが違う
ただパフォーマンスにシビアな箇所じゃなければ特別気にするほどの違いはない
https://ideone.com/p5oW7Y
845デフォルトの名無しさん (ワッチョイ 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という途中でぶん投げた新言語ではその区別がなくなってる
847デフォルトの名無しさん (ワッチョイ eb14-6wYC)
2019/11/09(土) 02:32:49.02ID:d5YSql6x0
>>845
反論は「あってるよ」だけで十分そうだねw
848デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:03:54.60ID:u1W/mjBNM
>>842
文字列リテラルよりも記述が簡便だからという理由により、本来文字列を使うべき用途にもシンボルが乱用された結果、
シンボルGCなどという頭の悪いものが誕生したりしたんだよな
誰がどう見ても完全に失敗
849デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/09(土) 12:04:25.68ID:Ypm9+s0e0
シンボルは、識別子を表すために作られたのか、数字で始められないだろ。
下はエラーになる

p :"1" # OK

p :1 # エラー
850デフォルトの名無しさん (ワッチョイ 0fd3-QrFL)
2019/11/09(土) 12:13:45.55ID:X62CmnUE0
>>848
あいやそっちじゃなくてinjectがシンボルを引数にとってブロックみたいな処理ができるって方の話
mapとかは&がいるんだよね?
851デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:16:59.76ID:u1W/mjBNM
>>849
リテラルが書けないだけで、to_symすれば数字始まりのシンボルも普通に作れる
だから型が文字列と別である理由にはならない
852デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/09(土) 12:19:33.79ID:u1W/mjBNM
>>850
すまん848は>>846に対するレスだ
&:が後付けだから一貫性がないだけで、深い意味はない
853デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/09(土) 14:08:02.54ID:MvykJ39t0
>>850
sliceやchunkのような分割系以外は
ブロックがなければEnumeratorを返すのを基本ルールにしてるから
mapはシンボルを取る形がないんじゃないかな

injectはEnumeratorを返すものじゃないから
ちょっと気を利かしてシンボルを取る形を加えたのかもね
854デフォルトの名無しさん (ワッチョイ 068c-W3rk)
2019/11/14(木) 00:10:26.40ID:GMI1Y3D90
今年が2.7ってことは
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
とかだと見てくれ良くないし無駄も多い
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/
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]となってしまいます
862デフォルトの名無しさん (ワッチョイ 9305-CPe6)
2019/11/23(土) 01:27:53.59ID:DazDco060
method([0,1])でした
失礼しました
863デフォルトの名無しさん (ワッチョイ 9301-wiXz)
2019/11/23(土) 03:03:35.14ID:8xX8HZu80
>>861
そういう仕様です

https://magazine.rubyist.net/articles/0032/0032-CallByValueAndCallByReference.html
864デフォルトの名無しさん (ワッチョイ 9305-CPe6)
2019/11/23(土) 10:59:21.53ID:DazDco060
>>863
ありがとうございます
アドレスの参照先をコピーしてるだけだったんですね
理解しました
調べたところMarshalで書き出せばバイト値もコピーできるようなのでこの方法でいきます
865デフォルトの名無しさん (ワッチョイ 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]]
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 などの自社サービス系は、多重請負構造じゃないから抜かれない
867デフォルトの名無しさん (ワッチョイ 132c-4eZD)
2019/11/23(土) 21:01:37.75ID:fygFNKSM0
C/C++ 以外のほとんどの言語では、参照がコピーされるだけ!
インスタンスを作っていない

だから、実際のインスタンス数は、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/F562DM
>>866
そんなRubyの平均年収は全言語中最低
https://tech.nikkeibp.co.jp/atcl/nxt/column/18/01068/111100004/
870デフォルトの名無しさん (ワッチョイ 6914-6o6Z)
2019/11/24(日) 01:52:22.27ID:iwyjZSbL0
>>868
顧客に価値を提供すること
871デフォルトの名無しさん (ワッチョイ 139c-rLNN)
2019/11/24(日) 02:00:18.56ID:2vFps37N0
土方にはなるな
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割はどの業界でも普通だし。
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兆円企業になってる!
877デフォルトの名無しさん (ワッチョイ 139c-rLNN)
2019/11/25(月) 04:07:09.54ID:gVPe0v4t0
>>876
日本のIT企業はほぼ国内事業しかやってないし
規模も小さいからどうしても時価総額は上がらないんだろうね
あと大したことやってない
878デフォルトの名無しさん (ワイーワ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%程度に過ぎない
キチガイの目に映る世界と実態の間にはは大きな乖離があることがわかるだろう
880デフォルトの名無しさん (ワッチョイ f914-6o6Z)
2019/11/25(月) 17:19:36.92ID:vZmdeQAZ0
まあ利益出してるところじゃなくて"売上"というのなら、
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 チームか
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 の書き方だけができる、ライブラリ・フレームワークはないの?
884デフォルトの名無しさん (ワッチョイ 1214-Sv7j)
2019/11/30(土) 07:04:52.88ID:WKFbtD9B0
>>883
なんか面白そうだね?
どういう事?
885883 (ワッチョイ 922c-Ql8R)
2019/11/30(土) 09:10:10.03ID:HbGyzSLF0
環境の構築テストなどを、すごく簡潔に、宣言っぽく書いている

例えば、ファイル・ディレクトリなどを作る場合でも、エラー処理もなく、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人は、株式会社ルビキタスにも所属している
888デフォルトの名無しさん (ワッチョイ 12a5-dfs3)
2019/12/03(火) 09:08:31.07ID:I9YoNGrF0
義務教育にrubyが組み込まれなかった時点でrubyは終わりだろ
ポジション取られたのが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'
890デフォルトの名無しさん (オッペケ Src1-8zr5)
2019/12/05(木) 09:19:26.64ID:wT3fRGGOr
windowsで-e の後にシングルクォーテーション使ってるからでしょ

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'
なら問題ない
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に渡る際に、どう変換されるのか?

そのカリクリを知りたい
893デフォルトの名無しさん (アウウィフ FFa9-MVf8)
2019/12/05(木) 10:57:49.63ID:IbmhSLeWF
WSL使え

あるいは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ははるかにまともで現代的。
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
898デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/06(金) 10:14:28.56ID:uUae0oO6F
pythonは””も’’も意味一緒だが
rubyは””と''は微妙に意味違うよな
899デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/06(金) 10:16:15.68ID:uUae0oO6F
'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
と出力された!
901デフォルトの名無しさん (アウアウウー Saa9-LXAx)
2019/12/06(金) 20:18:06.92ID:nE0DnhAQa
>>898
微妙というか、ダブルクォートは中身を命令として実行し、
シングルクォートは中身を文字列として処理する。

全然違うぞ
902デフォルトの名無しさん (ワッチョイ 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用に書いてるの?
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)
909デフォルトの名無しさん (アウウィフ FF3b-uKDx)
2019/12/17(火) 13:41:59.97ID:rApV4krMF
shuffle! shuffle!
910デフォルトの名無しさん (ワッチョイ 62ad-I3wE)
2019/12/17(火) 14:23:19.78ID:ObjwLX/w0
>>908です
定義の最後の部分で戻り値を記述するのを忘れており
記述したら解決しました
911デフォルトの名無しさん (オイコラミネオ 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#のあってもいいよね
915デフォルトの名無しさん (オッペケ Srdf-f14Z)
2019/12/18(水) 22:01:10.07ID:LSlKy/12r
誤爆

みたいな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 とか
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}とかやると何やってるのか分かりづらいしなあ
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にも無い
なんで無いのか分からないほど便利な関数なのになんで無いんだ?
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:snKgfw1x0
>>919

>>914が言ってるのは単なる基数の変換じゃないよ
基数の変換はto_s, to_iに2~36までなら直接渡せるからそれで済ませることが多い
もっと大きい基数が必要になってもinjectやmapで簡単に変換可能だから
いくつかgemあるけど人気ない
922デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/19(木) 18:11:13.04ID:4hkxYlHE0
こういう基本的なものは、言語そのものに内蔵しないといけない
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くらいでそれは別途用意されてる
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
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"
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 は使えますか?
使えるならどうやれば良いですか?
930デフォルトの名無しさん (アウアウウー Sa5b-On3P)
2019/12/22(日) 13:15:06.84ID:dEobfqv4a
>>929
https://www.google.com/search?q=Ruby+on+Rails+で+SQLite+は使えますか?
931デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/22(日) 19:43:26.79ID:u+b66RrE0
SQLite, MySQL, PostgreSQL の、3大DB が使える!
MariaDB は知らないけど

ただし、SQLite は開発用専門で、本番では使えない!
932デフォルトの名無しさん (ワッチョイ 1f33-FZ5D)
2019/12/22(日) 22:51:56.37ID:bTmhsrle0
>>931
MariaDBもきっとだいたいだいじょうぶ。
まだまだMySQL互換だから。
933デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/22(日) 23:02:08.75ID:O05uH48x0
>>931
SQLiteはiPhoneで重要な機能を提供してるのも知らないの?w
934デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/23(月) 00:32:47.68ID:U5hT/i5g0
>>931 >>932
ドライバーが提供されてればMariaDBに限らずどのRDBでも使えるぞ

>>933
SQLiteは高い並行性が求められるWebアプリには適さない
Rails用のDBという文脈では>>931のSQLiteに対する認識は間違ってない
935デフォルトの名無しさん (オッペケ 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を使えばよい
937931 (ワッチョイ 9f2c-1ZZR)
2019/12/24(火) 03:27:44.81ID:3XzgnZW70
SQLite は、ブラウザがURL などを保存するのに使っている

ただ、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 )
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}
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" だと思ったのですが
944デフォルトの名無しさん (ワッチョイ b27d-tLCl)
2019/12/28(土) 14:35:53.34ID:AcwxZTaB0
# ~n == -n-1
~0b1010 = -0b1010-1 = -0b1011
945デフォルトの名無しさん (ワッチョイ 62ad-pk5L)
2019/12/28(土) 14:44:44.17ID:TvplFsgk0
>>944
そもそものビット反転の定義を知らずに悩んでました
ご回答ありがとうございました
946デフォルトの名無しさん (オッペケ Sr88-ieRt)
2019/12/28(土) 15:59:19.72ID:IyT0aSo9r
>>945
~(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
948デフォルトの名無しさん (ワッチョイ f12d-vQnI)
2019/12/28(土) 16:13:08.13ID:VPT4/FzX0
QiitaかHatenaでやれ
949デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/28(土) 16:23:21.64ID:b3ohKRMf0
>>947
じゃ
1111 1111 1111 1111 1111 1111 1111 1111
を反転させると?
950デフォルトの名無しさん (ワッチョイ 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:b3ohKRMf0
>>950
残念!

pry> ? Integer#~
or
irb> help ‘Integer#~’
952デフォルトの名無しさん (ワッチョイ 4d14-K2lL)
2019/12/28(土) 16:49:11.58ID:lWCFWx/Q0
>>951
今は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 と言えるのか
954デフォルトの名無しさん (ワッチョイ 62ad-pk5L)
2019/12/28(土) 18:00:57.41ID:TvplFsgk0
Rubyとは全く関係ない質問になって申し訳ない
955デフォルトの名無しさん (アウアウエー Sa6a-7jO3)
2019/12/28(土) 20:50:34.75ID:q2Ylf9qja
有明セントラルタワー

痰吐きジジィのチンポが18階の(どこの島かは言わないよ)20代の女の娘のオマンコに
入って行くウゥウウウーーー!
Ruby 初心者スレッド Part 65 	YouTube動画>11本 ->画像>3枚
956デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/28(土) 21:36:45.32ID:b3ohKRMf0
>>952
予想外の言い訳でワロタww
957デフォルトの名無しさん (ワッチョイ b27d-tLCl)
2019/12/28(土) 23:39:23.63ID:AcwxZTaB0
>>953
2補数の符号反転は
-n == ~n + 1
だから
~n == -n - 1
# 上だけ覚えれば十分
958デフォルトの名無しさん (ワッチョイ 8e14-K2lL)
2019/12/28(土) 23:49:13.11ID:u9ordgE/0
補数表現には2の補数と1の補数があるって知らないのかな?
補数表現とだけじゃどちらかわからんだろ

それに反転はそのままビットを反転しただけのこと
これは1の補数表現と等しい
ビットを反転させるだけなんだからマイナスとか関係ない
マイナスが出てくるのは2の補数表現の話だけ
959デフォルトの名無しさん (アウアウエー Sa6a-v1fK)
2019/12/29(日) 00:43:56.25ID:jG5lme5Ea
どうせ知らないと思うけど
10の補数も9の補数も8の補数もあるぞ
960デフォルトの名無しさん (アウアウエー Sa6a-v1fK)
2019/12/29(日) 00:46:58.08ID:jG5lme5Ea
>マイナスが出てくるのは2の補数表現の話だけ

違う
それは君が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
ふつうか?ホントか?
963◆QZaw55cn4c (ワッチョイ ea47-7AkR)
2019/12/29(日) 11:49:53.70ID:yqbBnK7b0
>>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とかおまいら使ってないやろ
966デフォルトの名無しさん (アウアウエー Sa6a-fJ/L)
2019/12/29(日) 14:51:01.25ID:qJvaFsYpa
IP のチェックサム -- 1の補数演算
http://4049.nwr.jp/comp/ip_csum.html
967デフォルトの名無しさん (ワイーワ2 FF7a-v1fK)
2019/12/30(月) 11:12:31.07ID:WAqdspciF
1の補数があまり使われない理由は
計算が面倒なんじゃなくて
0が+-二つあるのがもったいないからって理由だっけ
968デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/30(月) 14:31:59.58ID:w8cwRlld0
>>967
0が2つあるから循環桁上りの考慮が必要
その考慮がいらない2の補数のほうがALUがシンプルになるから
969デフォルトの名無しさん (ワッチョイ 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でエクセルのテンプレートを編集したく

そこで、特定のセルをコピーして特定のセルに貼り付ける
操作を行いたいのですが、ネットで検索しても全くヒットせず
有識者のかたいらっしゃれば、ご教授いただけましたら幸いです。。
972デフォルトの名無しさん (ワッチョイ ae2c-fJ/L)
2019/12/31(火) 20:20:29.97ID:ozxOKIBe0
Ruby で、Excel, Libre Office とか、やってる人いるの?

漏れは、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 を書きません!
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でぐぐればやり方はなんとかなると思う
976デフォルトの名無しさん (ワッチョイ c2a5-s4wZ)
2020/01/01(水) 10:46:50.28ID:zZ41nBr+0
本当にxmlでやりたいんなら

まずはxmlの拡張子をzipにして解凍して
それっぽい本体のxmlファイルを探し出して
テキストファイルで開いて見てみる

こりゃーRubyは関係ないな
977デフォルトの名無しさん (アウウィフ FFa5-p4uH)
2020/01/01(水) 11:27:28.59ID:tqBP4ADqF
ぶっちゃけ質問者の利益を最優先で回答すると
python で win32com 使うのが最善解
978デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/01(水) 12:18:16.48ID:06rhhv4Sa
PythonではWindowsにも人権があるからな
本人が今後辛い思いをしないためにも、はっきり言うよ
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使ったほうが簡単
981デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2020/01/01(水) 15:12:15.44ID:DUq05mSq0
VBAの代わりに使うようなクライアントサイドの用途なら
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:mlJgbHp20
>>981
Excelでちょっと始めて、データが大きくなってきたら、そのままpandasに移行。
もう勝ち目ないな。
984デフォルトの名無しさん (ブーイモ MMb6-zmFY)
2020/01/02(木) 02:30:30.13ID:rEYXT5csM
>>983
ExcelとPandasの用途の違いも分からないのかw

最近のpython推しは低脳ばっかだなw
985デフォルトの名無しさん (ワッチョイ 2ed3-9wJp)
2020/01/02(木) 08:11:50.12ID:zXXNv/DU0
>>979
随分まえからCygWinでこの村には出入りしとるが
なーんも面白いもんなんか無いぞ?
986デフォルトの名無しさん (ワッチョイ 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の方が最適化できるだろうし
989デフォルトの名無しさん (ワッチョイ ed68-YCNF)
2020/01/03(金) 13:33:30.46ID:/EnEVvpc0
どっちでいいよ。
使いやすければ。

個人的には、どっちもあんまりだけどな!
990デフォルトの名無しさん (ワッチョイ 6265-oRfB)
2020/01/03(金) 17:45:42.37ID:e4Snrs1J0
>>987
Methodクラスがあるよ
991デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 19:11:50.30ID:+RiBlMC+r
>>990
Methodクラスのオブジェクトはメソッドじゃないぞ
992デフォルトの名無しさん (ワッチョイ 6265-oRfB)
2020/01/03(金) 20:21:33.31ID:e4Snrs1J0
>>991
それがどうしたの?

Methodクラスのインスタンス(=オブジェクト)は
メソッドとして扱うことができる
993デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 20:24:39.88ID:+RiBlMC+r
>>992
>>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    (* 結果は同じ *)
995デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 20:45:58.77ID:+RiBlMC+r
>>986「rubyって全てがオブジェクトなところがいいですよね」
>>987「メソッドはオブジェクトじゃないぞ」
>>990「Methodクラスがあるよ」 ←は?
>>991「Methodクラスのオブジェクトはメソッドじゃないぞ」
>>992「それがどうしたの?」 ←は?は?は?

マジで意味不明だわコイツ
馬鹿すぎる
996デフォルトの名無しさん (ワッチョイ 6265-oRfB)
2020/01/03(金) 21:03:06.07ID:e4Snrs1J0
>>993
間違っているという指摘、そのものが誤りだということ

モダンな関数型言語において、すべての値(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は偶数だろ」
ってやりとりに文句付けてるのと一緒だからなお前
1000デフォルトの名無しさん (オッペケ Srf1-hZl1)
2020/01/03(金) 21:11:59.61ID:+RiBlMC+r
1000
ニューススポーツなんでも実況



lud20251007150925ca

ID:kT5P2hJJ0のレス一覧:


873デフォルトの名無しさん (ワッチョイ 3333-a70H)
2019/11/24(日) 04:46:27.73ID:kT5P2hJJ0
給料だけでもないやろ。
つーか、どうでもいいから。んな話は。
874デフォルトの名無しさん (ワッチョイ f98f-Sa3v)
2019/11/24(日) 15:33:55.35ID:Gqvqz24c0
要件定義、外部設計を受注できるプライマリの
会社に行かないと高収入はないよ。
内部設計、プログラミングは下流工程だから下請けに流される。

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兆円企業になってる!
877デフォルトの名無しさん (ワッチョイ 139c-rLNN)
2019/11/25(月) 04:07:09.54ID:gVPe0v4t0
>>876
日本のIT企業はほぼ国内事業しかやってないし
規模も小さいからどうしても時価総額は上がらないんだろうね
あと大したことやってない
878デフォルトの名無しさん (ワイーワ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%程度に過ぎない
キチガイの目に映る世界と実態の間にはは大きな乖離があることがわかるだろう
880デフォルトの名無しさん (ワッチョイ f914-6o6Z)
2019/11/25(月) 17:19:36.92ID:vZmdeQAZ0
まあ利益出してるところじゃなくて"売上"というのなら、
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 チームか
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 の書き方だけができる、ライブラリ・フレームワークはないの?
884デフォルトの名無しさん (ワッチョイ 1214-Sv7j)
2019/11/30(土) 07:04:52.88ID:WKFbtD9B0
>>883
なんか面白そうだね?
どういう事?
885883 (ワッチョイ 922c-Ql8R)
2019/11/30(土) 09:10:10.03ID:HbGyzSLF0
環境の構築テストなどを、すごく簡潔に、宣言っぽく書いている

例えば、ファイル・ディレクトリなどを作る場合でも、エラー処理もなく、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人は、株式会社ルビキタスにも所属している
888デフォルトの名無しさん (ワッチョイ 12a5-dfs3)
2019/12/03(火) 09:08:31.07ID:I9YoNGrF0
義務教育にrubyが組み込まれなかった時点でrubyは終わりだろ
ポジション取られたのが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'
890デフォルトの名無しさん (オッペケ Src1-8zr5)
2019/12/05(木) 09:19:26.64ID:wT3fRGGOr
windowsで-e の後にシングルクォーテーション使ってるからでしょ

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'
なら問題ない
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に渡る際に、どう変換されるのか?

そのカリクリを知りたい
893デフォルトの名無しさん (アウウィフ FFa9-MVf8)
2019/12/05(木) 10:57:49.63ID:IbmhSLeWF
WSL使え

あるいは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ははるかにまともで現代的。
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
898デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/06(金) 10:14:28.56ID:uUae0oO6F
pythonは””も’’も意味一緒だが
rubyは””と''は微妙に意味違うよな
899デフォルトの名無しさん (ワイーワ2 FF93-MVf8)
2019/12/06(金) 10:16:15.68ID:uUae0oO6F
'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
と出力された!
901デフォルトの名無しさん (アウアウウー Saa9-LXAx)
2019/12/06(金) 20:18:06.92ID:nE0DnhAQa
>>898
微妙というか、ダブルクォートは中身を命令として実行し、
シングルクォートは中身を文字列として処理する。

全然違うぞ
902デフォルトの名無しさん (ワッチョイ 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用に書いてるの?
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)
909デフォルトの名無しさん (アウウィフ FF3b-uKDx)
2019/12/17(火) 13:41:59.97ID:rApV4krMF
shuffle! shuffle!
910デフォルトの名無しさん (ワッチョイ 62ad-I3wE)
2019/12/17(火) 14:23:19.78ID:ObjwLX/w0
>>908です
定義の最後の部分で戻り値を記述するのを忘れており
記述したら解決しました
911デフォルトの名無しさん (オイコラミネオ 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#のあってもいいよね
915デフォルトの名無しさん (オッペケ Srdf-f14Z)
2019/12/18(水) 22:01:10.07ID:LSlKy/12r
誤爆

みたいな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 とか
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}とかやると何やってるのか分かりづらいしなあ
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にも無い
なんで無いのか分からないほど便利な関数なのになんで無いんだ?
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:snKgfw1x0
>>919

>>914が言ってるのは単なる基数の変換じゃないよ
基数の変換はto_s, to_iに2~36までなら直接渡せるからそれで済ませることが多い
もっと大きい基数が必要になってもinjectやmapで簡単に変換可能だから
いくつかgemあるけど人気ない
922デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/19(木) 18:11:13.04ID:4hkxYlHE0
こういう基本的なものは、言語そのものに内蔵しないといけない
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くらいでそれは別途用意されてる
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
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"
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 は使えますか?
使えるならどうやれば良いですか?
930デフォルトの名無しさん (アウアウウー Sa5b-On3P)
2019/12/22(日) 13:15:06.84ID:dEobfqv4a
>>929
https://www.google.com/search?q=Ruby+on+Rails+で+SQLite+は使えますか?
931デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/22(日) 19:43:26.79ID:u+b66RrE0
SQLite, MySQL, PostgreSQL の、3大DB が使える!
MariaDB は知らないけど

ただし、SQLite は開発用専門で、本番では使えない!
932デフォルトの名無しさん (ワッチョイ 1f33-FZ5D)
2019/12/22(日) 22:51:56.37ID:bTmhsrle0
>>931
MariaDBもきっとだいたいだいじょうぶ。
まだまだMySQL互換だから。
933デフォルトの名無しさん (ワッチョイ d714-TY+5)
2019/12/22(日) 23:02:08.75ID:O05uH48x0
>>931
SQLiteはiPhoneで重要な機能を提供してるのも知らないの?w
934デフォルトの名無しさん (ワッチョイ 9f01-pdcM)
2019/12/23(月) 00:32:47.68ID:U5hT/i5g0
>>931 >>932
ドライバーが提供されてればMariaDBに限らずどのRDBでも使えるぞ

>>933
SQLiteは高い並行性が求められるWebアプリには適さない
Rails用のDBという文脈では>>931のSQLiteに対する認識は間違ってない
935デフォルトの名無しさん (オッペケ 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を使えばよい
937931 (ワッチョイ 9f2c-1ZZR)
2019/12/24(火) 03:27:44.81ID:3XzgnZW70
SQLite は、ブラウザがURL などを保存するのに使っている

ただ、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 )
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}
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" だと思ったのですが
944デフォルトの名無しさん (ワッチョイ b27d-tLCl)
2019/12/28(土) 14:35:53.34ID:AcwxZTaB0
# ~n == -n-1
~0b1010 = -0b1010-1 = -0b1011
945デフォルトの名無しさん (ワッチョイ 62ad-pk5L)
2019/12/28(土) 14:44:44.17ID:TvplFsgk0
>>944
そもそものビット反転の定義を知らずに悩んでました
ご回答ありがとうございました
946デフォルトの名無しさん (オッペケ Sr88-ieRt)
2019/12/28(土) 15:59:19.72ID:IyT0aSo9r
>>945
~(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
948デフォルトの名無しさん (ワッチョイ f12d-vQnI)
2019/12/28(土) 16:13:08.13ID:VPT4/FzX0
QiitaかHatenaでやれ
949デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/28(土) 16:23:21.64ID:b3ohKRMf0
>>947
じゃ
1111 1111 1111 1111 1111 1111 1111 1111
を反転させると?
950デフォルトの名無しさん (ワッチョイ 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:b3ohKRMf0
>>950
残念!

pry> ? Integer#~
or
irb> help ‘Integer#~’
952デフォルトの名無しさん (ワッチョイ 4d14-K2lL)
2019/12/28(土) 16:49:11.58ID:lWCFWx/Q0
>>951
今は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 と言えるのか
954デフォルトの名無しさん (ワッチョイ 62ad-pk5L)
2019/12/28(土) 18:00:57.41ID:TvplFsgk0
Rubyとは全く関係ない質問になって申し訳ない
955デフォルトの名無しさん (アウアウエー Sa6a-7jO3)
2019/12/28(土) 20:50:34.75ID:q2Ylf9qja
有明セントラルタワー

痰吐きジジィのチンポが18階の(どこの島かは言わないよ)20代の女の娘のオマンコに
入って行くウゥウウウーーー!
Ruby 初心者スレッド Part 65 	YouTube動画>11本 ->画像>3枚
956デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/28(土) 21:36:45.32ID:b3ohKRMf0
>>952
予想外の言い訳でワロタww
957デフォルトの名無しさん (ワッチョイ b27d-tLCl)
2019/12/28(土) 23:39:23.63ID:AcwxZTaB0
>>953
2補数の符号反転は
-n == ~n + 1
だから
~n == -n - 1
# 上だけ覚えれば十分
958デフォルトの名無しさん (ワッチョイ 8e14-K2lL)
2019/12/28(土) 23:49:13.11ID:u9ordgE/0
補数表現には2の補数と1の補数があるって知らないのかな?
補数表現とだけじゃどちらかわからんだろ

それに反転はそのままビットを反転しただけのこと
これは1の補数表現と等しい
ビットを反転させるだけなんだからマイナスとか関係ない
マイナスが出てくるのは2の補数表現の話だけ
959デフォルトの名無しさん (アウアウエー Sa6a-v1fK)
2019/12/29(日) 00:43:56.25ID:jG5lme5Ea
どうせ知らないと思うけど
10の補数も9の補数も8の補数もあるぞ
960デフォルトの名無しさん (アウアウエー Sa6a-v1fK)
2019/12/29(日) 00:46:58.08ID:jG5lme5Ea
>マイナスが出てくるのは2の補数表現の話だけ

違う
それは君が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
ふつうか?ホントか?
963◆QZaw55cn4c (ワッチョイ ea47-7AkR)
2019/12/29(日) 11:49:53.70ID:yqbBnK7b0
>>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とかおまいら使ってないやろ
966デフォルトの名無しさん (アウアウエー Sa6a-fJ/L)
2019/12/29(日) 14:51:01.25ID:qJvaFsYpa
IP のチェックサム -- 1の補数演算
http://4049.nwr.jp/comp/ip_csum.html
967デフォルトの名無しさん (ワイーワ2 FF7a-v1fK)
2019/12/30(月) 11:12:31.07ID:WAqdspciF
1の補数があまり使われない理由は
計算が面倒なんじゃなくて
0が+-二つあるのがもったいないからって理由だっけ
968デフォルトの名無しさん (ワッチョイ 0c01-PaHz)
2019/12/30(月) 14:31:59.58ID:w8cwRlld0
>>967
0が2つあるから循環桁上りの考慮が必要
その考慮がいらない2の補数のほうがALUがシンプルになるから
969デフォルトの名無しさん (ワッチョイ 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でエクセルのテンプレートを編集したく

そこで、特定のセルをコピーして特定のセルに貼り付ける
操作を行いたいのですが、ネットで検索しても全くヒットせず
有識者のかたいらっしゃれば、ご教授いただけましたら幸いです。。
972デフォルトの名無しさん (ワッチョイ ae2c-fJ/L)
2019/12/31(火) 20:20:29.97ID:ozxOKIBe0
Ruby で、Excel, Libre Office とか、やってる人いるの?

漏れは、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 を書きません!
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でぐぐればやり方はなんとかなると思う
976デフォルトの名無しさん (ワッチョイ c2a5-s4wZ)
2020/01/01(水) 10:46:50.28ID:zZ41nBr+0
本当にxmlでやりたいんなら

まずはxmlの拡張子をzipにして解凍して
それっぽい本体のxmlファイルを探し出して
テキストファイルで開いて見てみる

こりゃーRubyは関係ないな
977デフォルトの名無しさん (アウウィフ FFa5-p4uH)
2020/01/01(水) 11:27:28.59ID:tqBP4ADqF
ぶっちゃけ質問者の利益を最優先で回答すると
python で win32com 使うのが最善解
978デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/01(水) 12:18:16.48ID:06rhhv4Sa
PythonではWindowsにも人権があるからな
本人が今後辛い思いをしないためにも、はっきり言うよ
Ruby村では、 ド ザ に 人 権 は な   い
出 て い け

レス:1-200 201-400 401-600 601-800 801-1000 ALL

このスレへの固定リンク: http://5chb.net/r/tech/1545421414/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「Ruby 初心者スレッド Part 65 YouTube動画>11本 ->画像>3枚 」を見た人も見ています:
【サブキャラ】自称初心者観察スレッドPart14【詐欺】
【投資一般板】 初心者質問スレッド Part46
パソコン初心者総合質問スレッド Part1899
【MHW】モンスターハンターワールド 初心者スレpart16
【新馬】ウマ娘プリティーダービー初心者スレ Part85
【新馬】ウマ娘プリティーダービー初心者スレ Part66
【プロスピ】プロ野球スピリッツA初心者スレpart325
【サミー】ディスクアップ/ZS 初心者質問スレ その3【コテ禁止】
【超ド】120切りを目指すスレpart17【初心者】
【MHW】モンスターハンターワールド 初心者スレpart14
【新馬】ウマ娘プリティーダービー初心者スレ Part84
【新馬】ウマ娘プリティーダービー初心者スレ Part81
【新馬】ウマ娘プリティーダービー初心者スレ Part111
【プロスピ】プロ野球スピリッツA初心者スレ part184
【プロスピ】プロ野球スピリッツA初心者スレ part197
【プロスピ】プロ野球スピリッツA初心者スレpart322
【新バ】ウマ娘プリティーダービー初心者スレ Part147
【新バ】ウマ娘プリティーダービー初心者スレ Part143
【初心者】ダイエット質問・相談スレPart248
【PS4/XB1/Switch】APEX LEGENDS エーペックスレジェンズ初心者スレPart91【転載禁止】
人狼ジャッジメント初心者スレ part2
【初心者】洗車~ワックスがけ情報【大歓迎】Part160
Lenovo ZUK シリーズ 初心者スレ Part.5
人狼ジャッジメント初心者スレ part1
YouTube初心者スレ 収益化 跳躍編 Part.39
【LoL】League of Legends 初心者スレ Part369
【LoL】League of Legends 初心者スレ Part415
【LoL】League of Legends 初心者スレ Part186
【LoL】League of Legends 初心者スレ Part432
【LoL】League of Legends 初心者スレ Part394
【MLB】パドレス、佐々木朗希獲得へ シルト監督が猛アピール「球団初の世界一の歴史を」 ダルビッシュ有、松井裕樹も所属 [冬月記者★]
宝塚初心者質問スレッド〜Part71
【初心者】コブ低級スレッド12【性格悪】
【LoL】League of Legends 初心者スレ Part358
【LoL】League of Legends 初心者スレ Part434
【LoL】League of Legends 初心者スレ Part258
【LoL】League of Legends 初心者スレ Part285
【LoL】League of Legends 初心者スレ Part276
【初心者】洗車~ワックスがけ情報【大歓迎】Part144
【初心者】洗車~ワックスがけ情報【大歓迎】Part141
【IT】TensorflowやPythonの基礎が学べる――初心者向け「AIプログラム学習キット」が発売
【サッカー】「前代未聞すぎ」 浅草のパチンコ店にバルサ&レアルのレジェンド選手が“業界初”の来店 「3~4人来店」予告に騒然 [冬月記者★]
【新バ】ウマ娘プリティーダービー初心者スレ Part152
【PS4/XB1/Switch】APEX LEGENDS エーペックスレジェンズ初心者スレPart108【転載禁止】
【初心者】ダイエット質問・相談スレPart225
【投資一般板】 初心者質問スレッド Part69
【初心者】スレッド立てる前に質問をPart44歓迎】
youtube初心者スレ収益化 飛躍編part10
youtube初心者スレ収益化 跳躍編part26
セキュリティ初心者質問スレッド Part147
セキュリティ初心者質問スレッド Part141
◆◆園芸初心者質問スレッド PART95◆◆
【初心者】ダイエット質問・相談スレPart229
【初心者】ダイエットの質問・相談スレPart159
【PS4/XB1/Switch】APEX LEGENDS エーペックスレジェンズ初心者スレPart100【転載禁止】
【プロスピ】プロ野球スピリッツA初心者スレpart67
【プロスピ】プロ野球スピリッツA初心者スレpart117
【プロスピ】プロ野球スピリッツA初心者スレ part59
【プロスピ】プロ野球スピリッツA初心者スレpart109
【プロスピ】プロ野球スピリッツA初心者スレ part225
【新馬】ウマ娘プリティーダービー初心者スレ Part27
【新馬】ウマ娘プリティーダービー初心者スレ Part86
【新バ】ウマ娘プリティダービー初心者スレ Part179
【新バ】ウマ娘プリティーダービー初心者スレ Part137
【MobA】vainglory初心者質問スレ ★Tier9
09:32:44 up 2 days, 18:38, 0 users, load average: 28.15, 23.78, 23.44

in 0.04944109916687 sec @[email protected] on 100722