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


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

Ruby 初心者スレッド Part 62



1 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 00:35:29.31 ID:rLZHdQ3Q.net]
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で

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

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

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

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

620 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 14:56:29.62 ID:75dqQ4yg.net]
private methodを定義する時ってどう書くのが普通?

private def foo
__bar
end

def foo
__ bar
end
private :foo

# クラスの後ろにまとめて定義
private
def foo
__bar
end

621 名前:デフォルトの名無しさん [2017/12/26(火) 16:40:03.50 ID:pHnCZ49/.net]
自分の好きなタイミングで

622 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 17:17:14.64 ID:MQU8AiWM.net]
他人が読んで読みやすいとと思う書き方。

623 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 17:36:54.63 ID:Zhknjblq.net]
俺は後ろにまとめて書くようにしてる。
ついでに言うとprivateが連続した場合2個目以降のprivateは不要だが、パッと見て分かるように常に付けている。

最近は触って欲しくないメソッドはリファインメントを使うっていう手法を覚えたけど、これは異端なのか分からない。

624 名前:デフォルトの名無しさん [2017/12/26(火) 22:52:56.50 ID:pHnCZ49/.net]
アンチ息してる?
アンチスレ死亡してるみたいだけど

625 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 23:11:59.17 ID:Xx1508gc.net]
アンチスレ死亡させていいよ
存在価値無いし、ここで十分

626 名前:デフォルトの名無しさん mailto:sage [2017/12/26(火) 23:45:46.61 ID:p5HaZQjy.net]
そもそもRubyのprivateって実質的な強制力はほぼゼロでコメントとしての意味くらいしかないからな
そういう意味ではよほど小さなクラスを除けば全部に付けないとあまり意味ないんじゃないか

627 名前:デフォルトの名無しさん mailto:sage [2017/12/27(水) 01:21:36.89 ID:kb3Qecdj.net]
アンチがアンチスレの存在をすっごい嫌がってるのは、本スレで暴れたいからだろうな

だが、断る
アンチはあの過疎ったアンチスレへ帰るべきだ

628 名前:デフォルトの名無しさん mailto:sage [2017/12/27(水) 01:24:11.45 ID:Kn/lt9VX.net]
結局ここにアンチが来てなくても
アンチの話題をしたいわけなんだよな
もう病気だと思うよw



629 名前:デフォルトの名無しさん mailto:sage [2017/12/27(水) 01:24:47.07 ID:Kn/lt9VX.net]
アンチスレも定期的に見てるようだし

630 名前:589 mailto:sage [2017/12/27(水) 01:58:58.62 ID:u0gTyM9V.net]
>>589-592
自己レス

irb -E CP932

irb の起動時に、オプションを付けると、日本語文字列も正常になった

puts "あ"

Ruby は、Windows でも無敵やな!

631 名前:デフォルトの名無しさん [2017/12/27(水) 04:54:44.27 ID:vGbq0nNV.net]
>>601
人それぞれでいいと思うけど、自分はクラスの後ろにまとめて定義する派だね
ドキュメンテーションとしての可読性を重視し、あるクラス定義において
デフォは公開したいメソッドだけどキーワード private で宣言した以降の
セクションは非公開にしたいという意図がある

 class Klass
   公開したいメソッドの定義セクション
 private
   不公開なメソッドの定義セクション
 end

個別に宣言する private :foo を使うケースは、公開するつもりでクラスを設計したけど、
リファクタリングの過程で「このメソッドは非公開でもいいんじゃね?」と疑問を感じたら
private :foo を付けテストを流して実験するといった一時的なもの


>>607
確かに、メンバ変数のアクセス制限という概念が無く、全ての変数がpublicとして扱われるのよね
 https://qiita.com/nkennek/items/8c54365cb873cca8730a
 woodyring.blog.so-net.ne.jp/2013-05-25-1
ああ中途半端でめんどくさ

632 名前:デフォルトの名無しさん mailto:sage [2017/12/27(水) 14:38:59.95 ID:kb3Qecdj.net]
612は勘違いしてる
変数にpublicも糞も無い

633 名前:デフォルトの名無しさん mailto:sage [2017/12/27(水) 14:47:08.38 ID:K4eQH++r.net]
メンバ変数なんてない
インスタンス変数の事を言ってるならそもそもオブジェクトの外からはアクセスできない

634 名前:デフォルトの名無しさん [2017/12/28(木) 23:13:58.27 ID:zlcR2/4C.net]
みんな、デバッグはpで済ましてる?
それとも何かツール使ってる?

635 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 23:14:30.42 ID:AeGE7eie.net]
は? ppだろ

636 名前:デフォルトの名無しさん mailto:sage [2017/12/28(木) 23:18:20.87 ID:s+AqweGp.net]
自前でpryもどきを作ってbinding.hogeしてる

637 名前:デフォルトの名無しさん mailto:sage [2017/12/29(金) 02:26:20.85 ID:orHgNMeq.net]
awesome-print/awesome_print: Pretty print your Ruby objects with style -- in full color and with proper indentation
https://github.com/awesome-print/awesome_print

638 名前:デフォルトの名無しさん [2017/12/30(土) 03:43:26.25 ID:Codmlyj+.net]
最近、debug.rb知って使うようになったけど


pで間に合うデバッギングしかまだやってないんだよな



639 名前:540 mailto:sage [2017/12/30(土) 08:54:20.80 ID:M2I24uN0.net]
RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)は、Rubyのポータブル版の実行環境だった。
Ruby 2.4(x64)は9MB で、解凍すると56MB になった

これだけでも、ファイルI/O など、結構遊べる

デフォルトで、erb, irb, minitest, sinatra などが入っている。
RSpec は入っていないけど

先に、bundler gem を入れて、
VS Code の画面で、Ruby Solargraph という拡張機能を入れると、
solargraph gem がインストールされるので、VS Code で補完ができる

VS Code で、Ruby のデバック用の拡張機能を入れようとすると、
Windows のネイティブコードにコンパイルする必要があるから、
The MSYS2 DevKit を入れる必要がある。
これが、1.7GB もあるらしいので、入れない方が良い

1行ずつデバッグせず、p などで表示しながら作るのが良い

MSYS2 DevKit を入れない範囲で、プログラミングするのが簡単

640 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 13:51:43.29 ID:KgXg1sy3.net]
JSON::Stateの挙動がマニュアルと違うのですがこれはバグでしょうか
https://ideone.com/Nd2wBc
https://docs.ruby-lang.org/en/2.4.0/JSON.html

641 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 14:02:41.65 ID:8kEk1hAU.net]
あぁ、バグだろうな。
お前のバグだ

642 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:07:11.63 ID:KgXg1sy3.net]
英語が読めなかったんですね。すみませんでした
マニュアルには「コロンとコンマの区切りの後にspace:で指定した文字列がおかれる」と書いてあります

643 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:21:25.29 ID:9j+d+4sf.net]
space_before: だろ

644 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:22:43.33 ID:KgXg1sy3.net]
space_beforeはコロンの直前なので関係ありません

645 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 15:25:29.81 ID:9j+d+4sf.net]
リストだからじゃね

