X



Ruby 初心者スレッド Part 67

0001デフォルトの名無しさん (ワッチョイ b72c-yePO)
垢版 |
2020/12/25(金) 04:24:27.68ID:aa9Khe9z0
プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ

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

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

るりまサーチ (リファレンス検索)
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
0314デフォルトの名無しさん (エムゾネ FFbf-hED7)
垢版 |
2021/09/23(木) 12:52:09.43ID:7tGJmFKPF
rubyのglobってなんでこの名前なんですか?語源というか理由は?
0315デフォルトの名無しさん (エムゾネ FFbf-hED7)
垢版 |
2021/09/23(木) 12:53:36.67ID:7tGJmFKPF
>>313
SSDの方が寿命速い説?
0318デフォルトの名無しさん (ワッチョイ b2cb-zD50)
垢版 |
2021/09/26(日) 02:01:31.29ID:a7XkizLe0
人に迷惑をかけるのはしょうがない
でも
自分のことを棚にあげたら
地獄だよ
0319デフォルトの名無しさん (ワッチョイ 162c-pveB)
垢版 |
2021/09/26(日) 22:14:40.89ID:5RNiLxHe0
>>310
基本的に、読み込み用ファイルに書き込まないようにすべき。
io.seek で使う、ファイルポインターがずれる

例えば、配列でも同じ。
読み込み用配列を読み込みながら、
読み込み要素の前後に、要素を追加・削除すると、要素がずれるのでバグる

基本、同一ファイルじゃなく、入力用・出力用の2つが必要。
それか、データベースでやるとか

シェルスクリプトとか、関数型のElixir のパイプラインみたいに、
元のファイルを更新せずに、次々と出力ファイルを新規作成していくべき

処理A | B | C

他には、処理を分けられるなら、分けた方がよい

普通、バッファリング無しのモードは、
ユーザーの入力を待つような場合に、端末で使うもの。
こういうバックグラウンド処理では使わない

例えば、1回のシステムコールで、1000バイトの読み書きできるのに、
バッファリング無しなら、1000回もシステムコールを呼ぶから、処理時間が千倍になる

バッファリングとは、システムコールする回数を減らすために、
ある程度データが溜まるのを待ってから、処理を行うものだから
0321デフォルトの名無しさん (ワッチョイ 162c-pveB)
垢版 |
2021/09/28(火) 14:07:16.12ID:yeB6oI220
ファイルパスから簡単に、ディレクトリ名だけを取り出す方法がありますか?
今は、下のようにやっています

file_path = "C:/Users/Owner/Documents/test/a.txt"

p dir_path = File.dirname( file_path ) # ディレクトリパスを取り出す
#=> "C:/Users/Owner/Documents/test"

p dir_name = File.basename( dir_path )
#=> "test"
0322デフォルトの名無しさん (エムゾネ FF32-kEnG)
垢版 |
2021/09/28(火) 14:19:10.90ID:nD0g4rLvF
file_path = "C:/Users/Owner/Documents/baka.test/a.txt"
0329デフォルトの名無しさん (ワッチョイ 92ad-qcFi)
垢版 |
2021/09/30(木) 22:37:54.54ID:Q+Yf9LrK0
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
0330デフォルトの名無しさん (アウアウウー Sa27-jOtc)
垢版 |
2021/10/01(金) 04:21:27.55ID:YSb3+a7ia
>バージョン互換の低さ、信頼性の低さを考えたら、プロジェクトとして使いにくい

googleのAPIのことですか?
0331デフォルトの名無しさん (テテンテンテン MM7f-gMXQ)
垢版 |
2021/10/01(金) 09:11:32.55ID:Bf6uh555M
プログラミング言語のシェア的にはdistroless対応の優先順位は極めて妥当
残念だけどもう昔のような人気言語じゃないんだよ、、、
ttps://insights.stackoverflow.com/survey/2021#technology-most-popular-technologies
0333デフォルトの名無しさん (ワッチョイ cf2c-ZYQJ)
垢版 |
2021/10/01(金) 10:34:29.22ID:PaEGpo5A0
AWS Lambda には、Ruby もある

Chef, Cookpad 製のItamae, AWS CloudFormation のKumogata2 もある。
まあ、Terraform のシェアが高くなったけど

Vagrant の作者・ワシントン大学の学生で、今世紀最大の起業家・
HashiCorp の創業者・Ruby/Go の神・Mitchell Hashimoto も、
今は、Goへ行ってしまった

Goプログラマーを募集中

YouTube で有名な、雑食系エンジニア・KENTA のサロンでも、
Ruby on Rails → Go のキャリアパスを推奨している