646 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 17:05:16.47 ID:20iing1R.net]
何しても`,'の後ろには入らないね
バグっていうよりマニュアルの不備なのかな

647 名前:デフォルトの名無しさん mailto:sage [2017/12/30(土) 17:25:46.52 ID:IKvN98q1.net]
,の後ろにスペース入れるのは一般的なフォーマットだから、常識的にはドキュメントの方が正しいでしょ
直してプルリク出せ

648 名前:デフォルトの名無しさん [2018/01/02(火) 13:03:30.40 ID:nZWiMujw.net]
明けおめ
今年初のRubyスレ書き込み



649 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:10:18.61 ID:Q+9WD3Xu.net]
新年からRailsを勉強中。環境はwin64 

<%= csrf_meta_tags %>

<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'default', 'data-turbolinks-track': 'reload' %>
</head>

さっきから、こいつに対してExecJS::ProgramError hogehoge#indexってエラーを吐いてばかり

coffee-scciptも1.8.0にしてもさっぱり解決せず。libv8とtherubyracerを入れろとか書いてるけど、
さっきから2時間以上苦戦してるが、全くインストールできずエラーばっかり

何なんだこれ

650 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:12:28.67 ID:Q+9WD3Xu.net]
違った、viewの中身はこいつだ

<!DOCTYPE html>

<html>

<head>

<title>hogehoge</title>

<%= csrf_meta_tags %>


<%= stylesheet_link_tag "application", media:"all", "data-turbolinks-track"=> true %>

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>

</head>


<body>

<%= yield %>

</body>

</html>

651 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:13:36.50 ID:NRmrCA2E.net]
今時WinでやるならWSLを使おう
どうせ運用はLinuxなんだからそれに慣れる意味でもな
あと、オワコンCoffeeなんか今更使っちゃダメ

652 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:30:29.29 ID:Q+9WD3Xu.net]
タイトルでそう思ったけど、ここ初心者スレじゃなかったのか
仕方ない、自分でもうしばらく足掻くか

653 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:32:05.53 ID:ZaEks4dH.net]
WSL使おうってアドバイスがあるのにさらっと無視するようじゃ、初心者スレ云々の問題じゃないかと思われる

654 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:37:12.02 ID:IA96dLm2.net]
すべてのwindowsでWSL使えるわけじゃないのに何言ってるの

655 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:42:47.77 ID:ZaEks4dH.net]
だったらWSL使えないって言えよ
そしたらVMWare使えってアドバイスもらえるんだからさ

656 名前:デフォルトの名無しさん mailto:sage [2018/01/02(火) 22:44:20.68 ID:IA96dLm2.net]
答えのわからない質問に、的はずれな回答しなくていいから
わからないなら黙ってなさい

657 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 00:44:42.35 ID:0mS9Giqv.net]
原因わかったよ、鋸使わなかったから
鋸使ったらうまくいった

あとで調べたらWSLは互換性がどうたらとか書いてたし、VM使うほど容量に余裕ないんで
でもまあwindowsよりLinux使えってのが大きなヒントになったのは確か

658 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 00:53:49.79 ID:BK81yZAH.net]
互換性はWSLの方が遥かにマシだぞ
WinのRubyなんか動いたらラッキーレベルのおまけ



659 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 06:24:30.41 ID:LyakWDNT.net]
>>620
に書いておいた

The MSYS2 DevKit などで、
Windows のネイティブコードにコンパイルしているようなものは、基本的に使えない。
それに、コンパイルできても、正常に動くとは限らないし

Nokogiri などの各gem が、バージョンアップに対応しないから、
Rails 5 などは使えない

各gem を作っている人は、皆手弁当でやっているから、
OS のバージョンアップに一々、対応していられない

Ruby の対応状況と、各gem の対応状況は、全く違うし、作者も別人。
とにかく、gem を使うものは、gem のバージョンに合わせて、
Ruby, Rails のバージョンを下げないといけない

Ruby 使いは、vagrant, chef を使う。
または、WSL, Docker など

660 名前:640 mailto:sage [2018/01/03(水) 08:15:54.66 ID:LyakWDNT.net]
基本的に、gem の作者が、Windows10 用のバイナリを配布していない、
gem は、作者によって動作が保証されていない

それを、The MSYS2 DevKit などで、ユーザーが勝手に、
Windows のネイティブコードにコンパイルして、動かしているようなものは、
基本的には安全ではない。
コンパイルできても、正常に動くとは限らないから

gem の作者でもないユーザーが、勝手にコンパイルして動かしても、安全性を証明できない

gem の作者が配布している、バイナリのバージョンまで、
Ruby, Rails のバージョンを下げる必要がある

Windows10 の場合は、RubyInstallers に、最初から入っている、
erb, irb, minitest, sinatra などで遊ぶ。

gem も、ユーザーがコンパイルする必要のない、gem の範囲で、遊ぶのが良い

661 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 12:59:19.24 ID:vVUVg3Hi.net]
gemの範囲で遊ぶのが良い までは読んだ

まあ遊びというか入門勉強用にしとけばいいわけだな。遊びでも触っておけば、本番で構築が必要になった時
いくらでも応用利くから。MVCも他のフレームワークとあまり変わらなさそうだし

662 名前:デフォルトの名無しさん [2018/01/03(水) 13:59:57.88 ID:7RCD6iyC.net]
何故、荒らしはアンチスレに帰らないで本スレで自演してるの?
さみしいの?

663 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 14:12:30.27 ID:xfm5wXWm.net]
>>643
アンチもクソも、現実を直視しよう
Rubyのコアのコミュニティに行くとWin使いには人権ないぞ
このスレはまだマシな方だよ

664 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 14:57:18.33 ID:vVUVg3Hi.net]
人権とかいう排他的な言い方しなくても、win環境には適応しきれていないのはわかったよ
rails new hogehogeコマンドで新たなアプリケーション作ってもまともに動かないことも分かったし
社内PCにはVMぐらいは作ってあるから、そっちでいくらでも試せる

今度はサーバ設定ツールにvagrant、chef、Docker、WSLとか書かれてるけど
どれが一番オススメかは聞いておきたい

665 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 15:31:56.84 ID:SZxPYOzJ.net]
なんかもう言ってることがすごいな
>The MSYS2 DevKit などで、ユーザーが勝手に、
>Windows のネイティブコードにコンパイルして、動かしているようなものは、
>基本的には安全ではない。

666 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 16:02:22.19 ID:Z3K4Tirs.net]
サーバー設定はchef-soloが簡単かなー

鯖は最終借りて使うことになるし
AWS,VPSなんかに使いまわしできる。

dockerなんかも便利

web系はLinuxは必須。

667 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 16:02:34.32 ID:vVUVg3Hi.net]
結局Vagrant使ってVB入れて続きを動かしてみることにした

668 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 19:09:04.58 ID:7RCD6iyC.net]
自演で伸ばしてくれるのはありがたいけど、
はやくアンチスレへ帰りなよ



669 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 19:29:07.03 ID:tD4HLGIX.net]
>>647
ansibleの方がマシ
ただ俺に言わせりゃ冪等性が必要ない
使い捨てマシンの設定はシェルスクリプトでいい

670 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 20:20:36.21 ID:vVUVg3Hi.net]
>>649
アンチスレとかあるんか?そんな技術どうこうに、わざわざアンチとか騒いで
何か開発上のメリットでもあるのか?

671 名前:デフォルトの名無しさん [2018/01/03(水) 22:02:49.25 ID:ML6+3XhW.net]
嘘を吹聴してる荒らしはまだおるんか?
はよーアンチスレへ帰れ

初心者スレで嘘ばっかりつきやがって

672 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 23:03:06.29 ID:vVUVg3Hi.net]
そこまで言うなら
他のスレに貼り付けてやろうか?
Ruby開発者はこんな連中ばっかりだと

Pythonスレとかあたりに

673 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 23:07:20.10 ID:vVUVg3Hi.net]
俺はPHPとかJavaScriptはMVCフレームワーク含めて経験あるし、納品実績もあるけど

RubyやRailsは本当に初心者だよ、去年まではRailsなんて名前しか知らんかった
一応上司に勉強しといた方がいいって勧められて、せっかくの正月休みなんで
意気込んで勉強してたんだよ

こんなところで質問した自分が心底馬鹿だったわ

初心者を罵倒するスレに改名してくれ

674 名前:デフォルトの名無しさん [2018/01/03(水) 23:08:40.92 ID:ML6+3XhW.net]
おまえ、
他のスレを荒らすのもええ加減にやめろ
みんな迷惑しとるやろうが

675 名前:デフォルトの名無しさん mailto:sage [2018/01/03(水) 23:21:54.41 ID:dC+KJDFP.net]
>648デフォルトの名無しさん2018/01/03(水) 16:02:34.32ID:vVUVg3Hi
>結局Vagrant使ってVB入れて続きを動かしてみることにした

例の荒らしがとうとう他スレに移住してくれるわけか
これはめでたい

676 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 00:11:00.11 ID:Db2jLLtK.net]
Docker、2016、オライリー

実践 Vagrant、Mitchell Hashimoto、2014、オライリー

Vagrant, Packer などで有名な、HashiCorp の創始者


Chef実践入門 - コードによるインフラ構成の自動化、2014

cookbookは各社が公開している

Chef社のopscode、Railsを作っている Basecamp社、
Berkshelfを作っている Riot Games社、
Pivotal Trackerを作っている Pivotal Sprout社、
aws, engine yard

677 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 00:18:08.10 ID:Y2aN+Ibt.net]
まーた誤爆してる

ログ残すのがそんなに大好きなのかな

678 名前:640 mailto:sage [2018/01/04(木) 01:01:51.01 ID:Db2jLLtK.net]
CentOS は、64ビット版のみで、32ビット版はもうやっていない。
Linux も徐々に、32ビット版を作らなくなってきた

Ruby で、ユーザーが勝手に、ソースコードからコンパイルしているような、
32ビット版のgem は、使えなくなってくる

gem の作者がほったらかしで、64ビット版をサポートしていないから、
こういうgem に依存しているアプリは、Linux でも動かなくなっていく



679 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 01:49:10.10 ID:Y2aN+Ibt.net]
何他人を語ってるんだよお前

680 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 02:54:14.07 ID:IBQXDyQ6.net]
これ、朝になったらアンチが発狂して自演繰り返すパターンだわ
俺知ってる

681 名前:540 mailto:sage [2018/01/04(木) 07:31:26.40 ID:Db2jLLtK.net]
Windows10 Home で、RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64) ポータブル版、The MSYS2 DevKit 無しで、

Nokogiri をインストールしたら、
コンパイル無しで、Windows用のバイナリgem がインストールできたのか?w
The MSYS2 DevKit は、インストールしていないけど

PS C:\Users\Owner\Documents\Ruby\proj01> bundle install
Fetching gem metadata from https://rubygems.org/..............
Resolving dependencies...
Using bundler 1.16.1

Fetching mini_portile2 2.3.0
Installing mini_portile2 2.3.0

Fetching nokogiri 1.8.1 (x64-mingw32)
Installing nokogiri 1.8.1 (x64-mingw32)

Bundle complete! 1 Gemfile dependency, 3 gems now installed.

Use `bundle info [gemname]` to see where a bundled gem is installed.

Post-install message from nokogiri:

Nokogiri is built with the packaged libraries: libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15.

682 名前:540 mailto:sage [2018/01/04(木) 10:00:23.11 ID:Db2jLLtK.net]
Windows10 Home で、RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64) ポータブル版 (The MSYS2 DevKit 無し)に、最初から、

libxml2-2.9.5, libxslt-1.1.30, zlib-1.2.11, libiconv-1.15
などのコンパイル済みライブラリが入っているみたい

なので、The MSYS2 DevKit が無くても、
Nokogiri gem を入れるだけで動く

やってみたら、Nokogiri は、確かに動いた!

インストールの最難関と言われる、Nokogiri が、簡単にインストールできた!w
Ruby 2.4, gem, Nokogiri などの進化を感じた

683 名前:デフォルトの名無しさん [2018/01/04(木) 10:31:04.56 ID:M7dikhfh.net]
>ID:Db2jLLtK
何度も言うが自演を繰り返して荒らすなら
アンチスレへ行け

684 名前:デフォルトの名無しさん [2018/01/04(木) 14:21:55.97 ID:0iUUJ0bW.net]
質問
Arrayで事足りるケースにしかまだ出会ってないけど
Enumerableってどういう時に使うの?

685 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 19:16:52.27 ID:q0THGQuz.net]
>>665
p ([].each).class.ancestors

686 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 22:09:15.03 ID:ByuqHChs.net]
初歩の初歩な質問ですけど…
配列に0から99までの数字を一括で格納したいです
a = [0,1,2...と記述していてはとても長くなるので…
どうすれば良いのでしょうか?

687 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 22:18:08.37 ID:gbqCK9B9.net]
>>667
(0..99).to_a

688 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 22:19:23.96 ID:E5yE4mKi.net]
[*0..99]という書き方も



689 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 22:21:04.48 ID:gbqCK9B9.net]
そういえば (0..99).to_a で気づいたけど、>>665 のいう Enumerable は Range クラスも持ってるな
ちょうどいい例じゃね?

690 名前:デフォルトの名無しさん mailto:sage [2018/01/04(木) 22:29:13.42 ID:ByuqHChs.net]
できました
ありがとうございました

691 名前:デフォルトの名無しさん mailto:sage [2018/01/05(金) 01:12:43.58 ID:DBj0On7v.net]
EnumerableならPrimeクラスの使い方見てみるのもいいかもね

692 名前:540 mailto:sage [2018/01/05(金) 10:23:43.97 ID:JCua7yNV.net]
Windows10 Home 64ビット版に、
RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)ポータブル版、The MSYS2 DevKit 無しで、
コンパイルせずに入れられる gem だけで、遊んでみた

以下は、入れた gem です

先に、bundler を入れて、以後のgem は、bundle install で入れた

rack-test は、sinatra のテストに使う。
Nokogiri

VS Code の拡張機能用の、solargraph

入れたgem と、irb, erb, minitest, sinatra が、正常に動いた

693 名前:デフォルトの名無しさん mailto:sage [2018/01/05(金) 21:48:51.55 ID:cNE023Or.net]
#{hoge}などの形で入力をそのまま正規表現に入れた場合に、入力に正規表現が含まれていると意図しない挙動が起こると聞いたのですが、どのように回避するのが良いのでしょうか?

694 名前:デフォルトの名無しさん mailto:sage [2018/01/05(金) 22:03:0 ]
[ここ壊れてます]

695 名前:5.29 ID:Z2M9SnI/.net mailto: systemメソッドでperlのワンライナーを呼び出す []
[ここ壊れてます]

696 名前:デフォルトの名無しさん mailto:sage [2018/01/05(金) 22:28:18.08 ID:wqtMql/4.net]
>>674
#{hoge}などの形で入力をそのまま正規表現に入れない。
具体的には、Regexp.escape などでエスケープ処理した文字列を利用する。

697 名前:デフォルトの名無しさん [2018/01/05(金) 23:28:05.64 ID:MlGJfS7x.net]
空港のwifiからアクセスした際にログイン出来ないという報告がありましてログを見たところ
ActionController::InvalidAuthenticityTokenというエラーが出ていました
CSRF対策の仕組みが関係することは分かったのですが
なぜこれが発生するのか分かる方いらっしゃいませんでしょうか

698 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 02:50:42.13 ID:nSHs9ovb.net]
空港やホテルは、設定が厳しい。
LAN 内ですら、お互いに通信できないだろ

隣の人のスマホと、アクセスできないだろ



699 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 02:53:50.34 ID:qWm4dftC.net]
>>678
つまり何が原因なのですか?

700 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 04:48:47.53 ID:nSHs9ovb.net]
空港やホテルの、wifiは危険だから、設定が厳しい

「空港 wifi セキュリティ」で検索!

701 名前:540 mailto:sage [2018/01/06(土) 07:03:24.91 ID:nSHs9ovb.net]
Windows10 Home 64ビット版に、
RubyInstallers の、7-Zip Archives の所からダウンロードした、
Ruby 2.4(x64)ポータブル版、The MSYS2 DevKit 無しで遊んでみた

日本語については、
Windows の設定画面から、ユーザー環境変数へ追加します。変数名・値は、
RUBYOPT
--encoding=UTF-8

これで外部エンコーディング・Encoding.default_external が、
Windows-31J から、UTF-8 へ変更されるので、
Ruby 起動時のコマンドライン引数に、日本語を使えます

ただし、この環境変数を追加すると、irb が動かなくなる。
この環境変数が無ければ、

irb -E CP932
で、Windows-31J で、正常に動くので、
irb を使う人は、環境変数を追加せずに使う

702 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 10:01:00.08 ID:UsOHfVJQ.net]
>>681
大変申し訳ないが一回だけ言うね
日記の続きは貴方の個人的なブログでお願いしたい
ここはみんなのスレなのでご理解ください

703 名前:デフォルトの名無しさん [2018/01/06(土) 12:53:30.03 ID:HbY4/bGY.net]
続きはCMのあとで

704 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 12:58:28.05 ID:jet593Ss.net]
備忘録とか日記のネタとか書くのは問題ないだろ
普段はそこまで賑わっているスレじゃないんだから
雑談OKなわけだし、初心者にはありがたい情報じゃないのかな

705 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 13:52:44.37 ID:FAOceAzc.net]
レス読んでないけど、情報共有するならここに書くよりかQiitaにあげた方が有益だと思うけどね

まぁどっちでもいいわ

706 名前:540 mailto:sage [2018/01/06(土) 14:44:04.22 ID:nSHs9ovb.net]
irb のソースコードを見て、誰か、

外部エンコーディング・Encoding.default_external が、
UTF-8 でも動くように、修正してくれないかな?

それと、Windows で、Ruby を使っている人も、書き込んでほしい。
Windows の、Ruby 使いが少ない

707 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 14:49:07.31 ID:ul9KuZX2.net]
自分で直してPull Reques出せ
基本的にWin使いに人権はないので、Winのためにソースを汚すことは嫌われるから注意

708 名前:デフォルトの名無しさん mailto:sage [2018/01/06(土) 16:19:36.81 ID:wARzH3D0.net]
I’m like pp, just like pp



709 名前:540 mailto:sage [2018/01/06(土) 16:33:25.64 ID:nSHs9ovb.net]
irb がクソみたいな描画ライブラリを使わずに、
GUI だけを、PowerShell を使ってくれたら良いのに。
PS なら、UTF-8 だし

ロジック・GUI が分離できていて、
簡単に、PS に切り替えられたら良いのに

710 名前:デフォルトの名無しさん mailto:sage [2018/01/07(日) 10:13:45.01 ID:X58Odkk6.net]
お前は何を言ってるんだ
RubyはUNIXにべったり密結合している
それを良く思っていないのはRuby村においては被差別民であるWin使いだけ

711 名前:デフォルトの名無しさん [2018/01/07(日) 16:15:03.18 ID:Jk6U4+ev ]
[ここ壊れてます]

712 名前:.net mailto: 自演ばれてんぞアンチ []
[ここ壊れてます]

713 名前:デフォルトの名無しさん [2018/01/09(火) 00:08:55.57 ID:TW5vurZJ.net]
Windows で、Headless Chrome でテストしている香具師いる?

Windows 10, Ruby, Chrome, Selenium WebDriver は、64ビット版だけど、

Windows 用の、ChromeDriver は、32ビット版しかないけど、これで正常に動くの?

714 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 05:18:26.25 ID:l1AA5LW3.net]
rubyからOpenGLを扱うgemがいくつかあるけど、
どれが一番使われてるの?

715 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 07:11:34.91 ID:mcq0XcNK.net]
RubyはRailsにしか使われてないよ

716 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 14:13:43.58 ID:mJzCa8Tc.net]
Unicodeコードポイントにスケープされた4バイト文字をJSON..#parseすると怒られるんだけど、何かいい方法ないかな?
愚直にgsubするしかないのかな
https://ideone.com/V6sNRh

717 名前:デフォルトの名無しさん mailto:sage [2018/01/09(火) 14:17:01.33 ID:hZWQBtrg.net]
断交が良い

718 名前:デフォルトの名無しさん [2018/01/09(火) 23:30:05.47 .net]
>>695
RubyのJSON.parseがUnicodeコードポイントエスケープに未対応なのかな?
「¥u{XXXXX}」を「¥uXXXX¥uXXXX」に変換してやればよさそうだけどね



719 名前:692 mailto:sage [2018/01/10(水) 07:38:19.49 ID:8FRtzSYP.net]
Windows 10 Home, Ruby, Chrome, Selenium WebDriver は、64ビット版で、
ChromeDriver (32ビット版)も使えるけど、

Chrome v63 を、headless で使うと、エラーになる
「failed to launch gpu process.」

--headless, --disable-gpu を設定する必要がある

selenium-webdriver は、コンパイル無しで、gem を簡単にインストールできた

>>695-697
Ruby 2.4 からは、5バイト以上の絵文字なども、正規表現で使えると聞いた。
JSON では、そういう文字も使えないの?

720 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 12:32:40.29 ID:8FRtzSYP.net]
ReactDOM.render(
<div>
<h1>Hello, world!</h1>
<h2>texttext</h2>
</div>,
document.getElementById('app')
);

JavaScript の中に、直接HTML を書ける、
JSX みたいな書き方が、Ruby にある?

出来れば、erb のような書き方は、避けたい

721 名前:デフォルトの名無しさん mailto:sage [2018/01/10(水) 16:07:42.64 ID:STPlaxcQ.net]
ヒアドキュメントは?

722 名前:デフォルトの名無しさん [2018/01/12(金) 18:18:49.39 ID:nl8PJm0M.net]
iCloud 9のコマンドプロンプト打っても俺のパソコンに反映されないんですが助けて

723 名前:デフォルトの名無しさん [2018/01/12(金) 22:23:27.82 .net]
>>698
規格上は使えるけどRubyのJSONライブラリがまだ対応していないっぽい

724 名前:デフォルトの名無しさん [2018/01/21(日) 21:58:25.57 ID:Ycn/1JW2.net]
改訂2版 パーフェクトRuby、Rubyサポーターズ、2017

この本は、ツールの説明なども多いから、読むのに時間がかかる

725 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 21:44:30.05 ID:q3uir/RO.net]
keyには現状:aか:bしか来ないけど将来的には増えるかもしれないとする。
ダックタイピングを意識して次みたいに書いてみたんだけどこれだと、
keyの種類が増えた時にそれに対応するクラスだけじゃなくてcase文も増やさないといけなくなる。
上手い書き方無いかな?
def hoge(key, value)
 x = case key
   when :a then A.new(value)
   when :b then B.new(value)
   end
 x.huga
 x.hage
end

726 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 22:06:22.86 ID:LFdS7sNk.net]
def hoge(key, value)
x = {a: A, b: B}[key].new(value)
x.huga
x.hage
end

727 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 22:32:29.51 ID:O82cRrzF.net]
def hoge(key, value)
x = Kernel.const_get(key.capitalize).new(value)
x.huga
x.hage
end

728 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 22:52:38.55 ID:pYe1Cwj7.net]
それは、典型的なオブジェクト指向の利点

派生クラスを使えば、switch〜case 文が無くなるから、
その部分の修正もしなくてよい

各派生クラスで、クラス内でオーバーライドされた、同名のメソッドを呼ぶだけ



729 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 23:04:44.47 ID:cFg1Yiat.net]
レンタルサーバーにRubyをインストールする手順に関する質問はここで良いでしょうか?
Railsの方が良いでしょうか?

730 名前:デフォルトの名無しさん mailto:sage [2018/01/22(月) 23:35:54.90 ID:/Sj7yLHe.net]
Webサイトちょっと動かしたいだけなら自分で運用構築なんて時間の無駄だからPaaS使うことを強くお勧めする

731 名前:デフォルトの名無しさん [2018/01/23(火) 13:19:28.04 ID:CDVCaOOu.net]
環境構築には、vagrant, chef は、Ruby でレシピ(手順書)を書ける。
Docker もある

仮想環境コンテナ総合スレ Docker、Vagrant等 [無断転載禁止]c2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1487235664/l50

732 名前:デフォルトの名無しさん mailto:sage [2018/01/23(火) 20:57:16.21 ID:STirpdQ8.net]
FJORD BOOT CAMP(フィヨルドブートキャンプ)
https://bootcamp.fjord.jp/

無職なら誰でもオンライン無料学習

733 名前:デフォルトの名無しさん mailto:sage [2018/01/23(火) 23:03:46.38 ID:CDVCaOOu.net]
Ruby の女神・池澤あやかは、島根県のRuby合宿で、Rubyを極めたらしい

734 名前:デフォルトの名無しさん mailto:sage [2018/01/24(水) 23:02:47.87 ID:ap7jtKrX.net]
今日mechanizeを使い出したんだけどいいなこれ
なんで今まで使わずにスクレイピングしてたんだろってくらい感動した

735 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 03:45:42.62 ID:1frilWR+.net]
本の虫: 60%の人間はプログラミングの素質がない
https://cpplover.blogspot.jp/2012/05/60.html

736 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 15:25:13.47 ID:d3UPMMWN.net]
バージョン2.2.0以降次のコードがSecurityErrorにならないんだけど、仕様が変わってマニュアルの情報が古くなってるのかな?
$ ruby -ve '$SAFE = 1; open(ARGV[0])' hoge
Traceback (most recent call last):
2: from -e:1:in `<main>'
1: from -e:1:in `open'
-e:1:in `initialize': No such file or directory @ rb_sysopen - hoge (Errno::ENOENT)

737 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 18:01:16.77 ID:SW6+fB/4.net]
>>714
fizzbuzz

738 名前:デフォルトの名無しさん mailto:sage [2018/01/25(木) 19:53:33.66 ID:8RoLWIQ9.net]
>>715
ARGVの文字列がexternal_str_new_cstr()で作られてるみたいだけど、
windowsだとUTF8_PATHが真になって、文字列がrb_external_str_new_cstr()で作られてないから
taintになってないっぽい



739 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 19:35:15.96 ID:ywFtALU+.net]
atomのautocomplete-rubyが動かないです
rsenseのパスは通しているのですがエラーが出ます
rsense startを実行後、localhost:47367にアクセス出来ないことから
rsenseのエラーだとは思うのですが対策がわかりません。
ruby 2.4.1、rsense 0.5.18 です
https://teratail.com/questions/67165
ではJRuby 1.7.26にしてからrsenseをインストールするとできると書いてありましたが、JRuby 1.7.26ではrsenseがインストールできませんでした。
エラーは下記
autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book
rsense version 0.5.18
Usage: rsense <start|stop|restart>
/bin/sh: line 1: start: command not found
(You might need to set the rsense path, see the readme)

740 名前:デフォルトの名無しさん [2018/01/26(金) 22:16:50.68 ID:lWqampzR.net]
>/bin/sh: line 1: start: command not found
start コマンドは存在しない

>(You might need to set the rsense path, see the readme)
rsense のユーザー環境変数PATH を設定しないといけないのかな?
まあ、readme を読んで

>autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
> start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book

これは全体で、1行のコマンドじゃないのか?
これを、rsense の後ろで、改行して打ったのか?

1行で打つか、または行末で改行を、\(バックスラッシュ)でエスケープすれば?
行末を「rsense \」とする

741 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 22:22:02.58 ID:lWqampzR.net]
端末・コマンドプロンプトなどで、
which rsense, where rsense などと打てば、

rsense の実行ファイルがあるディレクトリが、
環境変数PATH に設定されているかどうかがわかる

742 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 22:26:40.41 ID:lWqampzR.net]
rsense の実行ファイルがあるディレクトリが、
環境変数PATH に設定されているなら

~/.rbenv/versions/2.4.1/bin/rsense のように、パスを付けて書かなくても、
単に、rsense と打っても、実行ファイルを探せる

rsense start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book

だから、こう打てばよい

743 名前:692 mailto:sage [2018/01/26(金) 22:52:43.92 ID:lWqampzR.net]
Windows10 で、poltergeist のインストールに失敗

Fetching websocket-driver 0.7.0
Installing websocket-driver 0.7.0 with native extensions
MSYS2 could not be found.

websocket-driver-0.7.0-java.gem をダウンロードしたけど、MSYS2 を入れていないから。
(MSYS2 は、2GB 近くあるらしいので、わざと入れていない)

このgem ファイルは、Windows用のコンパイル済みバイナリではないの?

Anemone, mechanize は、静的なHTML用じゃないの?
JavaScript も解釈できるの?

poltergeist から、phantomJS を使おうとしたけど、インストールできないから、
>>698
で書いたように、Chrome のヘッドレスモードを使っている

744 名前:718 mailto:sage [2018/01/26(金) 23:10:28.98 ID:ywFtALU+.net]
>>719
atomでの話とターミナルでの話が混ざっていてすみません。
atomでパスを ~/.rbenv/versions/2.4.1/bin/rsenseと書くと718で書いたエラーが出ます。
エラー内容はstartコマンドがないと言っているので確認のため
ターミナルで$ rsense startと打つとプロセスは走ります。
ただプロセスが走っているのにlocalhost:47367にアクセスできません。

745 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 23:32:26.03 ID:lWqampzR.net]
localhost は、つながらないとか、色々とバグるから、
127.0.0.1:47367 を使うこと

rsense start で、サーバーは確かに、47367 ポートで起動しているのか?

lsof とかで、開いているポートを調べる

746 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 23:46:55.80 ID:lWqampzR.net]
>atomでパスを ~/.rbenv/versions/2.4.1/bin/rsenseと書くと718で書いたエラーが出ます

漏れも、VS Code を使っているけど、

VS Code 内のPowerShell では、よくバグるから、
外部でPowerShell を起動して使っている

外部から、コマンドプロンプト・端末・PowerShell を起動してやれば?

747 名前:デフォルトの名無しさん mailto:sage [2018/01/26(金) 23:58:30.46 ID:lWqampzR.net]
>atomでパスを ~/.rbenv/versions/2.4.1/bin/rsenseと書くと718で書いたエラーが出ます

~(チルダ)が、自分のホームディレクトリに解決できないとか?

.rbenv って、探索パスの順序を入れ替える、仮想化技術だろ。
環境変数PATH の一番前に、追加しているから、危険で影響が大きそう。
.rbenv について、よく調べた方が良いかも

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

また、rbenvでrubyをインストールしたり、gemでパッケージをインストールした後は、
rbenv rehashを実行しなければならないとか

748 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 00:21:43.19 ID:PF3DsJ0N.net]
> .rbenv って、探索パスの順序を入れ替える、仮想化技術だろ。

なにも仮想化してないので、仮想化技術ではない



749 名前:デフォルトの名無しさん mailto:sage [2018/01/27(土) 01:59:43.65 ID:lUeqkPr+.net]
pyenv, virtualenv(venv)などのPythonの仮想環境構築も、これと同じ

環境変数PATH の前方に、パスを追加して、実行するコマンドの探索パスを変えることで、
実行されるファイルを変える

750 名前:718 mailto:sage [2018/01/27(土) 19:34:18.97 ID:sDN5LFGv.net]
rsenseがどうにも動かないのでatomでは他の補完パッケージを使うことにしました

751 名前:デフォルトの名無しさん [2018/01/27(土) 20:20:50.96 ID:lUeqkPr+.net]
bundle exec を付けないと、パスが探せないとか

752 名前:718 mailto:sage [2018/01/27(土) 20:33:08.71 ID:sDN5LFGv.net]
>>730
ターミナルではコマンドが実行できるのでパスは通っているはずなんですが
指定されたポートのローカルサーバーにアクセス出来ない。
($ rbenv which rsense で ~/.rbenv/versions/2.4.1/bin/rsense が出ます)
atomではパスを通す前はno such directryのエラーがパスを通すとcommand not foundになるので
パス自体は通っているとは思うのですがコマンドが見

753 名前:つからない理由がわからない。
すみません、いろいろ言ってもらったのですが改善できなそうでした。
[]
[ここ壊れてます]

754 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 23:07:14.79 ID:+HoRx5lM.net]
Rubyスクリプト内から別のRubyスクリプトを実行して、エラーが出ても元のRubyスクリプトの処理を止めない方法はありますか?

755 名前:デフォルトの名無しさん mailto:sage [2018/01/28(日) 23:22:35.75 ID:ALu/+v8Q.net]
シェルコマンドでruby実行すればいいだろ
所詮Rubyなんか書捨てスクリプトなんだからスマートさなんか気にしないで手っ取り早い方法を選べばいい

756 名前:デフォルトの名無しさん mailto:sage [2018/01/29(月) 00:28:48.72 ID:3fqaX6d7.net]
UNIXならProcessクラス使えば

757 名前:デフォルトの名無しさん [2018/01/31(水) 00:19:33.04 ID:ah9e2u9N.net]
>>719
にも書いたけど、

>autocomplete-ruby: exec error: Error: Command failed: ~/.rbenv/versions/2.4.1/bin/rsense
> start --port 47367 --path /Users/{ユーザー名}/Programming/ruby-book

これを、1行で打たないといけない!
これを、rsense の後ろで、改行したらダメ!

それか、{ユーザー名} のユーザー名に全角文字を使ったとか、半角空白が入っているとか。
どこかに半角空白が入っていると、そこで区切られるから、引数が多くなるのでエラーになる。
だから、" " で囲う必要がある

--path "/Users/{ユーザー名}/Programming/ruby-book"
これを、" " で、囲ってみ

>>731
エラーメッセージが、no such directry から、command not found に変わったなら、
rsense コマンドは使えるけど、たぶん、そのサブコマンドが間違っている

>Usage: rsense <start|stop|restart>
rsense の後に、これらのサブコマンドを正しく続けなければならない

>>721
にも書いたけど、
~/.rbenv/versions/2.4.1/bin/rsense のように、パスを付けて書かなくても、
単に、rsense と打っても、実行ファイルを探せる

rsense start --port 47367 --path "/Users/{ユーザー名}/Programming/ruby-book"

それと、Linux なら、/var/log の下にあるログファイルを見て、
もっと詳しいエラーメッセージを取得して検索する

758 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 01:31:31.84 ID:ah9e2u9N.net]
>>732-734
外部コマンドをバッククォートで囲むとか、IO.popen を使って、
終了ステータス「$?」で分岐する

Rubyで外部コマンドを実行して結果を受け取る方法あれこれ
https://qiita.com/tyabe/items/56c9fa81ca89088c5627

resText = ""
IO.popen("where notepad") { |io| resText = io.read }

puts "終了ステータス : #{$?}"
puts resText

出力結果
終了ステータス : pid 9872 exit 0
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe



759 名前:デフォルトの名無しさん [2018/02/07(水) 21:03:36.63 ID:/4oaORK0.net]
Windows向けのRubyバイナリですが
ASRの2.5はいつ出るんでしょうか?
RubyInstallerはOLEがうまく動かないのでASRを使っています。