PHP は、一生やらなくても良い。
新規の仕事が無いから、給料が上がらない。
保守要員は、給料が低いから

KENTAは常に、給料が高い新規プロジェクトを推奨している
0334デフォルトの名無しさん (ワッチョイ 9eda-exDs)
垢版 |
2021/10/10(日) 15:27:42.39ID:QuuYHTx70
pp dmy={"VERSION"=>RUBY_VERSION, "ARGV"=>ARGV, "Dir.pwd"=>Dir.pwd}
でdmy=を消すと
Dir.pwdの . でエラーになっちゃうんですけど
syntax error, unexpected '.', expecting `end'
pp(puts)+hashのリテラルでうまい書き方ないんですか
0337デフォルトの名無しさん (ワッチョイ 6e89-4csN)
垢版 |
2021/10/10(日) 18:30:23.02ID:bTjCEmsH0
classが全く理解できない。1日掛けても理解できない。俺は向いてないのか。。。
0338デフォルトの名無しさん (ワッチョイ b301-RCSg)
垢版 |
2021/10/10(日) 20:30:34.61ID:osHZfZYe0
Rubyのclassはそれ自身がオブジェクトだからねえ。
0339デフォルトの名無しさん (ワッチョイ de2c-GJBa)
垢版 |
2021/10/10(日) 20:55:11.50ID:lB7MFpHR0
クラスの型紙を元に実体化させたものが、インスタンス。
クラス自体を変化させたものが、特異クラス

ここで、インスタンスと特異クラスの継承チェーンを考えてみる

最終的にメソッド探索チェーンは、直線になる必要がある。
それで継承チェーンに、インスタンスと特異クラスが順序よく割り込んでくる

インスタンスに無ければ、特異クラスで探す。
特異クラスにも無ければ、継承チェーンを遡って、親クラスのインスタンスで探す。
そこでも見つからなければ、親クラスの特異クラスで探す

みたいに、継承チェーンをドンドン遡っていく
0342デフォルトの名無しさん (ワッチョイ 4699-ANkw)
垢版 |
2021/10/10(日) 21:36:30.35ID:kKlMir+m0
338と339は新人が来てもこの調子なんだろうなぁ
0343デフォルトの名無しさん (ブーイモ MM76-NeHw)
垢版 |
2021/10/10(日) 22:52:57.48ID:fsOtTZslM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
0344デフォルトの名無しさん (ワッチョイ 6b5c-JSxF)
垢版 |
2021/10/12(火) 00:48:53.92ID:Ihqyo7Sc0
地獄は怖いよ
0347デフォルトの名無しさん (ワッチョイ 65bb-WU2P)
垢版 |
2021/10/24(日) 12:07:05.65ID:xDtz/yW60
「Ruby」という商標についてなんですが
Rubyは同名の商標が多数登録されていますが、問題になった話を聞いたことがありません
他の言語も同様です
なぜ問題にならないんですか?
0354デフォルトの名無しさん (ワッチョイ f535-Wpxk)
垢版 |
2021/11/06(土) 19:23:11.48ID:NiwSrOA00
>>297

リブラハック事件を念頭に置いて居るのだと思います。
法的リスクを回避する方法はありません。

事業を行うのであれば、あるいは人生を送る以上法的リスクは常にあります。

入門書に記載出来る話ではないです。

リブラハック事件は、不起訴処分となってますが、20日間の勾留となりました。

余談ですが、旧7帝大卒、上場企業所属の場合、余程のことがない限り法的リスクは回避できます。
0355デフォルトの名無しさん (ワッチョイ f535-Wpxk)
垢版 |
2021/11/06(土) 19:27:41.07ID:NiwSrOA00
>>350

中小企業で知財を担当してますが、常に訴訟してます。
業務妨害罪で争ったことはありませんが、模造品による損害賠償事件はチョッ中です。
0356デフォルトの名無しさん (ワッチョイ f535-Wpxk)
垢版 |
2021/11/06(土) 19:31:11.06ID:NiwSrOA00
>>355

ちなみに、事件ばかり担当すると会社の仕事は超楽です。
裁判期日は多くても2ヶ月に1回だからです。
社内では、暇なおじさんと思われてます。

だから、プログラミング好きには知財は天国です。
まあ、会社によるのかもしれません。
0357デフォルトの名無しさん (ワッチョイ 062c-iAR7)
垢版 |
2021/11/19(金) 07:32:40.55ID:UZar/UR10
Ruby on Rails 製のGitLab の時価総額が、1.9 兆円だって!
0359デフォルトの名無しさん (ワッチョイ 9f01-Z6Z9)
垢版 |
2021/12/07(火) 11:50:44.28ID:sVKUttQ/0
ガチでヌーブなんですけどrequestsとbeautifulsoupでスクレイピングやってます
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?
0361デフォルトの名無しさん (ワッチョイ 9101-kiOO)
垢版 |
2021/12/07(火) 23:29:07.13ID:JKy0RWKD0
botからのアクセスはどこのサイトも来まくってるから、スクレイピングを気にするかは分からないけど、
waitを5秒とかいれとけば。

クレカ明細をスクレイピングしようとしてたら403になって数時間アクセス出来なくなったよ
0362デフォルトの名無しさん (ワッチョイ be2c-TeJl)
垢版 |
2021/12/17(金) 21:31:46.70ID:tWB5K5S10
David Heinemeier Hansson(DHH), 2021/12/16

Rails 7: The Demo
https://www.youtube.com/watch?v=mpWFrUwAN88

もう、Rails 7.0.0.rc1 か。
Ruby 3.0.3
0364デフォルトの名無しさん (ワッチョイ df01-dXQO)
垢版 |
2022/01/09(日) 01:26:06.08ID:wKoMs7Y50
そいつは、>1 のテンプレをしょっちゅう改変している、テンプレ改変荒らし。
基本的に、ソースコードを書かない香具師は荒らし

「Ruby, Rails, クソチョン」などを、NGワード登録推奨とか、
自分が有利なように、いつもテンプレを改変する

荒らしがスレ主として、居座っているので、
まともな人がスレ立てして、テンプレも元に戻した方がよい

荒らしは必ず、短文で2回以上書き込む。
必ず、複数人がいるように見せかける
0365デフォルトの名無しさん (ワッチョイ 7ff0-dXQO)
垢版 |
2022/01/10(月) 00:21:27.01ID:MINWORCd0
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538

ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた

基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理

Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている

これほど、良い教科書が揃っているフレームワークはない!

Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw

日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA
0366デフォルトの名無しさん (ワッチョイ 7f2d-acmQ)
垢版 |
2022/01/13(木) 11:23:57.64ID:hewkBnV10
wxrubyのインストールができません。

gem install wxrubyコマンドで
ERROR: Could not find a valid gem 'wxruby' (>= 0) in any repository
と出てインストールできないです。

バージョンはruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x64-mingw-ucrt]
0373デフォルトの名無しさん (ワッチョイ df84-WBrE)
垢版 |
2022/01/13(木) 19:22:50.06ID:ah8E1hap0
主に使おうとする道具の状態を確認しないのですか?
切れないハサミで紙を切ろうとするのですか?

どうしてもwxrubyを使うなら、せめてrbenvでも良いのでwxrubyが確実に動きそうなruby環境(Ruby 1.9.xぐらい)を用意したほうが賢明です。
あるいは、自分でwxWidgetsをRuby 3.xで動くように頑張ってbindingするか。

ちなみに、わたしはメンドクサクなって、wxWidgetsのcoreなところをRuby 2.7ぐらいでportingしている途中で放置したままです。
0378デフォルトの名無しさん (アウアウエー Sa52-6WVI)
垢版 |
2022/02/01(火) 11:03:45.45ID:erVefguva
Webrick 1.7.0 でドキュメントと異なった動作と、RFCで推奨されない通信が行われた場合にIOタイムアウトまで動作停止する問題を
発見しました(対処方法も特定済み)

報告方法どなたかご存じでしょうか?
0379デフォルトの名無しさん (アウアウウー Sa21-21ac)
垢版 |
2022/02/01(火) 15:03:45.59ID:nkHg0hKwa
>>374
スクレイピングに限らず、プログラムを動かす事による
アクセス回数と通信容量は気を付けたほうが良いよ

2chみたいにそれが多すぎたらしっかりとアク禁したり弾いたりしてくれるところはまだいいけど
無対策なサイトで管理人が対応できない人だったりすれば
プログラムによるアクセス制限の対応じゃなく法的な対応はありえる
0384デフォルトの名無しさん (アウアウエー Sadf-JWMU)
垢版 |
2022/02/06(日) 02:49:25.03ID:wRRLv8q1a
>>383
next(exit_value)
break(exit_value)
という構文があって、実行された時のブロックの戻り値が指定した引数の値になる

loop{ break }
=> nil

loop{ break 10 }
=> 10

[1,2,3,4].map do |num|
next 'even' if num.even?
num
end
=> [1, "even", 3, "even"]
0387デフォルトの名無しさん (ワッチョイ d75c-z7Dg)
垢版 |
2022/02/11(金) 05:43:01.01ID:kL9RKZ580
nokogiriでhtmlパースをしようと触っているのですが、
DOMの子要素から絞り込みはできないのでしょうか

document.xpath('//div[@class="main"]').each |node|
node.css('div')
↑これだとclass=mainの子要素全体が取れるのですが

node.xpath('//div[@class="target"]')
↑これだとDOM全体から取ってきてしまいます

node.search('//div[@class="target"]')
↑これも同様でした
0391デフォルトの名無しさん (ワッチョイ ff2c-2zGl)
垢版 |
2022/02/11(金) 15:10:34.09ID:901NTZe+0
一旦、ある要素を取得してから、その子孫要素に限定して、
さらに要素を取得していく事もできる

一旦、div.x を取得してから、その子孫内のdiv を取得する

doc = Nokogiri::HTML( <<EOT )
<html><body>
<div class="x"><div class="y"><div class="z"></div></div></div>
<div class="x"><div class="a"></div></div>
</body></html>
EOT

doc.xpath( '//div[@class="x"]' ).each do |x|
x.css( 'div' ).each do |div|
puts div.get_attribute( 'class' )
end
end

出力
y
z
a
0392デフォルトの名無しさん (ワッチョイ 37d9-zD41)
垢版 |
2022/02/11(金) 15:21:30.61ID:fEekYUc10
あーあ、やっちゃったね
スクレイピングに手を出したら逮捕されるよ
nokogiriもアンインストールしたほうがいい
0393391 (ワッチョイ ff2c-2zGl)
垢版 |
2022/02/11(金) 18:40:27.30ID:901NTZe+0
XPath よりも、CSS Selector の方が可読性も高く、簡単。
XPathを使う事は、ほぼ無い

ある属性を持った要素の親要素を取得するとか、かなり複雑なケースに限定される
0394デフォルトの名無しさん (ワッチョイ 6b2c-bfGZ)
垢版 |
2022/03/08(火) 08:30:39.25ID:uRRrzdTb0
配列内の要素の出現回数を求める

ary = [ 1, "a", 2, "b", "a", 1, "a" ]

p results = ary.each_with_object( Hash.new( 0 ) ){ |elem, hash| hash[ elem ] += 1 }
#=> { 1=>2, "a"=>3, 2=>1, "b"=>1 }

Ruby には、下のPython のcollections.Counter みたいな関数がありますか?

import collections

l = ['a', 'a', 'a', 'a', 'b', 'c', 'c']

c = collections.Counter(l)
print(c)
#=> Counter({'a': 4, 'c': 2, 'b': 1})

Rubyで、誰かが作ったものはあるけど
https://gist.github.com/cielavenir/501c0cf491e10d905d4307bdeb2596ea
0401デフォルトの名無しさん (スップ Sd7f-QrL3)
垢版 |
2022/05/01(日) 18:29:19.86ID:hArhlqjHd
rails6、ruby2.7を利用しています。
アクセスしてきたリクエストURLのパラメータに「#」が付いた際、paramsにパラメータが含まれてこないのですが、
この内容を取得するにはどうすれば良いでしょうか?
0407デフォルトの名無しさん (ワントンキン MM86-3X6i)
垢版 |
2022/05/25(水) 19:57:04.38ID:iXIMMJncM
rubyが1番初心者向け?
0412デフォルトの名無しさん (ワッチョイ d901-2OYr)
垢版 |
2022/05/29(日) 16:29:01.89ID:89z2cDQI0
フリーランス向けエージェント「クラウドテック」会員数8万人突破
〜働きやすい環境構築のため、単価向上・全年齢の活躍の場創出・
地方企業のDX推進の取り組みを強化します〜

フリーランスエンジニア専門の案件一括検索サイト「フリーランススタート」、
累計掲載案件数25万件突破!リモートワークの累計掲載案件数35,000件突破!

新規人材の80%がフルリモート希望! IT人材市況動向レポート2021年12月版を公開

人口移動報告 家賃高い、首都圏脱出 「コロナ禍、仕事フルリモート」

クラウドテック、地方企業向け『クラウドテックDX』を開始、
7万人を超えるDX人材が、地方の非IT企業のDX推進を支援

新潟県、移住してきたテレワーカー/フリーランスに最大50万円を支給

テレワークの一般化により、11月にはテレワーク可能案件83.7%へと増加。
2021年、フリーランスのトレンドは「移住&テレワーク」と予測
レスを投稿する


ニューススポーツなんでも実況