760 名前:デフォルトの名無しさん mailto:sage [2018/02/07(水) 21:24:44.94 ID:N9vep8wO.net]
RubyはWindowsで使うものではない
WinでRubyなんてプロダクションでは全く使われていないので、最新バージョンに追従しなければ何かまずいことになるというプレッシャーは無く、
有志が気が向いたときに遊びでやってるだけだ
そんなものに期待するのがそもそもの間違い
いい加減諦めてWSLかVMかMacに移行しなさい

761 名前:デフォルトの名無しさん mailto:sage [2018/02/07(水) 21:42:14.34 ID:ZXClH+OJ.net]
WindowsでRuby使うとかマゾもいいとこ。
おとなしくPythonにしとけばいいのに。
日本語の情報が豊富!とか言って初心者釣ってたやつらにも責任がある。
コミュニティがシェア9割のWindowsを親の仇のように嫌ってる時点で初心者向けなんか有り得ないというのに。

762 名前:デフォルトの名無しさん mailto:sage [2018/02/08(木) 04:05:47.94 ID:31uXy/SD.net]
Windows10 Home で、WSL(Windows Subsystem for Linux)正式版を簡単に導入できた

MS Store から簡単に、Ubuntu 16.04 をダウンロードできた。
サイズは、200MB ほど

パッケージマネージャーで、Ruby 2.3 も簡単にインストールできた

763 名前:デフォルトの名無しさん mailto:sage [2018/02/08(木) 04:50:05.31 ID:lklijtOD.net]
できたんだ

764 名前:デフォルトの名無しさん mailto:sage [2018/02/08(木) 06:54:03.75 ID:ZE8Ol0Sg.net]
>>737
OLEがうまく動かないってどういうこと?

765 名前:737 mailto:sage [2018/02/08(木) 18:58:35.45 ID:zFeCrx9M.net]
>>742
リモートのデータベースに接続できない

766 名前:デフォルトの名無しさん [2018/02/08(木) 19:31:35.11 ID:x393c3Y0.net]
最近のwindowsは32bit版のODBCと64bit版のODBC分かれてるから
データソース作るときにどっちか逆になると繋がらないことがたまによくある

767 名前:737 mailto:sage [2018/02/08(木) 20:06:16.19 ID:zFeCrx9M.net]
環境はwindows7の32bitだ
そんで同じスクリプトで
ASRなら繋がるけどRubyInstallerだと繋がらないんだ

768 名前:デフォルトの名無しさん mailto:sage [2018/02/09(金) 01:32:56.68 ID:JPCfoDnF.net]
まず、エラーメッセージを取得して、それで検索することから始める



769 名前:デフォルトの名無しさん mailto:sage [2018/02/09(金) 01:36:30.27 ID:ZFL6conz.net]
そして5年前の情報とかしかなくて終わる

770 名前:デフォルトの名無しさん mailto:sage [2018/02/09(金) 18:48:38.40 ID:g1sd4Kag.net]
AWSのCloud9のRubyで アラーム代わりにwavやmp3を再生したいんですけど、かんたんにできるでしょうか

771 名前:デフォルトの名無しさん mailto:sage [2018/02/09(金) 19:25:09.92 ID:FL1yxC1J.net]
bokete みたいなwebサイト作りたいんですけど何種類かアイデアあるんすけど
ruby ➡ Ror
php ➡ WordPress

どっちがいいっすか?

772 名前:デフォルトの名無しさん [2018/02/10(土) 01:08:50.39 ID:TNdj3qFT.net]
ruby -e "puts 'abc'"
ruby -e 'puts "abc"'

1-liner で、上はWindows、下はLinux でのクォーテーションだけど、
簡単に相互を置換する方法はない?

ruby -e "puts 'abc'"
例えば、これの、" を' に置換すると、

ruby -e 'puts 'abc''
となって、区別できなくなる

>>749
もちろん、Rails

773 名前:デフォルトの名無しさん mailto:sage [2018/02/10(土) 01:37:14.21 ID:dbzbK1DZ.net]
>>748
Ruby関係ない
純粋にJavaScriptやHTML5の話

774 名前:デフォルトの名無しさん mailto:sage [2018/02/10(土) 08:42:39.65 ID:BVqOrgag.net]
>>750
WindowsだろうがLinuxだろうがワンライナーならどちらのクォーテーション・マークでも動作するから置換する必要はない
それでも置換するなら、簡単なものなら..tr('"\'','\'"')
真面目にやるなら式中の"を%Qに'を%qにでもすればいいんじゃない

775 名前:デフォルトの名無しさん mailto:sage [2018/02/10(土) 17:44:21.82 ID:3K6ZWpKd.net]
Array#zipに関する質問です。
aを二次元座標[x, y]の配列として
a[0].zip(*a[1..-1])と同じ動作を効率的にできるだけ短く書くコードを教えてください。

776 名前:デフォルトの名無しさん mailto:sage [2018/02/10(土) 17:55:38.94 ID:eFhUfahp.net]
>>753
そんなところをハックしてもパフォーマンスは一ミリも改善しません
速くしたいなら他の言語を使うか、SQLをチューニングましょう

777 名前:デフォルトの名無しさん mailto:sage [2018/02/10(土) 20:29:37.87 ID:Jen4nAbv.net]
aの要素数が滅茶苦茶多いと、引数に渡すだけで大変そう

778 名前:デフォルトの名無しさん mailto:sage [2018/02/10(土) 21:53:50.96 ID:ELWGSSBQ.net]
引数を渡すかわりに引導を渡してみては?



779 名前:デフォルトの名無しさん mailto:sage [2018/02/10(土) 22:18:46.37 ID:BVqOrgag.net]
速いかは知らないけど
a.transposeでいいんじゃないの

780 名前:デフォルトの名無しさん mailto:sage [2018/02/11(日) 18:24:55.59 ID:ONLKHfKt.net]
>>757
transposeなんてメソッド存在していたとは……知らなかった。
というかriのArray#zipで言及して欲しい。

781 名前:デフォルトの名無しさん mailto:sage [2018/02/11(日) 20:12:19.15 ID:aLeqVhz7.net]
残念だが手遅れ

782 名前:デフォルトの名無しさん mailto:sage [2018/02/11(日) 20:17:25.63 ID:JLQLPcxv.net]
よく使うクラスだけでもマニュアル全部読んでおくといいよ大した量じゃないし

783 名前:デフォルトの名無しさん [2018/02/12(月) 13:39:48.05 ID:S+p/PDus.net]
普通は、transpose ぐらいあるだろ。
R なんて、行列が逆だから、transpose が無かったら、混乱する

module Enumerable だけは、読んでおけ

784 名前:デフォルトの名無しさん [2018/02/14(水) 16:44:54.84 ID:gwupYb1h.net]
Windows10 の、Chrome の自動操作で、
SeleniumWebDriver では、Ruby から起動したブラウザが、閉じてしまう。
sleep で、待つ事はできるけど

ブラウザが閉じないように、出来ないの?
それか、iMacros を使うしかないのか?

785 名前:デフォルトの名無しさん [2018/02/17(土) 22:07:32.61 ID:IU1gsQgu.net]
ActiveRuby (Beta 版)と言う、Rails など、40 gem、有用なライブラリ一式をまとめた、
Windows 用の、Precompiled Ruby があるね

Ruby 2.3.4 で、容量は、1GB

786 名前:デフォルトの名無しさん mailto:sage [2018/02/17(土) 22:10:01.26 ID:C+rXeEsA.net]
何で句読点そんななの?

787 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 08:06:13.46 ID:FUvFB9Jm.net]
www2.ske48.co.jp/blog/detail/id:20150713113730840
これをみたまえ

788 名前:デフォルトの名無しさん mailto:sage [2018/02/19(月) 08:14:01.13 ID:NxG0QMWB.net]
戦場カメラマンかよ



789 名前:デフォルトの名無しさん [2018/02/21(水) 12:00:51.75 ID:YvXKEUAS.net]
RubyのClassクラスはObjectクラスのインスタンス。

そんでもって、自作MyClassクラスを作れば、Classクラスのインスタンスとなる。同時に、Objectクラスを継承する。

ってことは、Objectのインスタンスメソッド、ClassのインスタンスメソッドをMyClassのインスタンスは継承している。

790 名前:デフォルトの名無しさん mailto:sage [2018/02/21(水) 20:05:24.59 ID:HEIjAjBo.net]
Classクラスのクラスメソッドは、
自作MyClassクラスのクラスメソッドとなるか?

791 名前:デフォルトの名無しさん mailto:sage [2018/02/21(水) 20:07:58.08 ID:gGEObxum.net]
なるよ

792 名前:デフォルトの名無しさん mailto:sage [2018/02/21(水) 21:00:07.80 ID:HEIjAjBo.net]
Classクラスの特異クラスのインスタンスメソッドは、
自作MyClassクラスのクラスメソッドとなるか?

793 名前:デフォルトの名無しさん mailto:sage [2018/02/21(水) 21:07:50.97 ID:HEIjAjBo.net]
オブジェクトの特異クラスのメソッドは、
そのオブジェクトの特異メソッドとなる。
では、オブジェクトの特異クラスのそのまた特異クラスのメソッドは、
そのオブジェクトの特異クラスメソッドとなるか?

794 名前:デフォルトの名無しさん mailto:sage [2018/02/21(水) 21:13:10.82 ID:6K5cWIBm.net]
ご覧ください。
こういう処理すべき本質と離れた下らないことしか話すことのないクソ言語とハエ信者たちです。

795 名前:デフォルトの名無しさん mailto:sage [2018/02/21(水) 22:26:16.94 ID:No3TMOHA.net]
ご覧ください
こういうプログラミングの話題でない煽りしかできない底辺です

796 名前:デフォルトの名無しさん mailto:sage [2018/02/21(水) 22:42:56.90 ID:gGEObxum.net]
簡単に実装できるんだから自分で試せばいいのに

797 名前:デフォルトの名無しさん [2018/02/22(木) 18:58:12.64 ID:mWjDtu6E.net]
>>772 に言わせれば:
・以下の記事の内容は「処理すべき本質と離れた下らないこと」であり、
・以下の記事に登場するのは「クソ言語」であり、
・以下の記事の著者は「ハエ信者」なんだろね

Pythonのオブジェクトとクラスのビジュアルガイド – 全てがオブジェクトであるということ
postd.cc/pythons-objects-and-classes-a-visual-guide/

798 名前:デフォルトの名無しさん mailto:sage [2018/02/22(木) 19:49:41.37 ID:w/32fA/q.net]
pythonごときクソ言語に劣等感抱いててワロタwww
追い詰められ過ぎwww消えそうwwwww



799 名前:デフォルトの名無しさん mailto:sage [2018/02/22(木) 22:20:20.36 ID:3IU5aIfi.net]
クソだろうが何だろうが使われたもの勝ち

800 名前:デフォルトの名無しさん mailto:sage [2018/02/22(木) 22:26:35.15 ID:K6gwUVsb.net]
Ruby にも、アルゴリズム・数学系のライブラリが揃っていれば、
蛇には負けぬものを。ぐぬぬぬぬ

実際、プログラミングコンテスト・パズル系は、Rubyで説明することが多いのに

801 名前:デフォルトの名無しさん mailto:sage [2018/02/23(金) 04:41:21.61 ID:rDH2T2Uu.net]
今日からRubyの勉強する
楽しみ

802 名前:デフォルトの名無しさん mailto:sage [2018/02/24(土) 23:08:36.72 ID:ysq1mmzI.net]
Ruby 2.6.0-preview1 リリース
https://www.ruby-lang.org/ja/news/2018/02/24/ruby-2-6-0-preview1-released/

803 名前:デフォルトの名無しさん [2018/02/25(日) 04:05:29.41 ID:pcyqC+jB.net]
numbers = (1..7).to_a

この配列を、前から走査して、ある数字が見つかった時、
その数字より前の配列と、その数字を含めて、その数字より後ろの配列に、
1-pass で分ける、簡潔な書き方はありますか?

partition, group_by, each_with_object とか?

例、4 が見つかった場合
[1,2,3]
[4,5,6,7]

804 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 04:12:39.42 ID:OLqFO2yC.net]
ありまぁす!

805 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 08:53:07.29 ID:Mg3bT8JO.net]
元の配列に4が1つしかなくてソート済みならpartitionでいいんじゃない
numbers.partition{|e| e < 4}

そうじゃないなら素直にやるしかないかと
i = numbsers.find_index(4)
numbers[0...i]
numbers[i..-1]

もしくは
numbers.take_while{|e|e != 4}
numbers.drop_while{|e|e != 4}

806 名前:781 mailto:sage [2018/02/25(日) 08:59:55.65 ID:pcyqC+jB.net]
SASS, HAML, Markdown とか、皆どれを使っているの?

>>783
ありがとう。素直にやるしかないですか

807 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 10:55:59.02 ID:mAmrOOAm.net]
Rails6開発開始

808 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 11:54:19.33 ID:OLqFO2yC.net]
>>784
ありまぁす!って言ってんだろうが



809 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 11:58:14.59 ID:OLqFO2yC.net]
[1, 2, 3, 4, 5, 6, 7].slice_before(4).to_a
=> [[1, 2, 3], [4, 5, 6, 7]]


(to_aはEnumeratorをそのまま使うようにすれば不要)

810 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 12:22:26.69 ID:caIICGcE.net]
これからRuby on RAILS勉強するんですけど
なんかいい参考書とかHPありますか?

811 名前:781 mailto:sage [2018/02/25(日) 12:57:24.51 ID:pcyqC+jB.net]
>>787
(1..7).slice_before(4).to_a
=> [[1, 2, 3], [4, 5, 6, 7]]

[1,2,4,5,4,6].slice_before(4).to_a
=> [[1, 2], [4, 5], [4, 6]]

slice_before だと、探している数字が複数回あると、
そこから新たに、グルーピングが始まる

>>788
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014

黒田の本は、わかりやすい。
ただし、他の著者で、Rails 5 の本も出ているかも

812 名前:デフォルトの名無しさん mailto:sage [2018/02/25(日) 13:36:01.35 ID:OLqFO2yC.net]
> slice_before だと、探している数字が複数回あると、
> そこから新たに、グルーピングが始まる

仕様どおりだろ

813 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 16:15:39.63 ID:shVfNcyg.net]
erbとかのテンプレートを元に画像を生成するgemってありませんか?
thinreportsでpdfではなくbmp,pngなどの画像を出力する感じです

814 名前:デフォルトの名無しさん [2018/02/27(火) 21:18:11.05 ID:PLAOSS1/.net]
「selenium webdriver screenshot」で検索!

Electron でも出来る

815 名前:デフォルトの名無しさん mailto:sage [2018/02/27(火) 21:25:08.90 ID:+EUBPr3t.net]
inline_svg とか?

816 名前:デフォルトの名無しさん mailto:sage [2018/02/28(水) 00:12:23.88 ID:mWE0Cmql.net]
>>784
AsciiDoc/Asciidoctor

817 名前:デフォルトの名無しさん mailto:sage [2018/02/28(水) 19:08:53.94 ID:acVWAXbg.net]
シェルコマンドでimagemagick呼べばいいよ
gemすら使わずに一瞬でできる

818 名前:デフォルトの名無しさん mailto:sage [2018/02/28(水) 21:12:02.76 ID:mIXPiXOq.net]
TSVデータを処理したいんですが
末尾の空白文字(タブ)がいつの間にか消えてしまいます

splitが自動削除するのは分かったけど他でも消えてる様です
この暗黙の空白削除現象を検索しても引っかからないんですがいい検索単語はないですか?
あと勝手に削除する理由はなんなんでしょう



819 名前:デフォルトの名無しさん mailto:sage [2018/02/28(水) 21:36:50.04 ID:bddDF+sp.net]
https://docs.ruby-lang.org/ja/latest/class/String.html#I_SPLIT

820 名前:796 mailto:sage [2018/02/28(水) 22:18:52.36 ID:mIXPiXOq.net]
原因分からなかったけど解決しました

ループ内で毎回Hashに加えていくのを一旦stringにまとめてから
ループ後のHashに加えるようにしたら"\txxxxx\t\n"の後ろのタブが消えなくなりました

821 名前:796 mailto:sage [2018/02/28(水) 22:22:19.89 ID:mIXPiXOq.net]
前に壊したデータ読み直してました

822 名前:デフォルトの名無しさん mailto:sage [2018/03/02(金) 00:03:53.83 ID:7c4/pzB6.net]
windows環境でrRubyinstaller2でインストールしてruby.exeのパスに非アスキー文字が含まれていると
requireしたときに$LOAD_PATHの非アスキー部分が文字化けしてload errorが起きるんですけど何か対処法はありませんでしょうか?
その場的に今はUTF-8で書いたコードの中で$LOAD_PATHに対応するパスを挿入して動かしてるんですが。。。
諸事情によりrubyはアスキー文字配下にインストールできないものとします

823 名前:デフォルトの名無しさん mailto:sage [2018/03/02(金) 03:54:56.19 ID:QlU5Q+B8.net]
今すぐアンインストールしてWSLを入れよう

824 名前:デフォルトの名無しさん mailto:sage [2018/03/02(金) 05:39:12.36 ID:xypD9Mi9.net]
>>800
バグ報告してくるんだ

825 名前:デフォルトの名無しさん [2018/03/02(金) 07:54:43.19 ID:mIGjbFX+.net]
Windows のirb でも、ascii 以外は正常に動かないから、
irb を使う時だけ、WSL・Ubuntu の方を使っている

UTF-8 では、cp932(shift-jis)が読めないのだろう

起動時オプションで、cp932 を指定すれば、読めるかも知れないけど、
逆にRuby 内部で、cp932 はヤバイのじゃないか?

UTF-8以外を使うと、他のアプリと通信できないとか、バグりそう

とにかく、PC のユーザー名・パス名などに、半角英数字以外を使うと、
多くのアプリでバグる

826 名前:803 mailto:sage [2018/03/02(金) 11:51:22.61 ID:mIGjbFX+.net]
Windows のPowerShell から、Ruby の1-liner を実行すると、ファイル名だけが\x 表示された。
PowerShellのデフォルト文字コードが、UTF-8 だから、フォルダ名は正常に表示された

> ruby -rfileutils -e "puts FileUtils.pwd"
C:/Users/Owner/Documents/あいう

> ruby -e "p Dir.glob('*')"
["\x{8345}\x{8343}\x{838B}\x{8358}.txt", "\x{8376}\x{838D}\x{834F}\x{838C}.txt"]

> ruby -E :shift_jis -e "p Dir.glob('*')"
起動オプションに、外部エンコーディングをUTF-8のままで指定せず、
内部エンコーディングだけをshift_jis に指定すると、正常に表示された
["ウイルス.txt", "プログレ.txt"]

漏れは一々、起動時やファイル内に、文字コードを指定するのが面倒なので、
Windowsのユーザー環境変数に、RUBYOPT を追加して、--encoding=UTF-8 を設定している。
ただし、こうすると、irb が動かなくなるので、Windows10 のWSL・Ubuntu のirb を使っている

一方、WSL・Ubuntu・bash から、上記を実行すると、
デフォルトで、どちらも正常に表示された

Windows で実行する場合は、PowerShellはUTF-8、コマンドプロンプトはCP932 がデフォルトだから、
これらのシェルの文字コードか、Ruby側の文字コードを指定する

まあ、shift_jis の処理は、危険だと思う。
@などのWindows独自のCP932文字(環境依存文字)があって、
shift_jis・CP932は微妙に異なるから、どこまで正常に動くか分からない

827 名前:デフォルトの名無しさん mailto:sage [2018/03/02(金) 12:00:42.65 ID:OCKmRFPd.net]
なにをごちゃごちゃやってんだ?

こういうのは変換すべきレイヤーで変換するだけの話だろ
Rubyのスクリプト(に限らないが)は
どこでも同じように動かすんだから
ソースコードも内部も UTF-8だ
画面への入出力時に変換させればいいだけ

コマンドプロンプトをUTF-8に変換するって手もある
海外じゃCP932という日本専用の文字コード使ってないことぐらいわかるだろ?

828 名前:デフォルトの名無しさん mailto:sage [2018/03/02(金) 12:39:35.62 ID:vnF4MMGw.net]
元々はwindowsのワイド文字をうまくutf8に変換してやってこうという方針だったのに
nobuがロケールに変換させまくって動かないだけ
まあ誰もバグ報告しないのも悪いけど



829 名前:803 mailto:sage [2018/03/02(金) 13:14:57.35 ID:mIGjbFX+.net]
Rubyist は、RubyでGem を作れるけど、C で低レベルなI/O を書けるわけじゃない

また、Linux・Windows の両方に対応させるのは、難しい

830 名前:803 mailto:sage [2018/03/02(金) 16:17:45.17 ID:mIGjbFX+.net]
library irb/input-method
https://docs.ruby-lang.org/ja/latest/library/irb=2finput=2dmethod.html

class IRB::ReadlineInputMethod のソースコードを見れば良いの?
それとも、GNU Readline のソースコードかな?

Windows のirb で、日本語がバグるのは、
根本的に、GNU Readline が、Windowsの日本語を考慮していないからじゃないの?

831 名前:デフォルトの名無しさん mailto:sage [2018/03/02(金) 16:40:11.45 ID:ypGJ9h8+.net]
というかrubyコミュニティがwindowsを考慮してない。
むしろ怨み、蔑み、嫌っている。昔から。

832 名前:デフォルトの名無しさん [2018/03/02(金) 17:18:20.26 ID:0lL3/u0V.net]
>>809
そだねー

833 名前:803 mailto:sage [2018/03/02(金) 17:55:40.44 ID:mIGjbFX+.net]
console.log("あ");

Windows で、node (REPL)を実行したけど、
日本語を入力しても、PowerShell・コマンドプロンプトの両方で、正常に動く

834 名前:デフォルトの名無しさん mailto:sage [2018/03/02(金) 23:07:42.42 ID:wSJnGqkk.net]
RubyはLinuxで動かすようにすればいいよ
WindowsでちょこっとしたやりたいことがあるならC#使え、と
どうせ仕事でやってるRubyはLinuxで動くんだからさ

Windowsマシンでの開発ならVMかDocker使えばすべて解決

835 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 01:14:23.68 ID:vdurK0jv.net]
ありがとうございました
ググってみたら結構前から報告されていたバグみたいなので諦めることにします

836 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 01:19:41.29 ID:GGmAMA7z.net]
>>800
$LOAD_PATHをforce_encoding()で環境に適応したエンコーディングを設定したら?
あるいは、バイナリに設定して、むりやりそれっぽいバイトデータをつっこむとか?

837 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 01:21:46.51 ID:GGmAMA7z.net]
>>808
chcp 65001とかしてもダメかね?

838 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 15:41:40.19 ID:VQ/a88pK.net]
cmd で chcp 65001 するくらいなら
git for windows インスコして git bash (mintty) 使うと幸せになれるぞ



839 名前:デフォルトの名無しさん [2018/03/03(土) 15:43:54.56 ID:x/6oRrTp.net]
65001 は右端とか折り返し表示がバグるね

840 名前:803 [2018/03/03(土) 15:49:49.91 ID:HcfLoqAp.net]
Ruby の起動オプションに、外部・内部エンコーディングか、RUBYOPT で指定できる。
ファイル内でも指定できる

それと、PowerShell・コマンドプロンプト、WSL・Ubuntu・bash で指定できる

これらの組み合わせの中で、文字化けしない組み合わせを探す

または、$LOAD_PATH の辺りで、指定するとか

841 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 17:58:14.02 ID:URsJSGy/.net]
Rubyの2.5.0p2をRubyインストーラーでインストールしたらRubyの2.5.0p0だった・・・

842 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 18:17:52.81 ID:A+Ivs8ru.net]
patchlevelはもう無いよ

843 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 18:26:46.78 ID:VQ/a88pK.net]
>>818
そんな試行錯誤は一番あかんやつや

844 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 21:39:09.27 ID:rw2aiDdk.net]
そうそう。結局 Rubyやirb に問題が有るんじゃなくて
単に >>803 が理解してないだけ

845 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 21:55:10.06 ID:GRjh9/QH.net]
そういうことだから理解できない初心者は間違ってもrubyなんか使おうと思わないようにね。
初心者や子供にruby勧めてくるのは例外なくマウント取りたいだけのクズだぞ。

846 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 21:56:04.27 ID:ETPjeMg1.net]
書籍のサンプルコードの一部です
この@memoという変数はいわゆる辞書形式のデータ構造で
[remain, pre]は辞書のキー(複合キー?)という理解でいいんでしょうか
ちなみに@を付けないとどうなりますか
変数名に記号が付くのが凄く気になります

@memo = {}
# 計算結果をメモする
@memo[[remain, pre]] = cnt

847 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 22:30:11.11 ID:gHPIEkfR.net]
>>824
[remain, pre]は辞書のキーって理解であってる
irb等のREPLで試すとすぐ分かる
@はインスタンス変数に付けるプレフィクス

848 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 00:30:02.17 ID:99M3BGnn.net]
>>825
ありがとうございました



849 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 02:42:13.82 ID:Oz1ASWrr.net]
キーに配列が使えるのか・・・

850 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 04:12:18.75 ID:aAfADGFK.net]
オブジェクトはなんでもイケるんじゃなかったっけ?
ハッシュ値さえちゃんと返せば。

851 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 11:33:10.30 ID:7gUy2hud.net]
キーにした配列を変化させた時はrehashしないとキーが一致しなくなる
文字列のキーは変化させても、キーはセットしたときのまま

852 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 11:34:10.89 ID:Oz1ASWrr.net]
なるほどね。先入観として[a,b]ってかいたら毎回newされて、
キーとしては未定義値のnil固定か、別オブジェクト扱いで不定になるか、と思えた

853 名前:デフォルトの名無しさん [2018/03/05(月) 16:37:38.89 ID:62GuhFZ7.net]
str = <<'EOT'
str = << 'EOT'

here doc で、下のように、<< の後ろに半角空白があると、文法エラーになる

それと、WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理すると、

改行コードが異なるから、不正な形式のファイルと言われる。
改行コードを、LF だけに変えると、正しく処理できる

854 名前:デフォルトの名無しさん [2018/03/05(月) 22:15:57.90 ID:xs+Qg6beE]
便乗して報告するよ。
exp()の前後でxの正負が逆転します。
たぶん、Cで書き換えてからだと思う。

$ irb
irb(main):001:0> require "bigdecimal"
=> true
irb(main):002:0> x = BigDecimal("-50")
=> -0.5e2
irb(main):003:0> BigMath.exp(x, 50)
=> 0.19287498479639177830173428165270125747528326512303e-21
irb(main):004:0> x
=> 0.5e2

855 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 17:53:15.03 ID:aK37pZ+C.net]
mode: 'rt'
で読み込めばいいじゃん

856 名前:831 mailto:sage [2018/03/05(月) 19:10:41.11 ID:62GuhFZ7.net]
options に行区切りを指定したら、

WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理できた

row_sep: "\r\n" では出来たが、
row_sep: :auto では、エラーになる

857 名前:デフォルトの名無しさん [2018/03/05(月) 21:53:10.11 ID:K/Y9LwEe.net]
require ‘pry’
def foo;@a = 1;end
binding.pry

このコードを実行し、出て来たプロンプトで
> cd Object
> instance_methods(false)
=> [:to_yaml, :to_yaml_properties, :pry, :__binding__, :psych_to_yaml]

と出ました。fooメソッドが見つかりません。
トップレベルで定義したfooメソッドはObjectのメソッドに成るのでは?

ちなみにコマンドラインでpryとタイプして
[1] pry(main)> def foo;@a=0;end
=> :foo
[2] pry(main)> cd Object
[3] pry(Object):1> instance_methods(false)
=> [:to_yaml, :to_yaml_properties, :pry, :__binding__, :psych_to_yaml, :foo]
[4] pry(Object):1>
ちゃんとfooが見えます。

858 名前:デフォルトの名無しさん [2018/03/05(月) 22:05:54.92 ID:K/Y9LwEe.net]
自己解決しました。
[1] pry(main)> self.private_methods(false)
とすれば見えました。



859 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 14:39:13.23 ID:veKfJdlp.net]
1

860 名前:デフォルトの名無しさん [2018/03/15(木) 18:29:02.24 ID:5enxwtKu.net]
RubyからDB扱うときって皆は何のライブラリ使ってるの?

861 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 19:28:59.60 ID:tIXtXy4E.net]
RubyでDBを扱う場合、プロダクションで使われているのは世界で唯一ActiveRecordのみ

862 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 21:18:59.56 ID:OYGfq7D7.net]
インターフェースじゃん。
バックでmysqlとか動いてるぞ。
いいからちゃんと勉強しろよ。

863 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 21:31:02.48 ID:rmXeLovx.net]
>>840
ライブラリで答えてください

864 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 23:24:57.24 ID:xG9lbsTH.net]
>>838
ActiveRecordが大半なのは間違いない

ORMを求めてるならsequel、rom、hanami等
素のDBライブラリならmysql2, sqlite3-ruby, ruby-pg
ArelでSQLを構築してDBライブラリ使ってSQL実行してもいい

865 名前:デフォルトの名無しさん [2018/03/16(金) 15:24:05.43 ID:3ma6aQHv.net]
sqlite3

866 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 18:23:28.28 ID:2Gd98HT2.net]
>>840
Rails屋がSQLすら書けなさそうに見えて腹立つのは分からんでもないけど、今はDBインターフェースの話しかしてないぞ

867 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 23:22:04.16 ID:yiSYhWxU.net]
「Node.js超入門、掌田津耶乃、2017」を読んでいるけど、JavaScript の基本は、Ruby

Ruby のSinatra, JS のNode.js を、full scratch で書くと、ほぼ同じ

Rails, JSのExpress + Bookshelf が、ほぼ同じ

868 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 23:24:51.12 ID:3NuYtiCt.net]
掌田津耶乃ってダメな本じゃなかったか?



869 名前:844 mailto:sage [2018/03/17(土) 00:05:48.37 ID:nxO/ldT7.net]
プログラミング本では、掌田が第一人者。
Unity, UE4 などのゲームエンジンから、最近は、Python, Node.js にも進出

売れる・成長する分野には、必ず掌田が参入してくる。
業界の風見鶏

「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails を学ぶ方が簡単。
20時間ほどで読める

後は、YouTube の動画で、OK

870 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 00:10:02.58 ID:6ii9LbbD.net]
やっぱ掌田津耶乃ってだめな人だった
調べたらわかったよ

871 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 00:34:45.99 ID:4Xu/HAYS.net]
今の時代、開発速度が速すぎて誰も良い本なんか書けないよ
それを書き終わる頃には時代遅れになってるんだから

872 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 00:38:04.22 ID:6ii9LbbD.net]
いや掌田がとりわけレベル低いだけ

873 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 01:55:30.84 ID:+wQGtQt+.net]
掌田津耶乃はだめな本
山田 祥寛は良い本

という評価が一般的
掌田津耶乃は何冊か読んでいるけど、
見比べてみるとたしかにダメダメなんだなぁ。

874 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 02:08:55.36 ID:6ii9LbbD.net]
山田 祥寛もダメだろ

875 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 05:35:09.75 ID:77P/HBnW.net]
掌田津耶乃はHyoerTalkなまりのコード

876 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 09:18:19.49 ID:nxO/ldT7.net]
最近は、Python にも、なでしこの作者・クジラ飛行机、
大津真、掌田も、乗り込んできた

この辺は、売れ筋には参入してくる著者

中でも掌田は、ゲームエンジン・言語・Javaのフレームワーク・Node.js など万能

877 名前:デフォルトの名無しさん [2018/03/17(土) 12:59:20.73 ID:OC0Ef+g3.net]
またあらぶっとるんか糞荒らし
はやくRubyコミュで発言しろよ屑

878 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 14:32:15.41 ID:+wQGtQt+.net]
要はね
掌田の出版本を見てみるとわかるが、
初心者を食い物にしている
初心者専用の作者なわけよ、

だからレビューとかで
表面だけかじって書いたかのような本とか
書かれちゃうわけよ。

深く知りもしないであれだけの数の本を書けるわけないよね。
だから掌田はおすすめできないんだわ。

初心者にはいいかもしれないよ?
初心者向けの本ばかり何冊も何年も書き続けているから。



879 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 15:47:30.97 ID:uAf5LbgY.net]
商売としては全然アリだね
とっかかりが欲しい初心者いるだろうし

880 名前:デフォルトの名無しさん [2018/03/17(土) 16:43:12.02 ID:cWw1OMJa.net]
>>856
ほんそれ

881 名前:844 mailto:sage [2018/03/17(土) 19:43:45.96 ID:nxO ]
[ここ壊れてます]

882 名前:/ldT7.net mailto: デザインもカラフルで、図解してあるから、すごくわかりやすい。
売れるから、こういう外注予算が大きい

オライリーでは、図解・デザインは無いから、読むのに時間が掛かる。
図解は視覚だから、瞬時に理解できるけど、
言葉の説明だと、それを図に置き換えて、考えないといけないから大変

掌田の本は、ものすごく短時間で理解できるから、効率的。
すごく消化・吸収に良いし、
時間も節約できるから、時給換算すれば大得

漏れには、時間が掛かる・細かい・理解できない、100の知識はいらない。
短時間で、よくわかる、50の基礎知識がさえ有ればよい。
あとは動画を見て、応用するから

「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails が分かる

「10日でおぼえる jQuery 入門教室 第2版、山田祥寛(よしひろ)、2013」
この本で、Nokogiri が分かるのと同じ

本が出ていない場合とか、難しい本しかない場合に、非常に役に立つし、速い
[]
[ここ壊れてます]

883 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 09:45:02.22 ID:JzaiKxSG.net]
>>856
食い物とか、被害妄想凄いな。
お前さんがもっとマシな解説ブログでも開いたら?w

884 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 12:36:10.41 ID:Gg1K6bSi.net]
>>860
頭使ってる?
掌田津耶乃が何冊初心者用の本を出しているか知っている?
ちょっと考えれば、
英語、ドイツ語、フランス語の言語学習の本を書いたとしたら
その言語のことをどこまで知っていて本を書いているんだろうとか気にならないの?
もし気にならないんだったら、表面的な知識だけで満足しているお前とは合わないのでバイバイ ノシ

Amazon.co.jp: 掌田 津耶乃:作品一覧、著者略歴
https://www.amazon.co.jp/%E6%8E%8C%E7%94%B0-%E6%B4%A5%E8%80%B6%E4%B9%83/e/B004L5AED8/ref=sr_tc_2_0?qid=1521344021&sr=8-2-ent
掌田津耶乃(しょうだつやの)。ほぼ男性。テクニカルライター兼3流プログラマ。

自分でも3流プログラマと認めているのに、まったく信者って奴は・・・

885 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 12:52:44.19 ID:QAeUSVF3.net]
こんなスレがあったで

掌田津耶乃って何者? (Late 2012)
https://anago.5ch.net/test/read.cgi/mac/1349360916

886 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 12:55:57.40 ID:QAeUSVF3.net]
基本的に流行ってるものを、ざっと調べてまとめただけなんだろうな
だから初心者レベルのところまでしか書けない
概要を知るところまでで、あれを参考にしてコードを書いてはいけない

887 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 16:36:38.11 ID:Aq9RvNC1.net]
HypaerCardの本も出してたから もう30年以上初心者向けの本出してるベテラン 

888 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 19:04:35.10 ID:Pu83I0V3.net]
Amazonのレビューでよく思うけど、海外の人は褒めるのが上手。いい面を見てる
日本人は100点じゃなきゃ糞みたいな心の狭い人が多い
初心者向けの本なんかにケチつけなくてもいいだろうに
今は公式サイトのドキュメントが充実してる時代なんだから、ほぼ公式くらいのことしか書かんだろうよ



889 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 19:43:48.34 ID:Gg1K6bSi.net]
そうだな、ネイティブと喋れない、英検準2級、TOEIC500点ぐらいの人が教えているって感じ。
そんなイメージが掌田津耶乃さん。

890 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 20:16:15.41 ID:i3culXas.net]
ご尊顔
interview-bookscan.s3-ap-northeast-1.amazonaws.com/newimg/interview_178_index.png

891 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 21:55:23.04 ID:JzaiKxSG.net]
>>861
いや長文必死にならなくても、お前さんが自分で解説するだけの知力すら無いってのは分かったから。

892 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 21:59:08.72 ID:QAeUSVF3.net]
なんで作者本人が自分で三流ですって言ってるのに、
他人が三流であると解説する必要があるんだ?

893 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 23:16:11.58 ID:Gg1K6bSi.net]
>>868
自己紹介乙

894 名前:デフォルトの名無しさん [2018/03/18(日) 23:24:43.53 ID:JFJ3EKTR.net]
Java, Ruby のフレームワークを書ける人は、少ない。
山田祥寛(よしひろ)、掌田津耶乃、宮本信二、黒田努など

山田は会社向けの、1日4万円の講座などを開いている

一方、掌田は初心者向け。
Unity, UE4 などのゲームエンジン、
Python などの売れ筋言語、
Spring などのJavaのフレームワーク、
Node.js + Express などのJavaScript のフレームワークなど、万能

山田は会社員、掌田は初心者と、ターゲットが異なる。
もし、同じターゲットなら、両雄並び立たずで、共倒れするから

895 名前:デフォルトの名無しさん [2018/03/18(日) 23:54:42.62 ID:3ZuC3w8U.net]
自演注意
自演注意
自演注意

896 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 04:32:11.24 ID:csFbH6Mx.net]
File.open('test.txt', 'r+') do |io|
text = io.read
io.rewind

io.write 'あ'
p io.pos #=> 3

io.truncate io.pos
end

読み書き両用ファイルの、ファイルサイズを減らして、上書きできた

io.rewind で、ファイルポインタを先頭に巻き戻す。
io.truncate io.pos で、現在のファイルポインタの位置で、ファイルを切り詰める

897 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 23:14:51.84 ID:QfE06Qcj.net]
>>870
反論すら出来ない奴は、つまらんね。

898 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:56:42.17 ID:p8DsWgGG.net]
変なこと聞くけどさ、rspecでさ、まあ適当にサンプル書くけど

describe "hoge do
 before do
  ・・・
 end

 context do
  let(:a) { 1 }
  ・・・
  it 'hage' do
   expect(a).to be 1
  end
 end
end

コレに限った話じゃなくて、rspecの使い方で内側のブロック(例えばitの中)から
外側のブロック(例えばcontextの中)の状態(例えば変数)を
書き換えるのを禁止にしても何の問題もないよね?もちろん参照するのはOK。
テストはどう有るべきかを考えたら、むしろそうした方が良いぐらいじゃないかって思うんだけどどうかな?



899 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 01:22:34.72 ID:qUqb4QSc.net]
ネストしたcontextで
内側のcontextが外側のcontextで設定した状態を
書き換えるような形でテストを書いても別にいいと思うけどな

900 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 01:57:04.18 ID:p8DsWgGG.net]
>>876
でもそうするとテストケース一つとか実行した時におかしくならない?

901 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 04:11:05.87 ID:rJLoGwxo.net]
>>874
自己紹介乙

902 名前:デフォルトの名無しさん [2018/03/21(水) 07:02:14.53 ID:wxFTzoek.net]
外部への依存が少なければ、個々のテストの独立性が高いから、
バグが減るし、テストを並行実行できる

それが理想だけど、実現するのは難しそう

903 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 16:09:18.41 ID:qUqb4QSc.net]
>>877
おかしくならないよ
let(:a) { 2 }とかで上書きしてみればわかるでしょ

904 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 16:22:28.39 ID:p8DsWgGG.net]
>>880
上書き?
letは新たにローカル関数を作るようなもので
親ブロックのaを上書きなんかしてないよ

905 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 16:24:44.94 ID:qUqb4QSc.net]
>>881
それ分かってるんなら
何がおかしくなると思ってるの?

906 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 16:47:19.64 ID:p8DsWgGG.net]
>>882
内側のブロックで外側のブロックの変数に値を入れた場合だよ

907 名前:デフォルトの名無しさん [2018/03/30(金) 15:22:33.47 ID:87KFZNYL.net]
Chrome 65 になったら、selenium webdriver が動かなくなったので、
chrome driver 2.37 を、ダウンロードしてみた

これで動くかどうかは、まだ試してないけど

908 名前:883 mailto:sage [2018/03/30(金) 20:31:06.53 ID:87KFZNYL.net]
新しいバージョンの、chrome driver にしたら動いた



909 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 16:44:40.27 ID:0KaYXtgi.net]
すみません、質問があります。
他人様の書いたコードを読んで写経しながら勉強していた所、
begin
#何らかの処理A(特に例外を出しそうな処理ではない)
end until hoge

という記述があったのですが、この書式の意味というか意図がいまいちつかめなくて困っています。
自分でコードを書いて試してみた所、この記述はhogeがtrueでもfalseでも処理Aを実行しており、
特に「until hoge」の部分で何を制御したいのかがわかりません。

(begin
#処理
end) until hoge

例えば、↑の書き方だと単純なuntil文の後置修飾になるので意味がわかるのですが、
上述のような書式で書く理由や、こう書くとどういうメリットがあるかを教えていただけますと嬉しいです。
よろしくお願いいたします。

910 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 16:51:30.58 ID:1KgD14Zs.net]
(と)の二文字省略できる

911 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:15:27.40 ID:9myXjpPz.net]
>>886
下のAとBは同じことをするんだけど、Aだと1行目と4行目が同じでもやっとするのでBのように書いているのでは
個人的にはbegin〜endをメソッドにしてこうは書かないけど
begin〜end untilのほかにもbegin〜end whileも同様

# A
i = Time.now.sec
until i % 3 == 0
p i
i = Time.now.sec
end

# B
begin
i = Time.now.sec
p i
end until i % 3 == 0

912 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:18:46.83 ID:9myXjpPz.net]
訂正

# A
i = Time.now.sec
p i
until i % 3 == 0
i = Time.now.sec
p i
end

# B
begin
i = Time.now.sec
p i
end until i % 3 == 0

913 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:32:20.95 ID:0KaYXtgi.net]
>>888-889
ご回答頂きどうもありがとうございます。
なるほど、この書式だとbegin~end内の処理が1回は必ず実行されて、
その後に条件文で判定されるようになるので、同じ処理(例だと代入処理)を2度書かなくて済むようになるんですね。

とても勉強になりました。

個人的にはコード行数が増えたり同じ処理が連続するよりも、
ひと目で意図する処理が他人に伝わらないのはちょっと嫌なのでこの書き方は真似しないようにします……。

914 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:40:44.12 ID:KXX7rc47.net]
いや、それはおかしい。
リトライやリドゥーみたいな処理で、必要であれば、ためらわずそう書くべき。多少わかりにくくても。
いずれ慣れるから。

なんなら、先頭にコメントをつけとけば。

915 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 17:57:12.31 ID://EuH1G7.net]
絶対的なルールではないけどこんなものもあるんで参考までに

ruby-style-guide
>後判定ループの場合、begin/end/untilやbegin/end/whileより、
>break付きのKernel#loopを使いましょう。
https://github.com/fortissimo1997/ruby-style-guide/blob/japanese/README.ja.md#user-content-loop-with-break

916 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:00:28.18 ID:ZcGM330i.net]
(なにかしら).method

do
なにかしら
end メソッド


みたいなもんだからRuby規則に沿っているだろ

917 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:17:17.82 ID:A31P7FUz.net]
>>892
後判定ループを行うのにbegin-end-while/untilが好ましくない理由を俺に教えて欲しい

918 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:21:45.55 ID:hwmab9Mq.net]
>>894
英語的にキモいからだろ
end until ってさすがに非ネイティブの俺でも不自然に感じるぞ



919 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:27:29.70 ID:Aa3HndXz.net]
英語的な自然さを求めるなら、loopをendのエイリアスということにして loop while/until かな
VBがそんな感じだったはず
まあジャップ製言語だから仕方ないね

920 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:31:46.49 ID://EuH1G7.net]
>>894
beginの中が長いと上から読んでてループするんだかrescueするんだかわかりにくいからじゃない?


921 名前:ruby-style-guideはコメントを極力書かないで済むようにするのが目的の一つだから
まあ個人的には首肯しかねるルールもいくつかあるけどね
[]
[ここ壊れてます]

922 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:43:23.68 ID:hwmab9Mq.net]
>>897
それもあるね
日本人からすると「〜〜(長い長い手続き)〜〜をループさせろ」は自然な流れだけど、
向こうの人からすると「結論から話せやファッキンジャップ」だろうな

923 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 21:03:13.03 ID:A31P7FUz.net]
>>897
ああ、なるほど
そういう観点だったのね
ありがとう

924 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 12:57:38.84 ID:g/2XFKpH.net]
ブロッキング条件なら後に来るの自然に感じる
長過ぎるとってのはどんなブロックでも同じ

925 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 13:03:59.66 ID:KugB3K+A.net]
SV
これは第一文型なんだから
文章.method
SをVするで普通の英語じゃん?

926 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 13:11:22.76 ID:6hj+x7xd.net]
おいおい…
「を」は対格を作る格助詞だぞ。
記号で書くとV(=verb=動詞)O(=object=目的語)だ。
SVは
S(=subject=主語)V(=verb=動詞)で、
S「が」Vする、だ。

927 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 13:22:58.60 ID:g/2XFKpH.net]
自然言語なんて例外だらけなんだからどうでもいい

928 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 13:41:31.43 ID:eDlvSPE1.net]
sendを使う度にモヤモヤした気持ちになる



929 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 14:10:59.70 ID:HZoT/r0A.net]
それより>>895だろうな
begin〜end系言語で結びにend whileなんて書くのrubyくらいじゃないか?
たいてい>>896みたいにendを別の単語に変えてる

930 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 18:13:06.38 ID:TBzY9DYT.net]
そりゃそもそもend書かせる主流言語が少ないし

931 名前:デフォルトの名無しさん [2018/04/03(火) 03:47:06.97 ID:hZewAlsv.net]
>>890
同じ処理を、別の場所に2回書くと、

修正時に、2か所とも修正しないといけないから、
どちらかを修正し忘れる事があるので、危険

932 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 04:10:23.05 ID:8HWTUUN8.net]
Donot
Repeat
Yourself

933 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 23:32:43.51 ID:q2DveEBR.net]
Do
Repaet
Yourself

934 名前:デフォルトの名無しさん [2018/04/04(水) 02:02:25.22 ID:h2UR4/YM.net]
Reuse
Reduce
Recycle
Ruby

935 名前:デフォルトの名無しさん [2018/04/05(木) 14:25:03.13 ID:eFdDptlj.net]
selenium-webdriver で、Chrome のHeadless mode で、
5ch の投稿者名・書き込み内容を、抜き出してみた

driver.navigate.to "https://mao.5ch.net/test/read.cgi/linux/1479499953/8-9"

elements = driver.find_elements(:css, 'div[data-id]')

elements.each do |elem|
str = elem.attribute('data-id') + ' 投稿者 :'

# CSS では、コンテキストの直下を表現できないので、xpath を使う
# str += elem.find_element(:css, '> div.meta > span.name').text
str += elem.find_element(:xpath => "div[@class='meta']/span[@class='name']").text
puts str

str = '内容 :'
str += elem.find_element(:xpath => "div[@class='message']/span").text
puts str
end

936 名前:デフォルトの名無しさん mailto:sage [2018/04/07(土) 05:31:34.17 ID:Cc4pa2fK.net]
三ヶ月在れば一つのプログラム言語を習得しアプリケーションを作ることが出来るw
https://mevius.5ch.net/test/read.cgi/win/1504394535/9

おいらは習作はしない、他愛ないことはやらないのだ
https://mevius.5ch.net/test/read.cgi/win/1503735829/881-883

C#なんてのはVZの開発環境にないwww
https://mevius.5ch.net/test/read.cgi/win/1520923324/913

ワロタ、ワロタ
https://echo.5ch.net/test/read.cgi/win/1467974448/129-132

937 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 14:20:42.12 ID:JYaIVkeP.net]
10年以上前に学校でスクリプト言語を勉強してたときはPH

938 名前:Pが流行ってて
Perlもあったけど少し古いかなって感じ。ただとにかくJAVAが騒がれててJSP+tomcatなんかもやったな。
Rubyはあったけどそんなに話題にならず。
で最近、またスクライピングがやりたくて色々調べたら
もうPHPも下火?でRubyとpythonとかいう言語が主流みたいですね。
[]
[ここ壊れてます]



939 名前:デフォルトの名無しさん [2018/04/08(日) 15:16:13.15 ID:nkM5b3tX.net]
Rubyは主流じゃない

940 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 16:26:08.93 ID:ikNNlzZg.net]
PHPが下火でRubyが主流がねーわ。
人気を捏造しないと好きな言語も恥ずかしくて使えないのか軟弱者め。
たとえ世界の全てが使わなくても自分だけはRubyを使い続けるという気概を持てよ情けない奴

941 名前:デフォルトの名無しさん mailto:sage [2018/04/08(日) 17:41:41.41 ID:mE+8rAwy.net]
2ch/5chでは、日本人が作ったというだけで、だめ扱いする書き込みがあるから
注意すべし。どこかぞの国から書き込まれている事がある。

942 名前:デフォルトの名無しさん [2018/04/09(月) 11:49:58.15 ID:M/BmQ9Z1.net]
以下の半角空白区切りの行から、稼働時間を求めるには、どうやるの?
夜、24:00 以上の数字もあります

2018/09/09 09:45-24:00
2018/10/10 23:00-27:15

943 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 12:21:03.03 ID:2h6IFanV.net]
>>917

date = "2018/09/09 09:45-24:00"
m = date.match(/(\d\d):(\d\d)-(\d\d):(\d\d)/)[1, 4].map(&:to_i)
min = (m[2] - m[0])*60 + m[3] - m[1]
p "%d:%d" % min.divmod(60) # => "14:15"

944 名前:916 mailto:sage [2018/04/09(月) 13:15:44.73 ID:M/BmQ9Z1.net]
ありがとう

Date, DateTime, Time などの形で、引算で求められませんか?

945 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 13:42:09.51 ID:2h6IFanV.net]
date = "2018/09/09 09:45-24:00"
m = date.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg = Time.new(m[:year], m[:month], m[:day], m[:begh], m[:begm])
fin = Time.new(m[:year], m[:month], m[:day], m[:finh], m[:finm])
min = (fin - beg)/60
p "%d:%d" % min.divmod(60) # => "14:15"

946 名前:916 mailto:sage [2018/04/09(月) 14:17:26.06 ID:M/BmQ9Z1.net]
ありがとう

24:00 では、Time インスタンスを作れるけど、
27:15 では、エラーで作れなかった

回避策を考えてみます

947 名前:デフォルトの名無しさん [2018/04/09(月) 14:23:48.18 ID:GdkyYm9A.net]
pythonスレにマルチするのやめれ

948 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 14:39:12.15 ID:2h6IFanV.net]
>>921

date = [
"2018/09/09 09:45-24:00",
"2018/10/10 23:00-27:15"
]
begfin = lambda do |m|
d = Time.new(m[:year], m[:month], m[:day])
[[m[:begh], m[:begm]], [m[:finh], m[:finm]]].map { |hour, min|
3600 * hour.to_i + 60 * min.to_i
}
end
date.each do |d|
m = d.match(%r!\A(?<year>\d{4})/(?<month>\d\d)/(?<day>\d\d) (?<begh>\d\d):(?<begm>\d\d)-(?<finh>\d\d):(?<finm>\d\d)\z!)
beg, fin = begfin[m]
min = (fin - beg)/60
puts "%d:%d" % min.divmod(60) # => "14:15"
end
# =>
14:15
4:15

ってマルチかい



949 名前:916 mailto:sage [2018/04/09(月) 15:24:13.18 ID:M/BmQ9Z1.net]
python スレの書き込みとは別人。
ID も異なるはず

その書き込みを見て、Ruby ではどうプログラミングするべきか、考えてみたが難しかった

950 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 15:46:38.36 ID:aj6Oy7j8.net]
「ruby 24」検索

Ruby で 24 時超えの時間を楽ちんにパースする方法 - Qiita
https://qiita.com/ruzia/items/5e2cae142479b8a5c364

951 名前:916 mailto:sage [2018/04/09(月) 16:17:52.99 ID:M/BmQ9Z1.net]
d = Time.new(m[:year], m[:month], m[:day])
d_next = d + 60 * 60 * 24

24時以上の場合は、hour から24を引いて、1日足すけど、これはややこしい

952 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 21:36:13.46 ID:0VIzl/J9.net]
クソコードばっかりだなw

953 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 22:04:45.24 ID:cXk52I1j.net]
25以上の数字の入力を許している次点でクソコード。

954 名前:916 [2018/04/10(火) 00:28:34.01 ID:oEQHPFsL.net]
表計算ソフトなどで、時間管理していると、こういう表記もある。
2018/10/10 23:00-27:15

上を一旦、変換して
2018/10/10 23:00-24:00
2018/10/11 00:00-03:15

これも、1日足すのも結構、難しい。
Date, DateTime に変換してから、1日足さないと、月末・うるう年などで、バグる

>>926
>d_next = d + 60 * 60 * 24
これで1日足すのも、うるう秒の時が、どうなるか不安

955 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 00:34:12.01 ID:PJbB3F/q.net]
時刻じゃなくて時間を表すクラスが欲しくなるな

956 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 01:03:05.44 ID:TtMX4ea2.net]
24,60,60進法による演算ということね

957 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 03:53:20.97 ID:gEpzqPRo.net]
時間は最重要項目なんだから
完璧なライブラリとか無いのかな?

958 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 08:52:25.96 ID:OCO/nUgk.net]
RubyのDateTimeは充分以上だよ。
日付を増減するときは、それ時分秒の値はさわらずに、めんどくさくても日の値を変更すればいい。



959 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 08:58:36.32 ID:wPoJQnkn.net]
じゃあエポックタイムで十分だな。めんどくさくても計算すればいい。

960 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 09:31:38.98 ID:Pta2sQP4.net]
DateTimeは完璧なライブラリだから24時以降はRangeErrorになる
完璧な仕様だ

961 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 09:55:10.36 ID:wPoJQnkn.net]
rubyの不便はいい不便

962 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 17:47:37.08 ID:yDOt+2aU.net]
rubyに不便なんてないぞ
何を言ってんだ

963 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 18:25:57.56 ID:6CkCb20Q.net]
えーっ、そんなこといちいち書かなきゃいけないのw?rubyなら組込メソッドで一発だよwww
「時間は?」
       ____
    /      \
   /  ─    ─\
 /    (●) (●) \ 必要ない。計算すればいい
 |       (__人__)    |
 \     ` ⌒´   /
,,.....イ.ヽヽ、___ ーーノ゙-、.
:   |  '; \_____ ノ.| ヽ i
    |  \/゙(__)\,|  i |
    >   ヽ. ハ  |   ||

964 名前:デフォルトの名無しさん mailto:sage [2018/04/10(火) 18:40:12.63 ID:+90qRIYS.net]
RubyはUNIX文化だから、時刻はUNIXタイムスタンプを生で扱うのが基本
MRIのコアの連中自身が使ってないから改善されないんだろう

965 名前:デフォルトの名無しさん [2018/04/11(水) 00:12:29.76 ID:5V3NvSPI.net]
rubyなら日本の休日祝日にも対応してるはず

966 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 07:23:56.00 ID:jfPKheqL.net]
【短命に終わった】国民の祝日.csvをパースして変換するRubyプログラムとコード解説
https://youtu.be/h0WlWPfQ0Sw

伊藤淳一の動画ある

967 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 22:47:53.01 ID:Hxh7hpmx.net]
Windowsの文字エンコードはどうなってんだよ呪われてるな。

968 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 22:56:58.03 ID:AzlDcdDn.net]
Windowsの文字エンコードはLinux/Unixよりも対応の幅が広い。

まずNT系は古くからUnicode(UTF-16)に対応
Unicode対応アプリであれば全世界で共通に使える

それでいて9x系との互換性のために、Unicodeに対応してないアプリは
それぞれの国のエンコード設定が使用される

その設定はコントロールパネルから変更できるのだが
その変更できる文字コードがLinux/Unixよりも遥かに多い
しかもANSIと互換性がない文字コードでも使用可能



969 名前:デフォルトの名無しさん [2018/04/14(土) 03:27:42.04 ID:lnTeyTPJ.net]
chcp 65001 バグ治してから言え

970 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 03:48:53.88 ID:6pCy057f.net]
>>944
それはどちらかと言えばコマンドプロンプトの問題なんだが、
WSL対応関係で強化されて、めだった

971 名前:s具合なくなってるよ []
[ここ壊れてます]

972 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 21:31:41.02 ID:r1bqrkta.net]
OneDriveでコード管理していたのだけど、
久しぶりにコーディング(エディタはVSCode)してOneDrive上のRubyファイルを実行しようとしたら
[BUG] Segmentation fault
というエラーがでて、
puts 'A'
というコードさえ実行出来なくなっていた。

ローカルハードディスクに落としたら実行出来たんだけどどうしたものだろう。

973 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 21:49:45.43 ID:0NMpmKAm.net]
UTF-16とかじゃねーの?

974 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 22:51:17.13 ID:MhEmdnyU.net]
そっか。
ありがとうございます。

別にOneDriveをストレージにしても問題ないということだね。
試行錯誤してみます。

975 名前:デフォルトの名無しさん [2018/04/15(日) 23:30:04.01 ID:xpwShDOv.net]
WebDAVか

976 名前:945 mailto:sage [2018/04/16(月) 07:27:54.33 ID:1U+gAd+J.net]
GoogleDrive上のRubyファイルは動いた。

何か仕様変更があったのかしら。
ともかく、現状、GoogleDriveでコード管理することにします。

977 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 08:55:29.96 ID:PnJWHI/9.net]
なぜGitを使わないのか
BitBucketなら無料でプライベートリポジトリ持てるぞ

978 名前:デフォルトの名無しさん [2018/04/16(月) 09:47:03.26 ID:75OnkAat.net]
Azureで自前のgitとSSH鯖で桶



979 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 09:53:08.11 ID:PnJWHI/9.net]
AzureならGitはVSTS使うのが普通だろ
AWSならCodeCommit使えば完全無料だ
今時たかがGitのホスティングごときにサーバー運用の手間かけるとか頭悪すぎ

980 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 10:08:13.69 ID:pZQ1SPWZ.net]
じゃあ、これも
Google Cloud Platform でホストされている複数のプライベート Git レポジトリ
https://cloud.google.com/source-repositories/?hl=ja

5ユーザー、50GBストレージ、50GB通信量(下り)まで無料だから
個人用途なら無料で使えそうだね

981 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 10:10:23.68 ID:pZQ1SPWZ.net]
> AWSならCodeCommit使えば完全無料だ

AWSの方は完全無料なのか?って思ったら
やっぱり無料制限あるじゃんw
だいたい一緒みたいね

https://aws.amazon.com/jp/codecommit/pricing/
最初の 5 人のアクティブユーザー
50 GB のストレージ/月
10,000 回の Git リクエスト/月

982 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 10:31:35.04 ID:X9HGFo0K.net]
>>955
実働20日として一人あたり一日平均100コミット?
これ超過できる超人いるのかよ

983 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 10:33:36.56 ID:X9HGFo0K.net]
いやコミットじゃなくてプッシュやフェッチか
人間の手動操作なら事実上無制限だな

984 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 10:40:27.16 ID:pZQ1SPWZ.net]
>>957
1 push 1リクエストとは限らんぞ、どういう計算しているか知らんけど、
例えば1 pushに含まれる1ファイルが1リクエストになってるかもしれない
そう考えるとGoogleの方がわかりやすいかもね。

985 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 10:45:48.83 ID:pVewTO76.net]
>>958
ファイル単位なら1万くらいcloneや最初のpushで一発で超過するじゃん
一般的な使い方で超過することはめったにないって書いてるからさすがにそれはないだろ

986 名前:デフォルトの名無しさん [2018/04/16(月) 15:08:56.12 ID:lu0LQeBN.net]
>>960
踏んだらすれたてよろしく

987 名前:デフォルトの名無しさん [2018/04/16(月) 15:17:41.22 ID:r1/f7Sud.net]
うんこ

988 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 15:20:39.48 ID:pZQ1SPWZ.net]
↑うんこ踏んだ奴



989 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 16:18:05.44 ID:ZFIHRn8x.net]
うんこってrubyのこと?

990 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 17:10:36.81 ID:tsXOlUfW.net]
>>953
gitだけしか使わないわけないだろ

991 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 17:25:19.50 ID:pZQ1SPWZ.net]
>>964
今はgitの話では

992 名前:H
他のことしたいなら、他のもの使えばいいだけだし
gitは○○を使うって話をしてるんだよ
[]
[ここ壊れてます]

993 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 18:47:04.65 ID:PnJWHI/9.net]
>>965
たぶん963は、サーバーをGitだけでなく他の用途にも使うと言ってるんだと思うよ
すごく筋の悪い思考だと思うけどね

994 名前:デフォルトの名無しさん [2018/04/17(火) 03:27:09.27 ID:QMWYQNUe.net]
スジはなめるためにある

995 名前:デフォルトの名無しさん [2018/04/17(火) 17:49:09.11 ID:GYuBFjQi.net]
次スレ
Ruby 初心者スレッド Part 63
https://mevius.5ch.net/test/read.cgi/tech/1523954817/

996 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 23:55:53.10 ID:AHLVIZ+p.net]
>>966
なんで筋が悪いと思うんだ?

997 名前:デフォルトの名無しさん [2018/04/18(水) 00:43:52.27 ID:lRwbg5zI.net]
>>968
おつ

998 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 01:12:53.91 ID:6DBcsPYG.net]
>>969
逆に聞くが、あえてGit自前運用かつサーバー相乗りという選択肢を選ぶ積極的な理由が何か一つでもあるの?
コストが高い、信頼性が低い、運用が面倒臭い、便利なWebインターフェイスもない、CIなど外部との連携もしづらい
また、サーバーに複数のサービスを同居させるのは、運用が面倒になるので一般的には避ける方向で検討するのが基本だ
オンプレならハードのコストやハード運用も勘定に入れた結果そうせざるを得ない場合も多いが、
クラウドなら安く小さいサーバーを沢山持ててハード運用の手間もないから問題にならない



999 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 01:21:24.00 ID:UfQjex1N.net]
関数の取扱いが非常に筋の悪い言語があるらしい。
何かしらのメソッドとして表したいという、初期設計時のオナニーがこの事態を招いた。
block、proc、lambdaと笑っちゃうくらいぐっちゃぐちゃ。
どういうときにどの形式使えばいいのか、変換するルールは…
はい、お約束。全部覚えましょうw
一事が万事この調子だよなw
そのうち「3+5を計算する機能」レベルで組み込まれてしかも数通りバリエーションが仕込まれそうw
宣伝文句は「えーっ、3+5計算するのにそんなこと書かなきゃいけないの?wそれrubyなら組み込みの呼び出すだけで一発だよ?ww」

1000 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 02:03:46.12 ID:1MQV5vND.net]
>>971
git使うだけで面倒とかどれだけ初心者想定してんだよ
うちはredmineと連携させてるからwebからも見れるよ
バックアップも他と一緒にとってるから楽よ
別にホストがクラウドでないなんて言ってないし

1001 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 02:08:25.73 ID:1MQV5vND.net]
サーバーが、か

1002 名前:デフォルトの名無しさん mailto:sage [2018/04/27(金) 16:47:32.90 ID:vghG7n/V.net]
ぼくがRubyを使う理由
www.eimei4coding.blog/entry/2017/07/17/164923

1003 名前:デフォルトの名無しさん [2018/05/03(木) 09:37:28.31 ID:vrPjbtA8.net]
なんかbundlerがエラー吐くようになってしまって困っています。
対応策は知りませんか?

Traceback (most recent call last):
2: from /usr/local/bin/bundler:23:in `<main>'
1: from /usr/local/lib/site_ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/usr/local/lib/site_ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)

1004 名前:デフォルトの名無しさん [2018/05/03(木) 12:26:03.69 ID:vrPjbtA8.net]
bundler -v
も動かないです。

1005 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 14:39:04.35 ID:M52LYEAa.net]
コンバトラーV

1006 名前:デフォルトの名無しさん [2018/05/03(木) 15:03:53.22 ID:bkPu29QU.net]
super electromagnetic yoyo

1007 名前:デフォルトの名無しさん mailto:sage [2018/05/03(木) 19:04:14.74 ID:9RHeN1ko.net]
sudo gem install bundler

1008 名前:デフォルトの名無しさん [2018/05/04(金) 16:02:47.13 ID:FNtgJ1dj.net]
>>913
Ruby、Pythonが主流なのか?

俺、Ruby使いだけど、主流言語使ってる気分にはなれない。



1009 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 16:16:59.88 ID:YzOLlJfQ.net]
今主流言語と言えるのはJavaScriptのみだからね

1010 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 16:24:40.64 ID:plo/RuVs.net]
google、ms・・・流れ込んでる資金量・人員数が違う
あれだけ人・金かけられたらどんなクソ言語でも主流になる
そうさせたのはブラウザで唯一実行可能というアドバンテージだったがそういう意味では今後はrustやgoにも可能性はある
rubyはそれもない

1011 名前:デフォルトの名無しさん mailto:sage [2018/05/04(金) 17:01:30.15 ID:HDydWALv.net]
>>983
Dartの悪口はそこまでだ

1012 名前:デフォルトの名無しさん [2018/05/08(火) 04:34:33.88 ID:ws+EcsEk.net]
@lru_cache(maxsize=None)
def fib(n):
if n < 2:
return n
return fib(n-1) + fib(n-2)

>>> [fib(n) for n in range(16)]
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610]

Ruby には、上のPython のような、デコレーターは無いの?

上はフィボナッチだが、引数・答えを、メモ化するような関数はある?

1013 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 07:23:01.16 ID:6Z/Mi3tg.net]
>>985
古い記事だけど、例もフィボナッチでちょうどよさげ
mickey24.hatenablog.com/entry/20100906/1283769623

1014 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 07:44:23.18 ID:6Z/Mi3tg.net]
gem もあった
https://github.com/matthewrudy/memoist

1015 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 09:01:44.06 ID:ws+EcsEk.net]
class A
def initialize (a = 5)
@a = a
end
p (0..@a)
end

p a = A.new

>p (0..@a)
@a が初期化されていないのか、エラーになる

クラス内の地の文は、A.new・initializeよりも、先に実行されてしまうのか?

>>986-987
ありがとう

1016 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 09:09:56.84 ID:XzXTdruW.net]
>>988
その通り。具体的にはファイルを読み込んだ時に実行されるよ

1017 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 12:18:20.40 ID:XzXTdruW.net]
スレたてられなかったから誰か代わりに建ててくれないか

>>988
ついでだけどその書き方だと p (0..@a) の @a は A のインスタンスのインスタンス変数じゃなくて、 A という『Class クラスのインスタンス』のインスタンス変数だから注意ね

1018 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 14:05:39.62 ID:XzXTdruW.net]
と思ったら結構前に次スレ立ってたんだね……重複しなくてよかった
https://mevius.5ch.net/test/read.cgi/tech/1523954817/



1019 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 22:51:57.39 ID:FvmTtIIh.net]
>>988
クラス内の文は、記述順に実行される。
defは、メソッド定義の宣言部というよりは、実行文なので、同様。

1020 名前:987 mailto:sage [2018/05/08(火) 23:24:38.69 ID:ws+EcsEk.net]
class A
def initialize (a = 5)
@a = a
puts "init : #{@a.class}" # 1
end

puts @a.class # 2
end

p a = A.new
p b = A.new(2)

出力結果
NilClass

init : Integer
#<A:0x00000000050dc230 @a=5>

init : Integer
#<A:0x00000000050dc078 @a=2>

実行前のファイル読み込み時に、1回だけ、#2 puts が呼ばれて、
initialize内の#1 puts は、new 毎に呼ばれる

1021 名前:デフォルトの名無しさん mailto:sage [2018/05/08(火) 23:28:50.06 ID:XzXTdruW.net]
当たり前だと思うのだが、何が言いたいのか不明

1022 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 00:19:25.75 ID:p+TFQEkm.net]
ファイル内の空行数を数える

ruby -e "puts File.read(\'test22_data.txt\').scan(/^$/).length"
ruby -e 'puts File.read(\"test22_data.txt\").scan(/^$/).length'

Windows PowerShell で、1-liner を実行する際、
クォーテーション内に、クォーテーションがある時に、\ でエスケープしないと、
PowerShell が、内側のクォーテーションを除去してしまって、エラーになるけど、
皆こういう場合、どうしてる?

1023 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 00:37:53.06 ID:aySw10Ot.net]
WindowsでRubyは苦行

1024 名前:デフォルトの名無しさん mailto:sage [2018/05/09(水) 02:06:31.30 ID:VltSHCvQ.net]
>>995
%qクォートを使う。

1025 名前:デフォルトの名無しさん [2018/05/09(水) 08:36:03.80 ID:DadRmw9B.net]
>>996
+1

1026 名前:デフォルトの名無しさん [2018/05/09(水) 08:36:55.27 ID:DadRmw9B.net]
>>997
ほんそれ

1027 名前:デフォルトの名無しさん [2018/05/09(水) 08:37:56.36 ID:DadRmw9B.net]
>>995
1-liner にこだわるのはなぜ

1028 名前:デフォルトの名無しさん [2018/05/09(水) 08:38:27.55 ID:DadRmw9B.net]
Ruby 初心者スレッド Part 63
https://mevius.5ch.net/test/read.cgi/tech/1523954817/



1029 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 166日 8時間 2分 58秒

1030 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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