プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 61
https://mevius.5ch.net/test/read.cgi/tech/1503644351/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
探検
Ruby 初心者スレッド Part 62
レス数が900を超えています。1000を超えると表示できなくなるよ。
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
812デフォルトの名無しさん
2018/03/02(金) 23:07:42.42ID:wSJnGqkk RubyはLinuxで動かすようにすればいいよ
WindowsでちょこっとしたやりたいことがあるならC#使え、と
どうせ仕事でやってるRubyはLinuxで動くんだからさ
Windowsマシンでの開発ならVMかDocker使えばすべて解決
WindowsでちょこっとしたやりたいことがあるならC#使え、と
どうせ仕事でやってるRubyはLinuxで動くんだからさ
Windowsマシンでの開発ならVMかDocker使えばすべて解決
813デフォルトの名無しさん
2018/03/03(土) 01:14:23.68ID:vdurK0jv ありがとうございました
ググってみたら結構前から報告されていたバグみたいなので諦めることにします
ググってみたら結構前から報告されていたバグみたいなので諦めることにします
814デフォルトの名無しさん
2018/03/03(土) 01:19:41.29ID:GGmAMA7z815デフォルトの名無しさん
2018/03/03(土) 01:21:46.51ID:GGmAMA7z >>808
chcp 65001とかしてもダメかね?
chcp 65001とかしてもダメかね?
816デフォルトの名無しさん
2018/03/03(土) 15:41:40.19ID:VQ/a88pK cmd で chcp 65001 するくらいなら
git for windows インスコして git bash (mintty) 使うと幸せになれるぞ
git for windows インスコして git bash (mintty) 使うと幸せになれるぞ
817デフォルトの名無しさん
2018/03/03(土) 15:43:54.56ID:x/6oRrTp 65001 は右端とか折り返し表示がバグるね
818803
2018/03/03(土) 15:49:49.91ID:HcfLoqAp Ruby の起動オプションに、外部・内部エンコーディングか、RUBYOPT で指定できる。
ファイル内でも指定できる
それと、PowerShell・コマンドプロンプト、WSL・Ubuntu・bash で指定できる
これらの組み合わせの中で、文字化けしない組み合わせを探す
または、$LOAD_PATH の辺りで、指定するとか
ファイル内でも指定できる
それと、PowerShell・コマンドプロンプト、WSL・Ubuntu・bash で指定できる
これらの組み合わせの中で、文字化けしない組み合わせを探す
または、$LOAD_PATH の辺りで、指定するとか
819デフォルトの名無しさん
2018/03/03(土) 17:58:14.02ID:URsJSGy/ Rubyの2.5.0p2をRubyインストーラーでインストールしたらRubyの2.5.0p0だった・・・
820デフォルトの名無しさん
2018/03/03(土) 18:17:52.81ID:A+Ivs8ru patchlevelはもう無いよ
821デフォルトの名無しさん
2018/03/03(土) 18:26:46.78ID:VQ/a88pK >>818
そんな試行錯誤は一番あかんやつや
そんな試行錯誤は一番あかんやつや
822デフォルトの名無しさん
2018/03/03(土) 21:39:09.27ID:rw2aiDdk そうそう。結局 Rubyやirb に問題が有るんじゃなくて
単に >>803 が理解してないだけ
単に >>803 が理解してないだけ
823デフォルトの名無しさん
2018/03/03(土) 21:55:10.06ID:GRjh9/QH そういうことだから理解できない初心者は間違ってもrubyなんか使おうと思わないようにね。
初心者や子供にruby勧めてくるのは例外なくマウント取りたいだけのクズだぞ。
初心者や子供にruby勧めてくるのは例外なくマウント取りたいだけのクズだぞ。
824デフォルトの名無しさん
2018/03/03(土) 21:56:04.27ID:ETPjeMg1 書籍のサンプルコードの一部です
この@memoという変数はいわゆる辞書形式のデータ構造で
[remain, pre]は辞書のキー(複合キー?)という理解でいいんでしょうか
ちなみに@を付けないとどうなりますか
変数名に記号が付くのが凄く気になります
@memo = {}
# 計算結果をメモする
@memo[[remain, pre]] = cnt
この@memoという変数はいわゆる辞書形式のデータ構造で
[remain, pre]は辞書のキー(複合キー?)という理解でいいんでしょうか
ちなみに@を付けないとどうなりますか
変数名に記号が付くのが凄く気になります
@memo = {}
# 計算結果をメモする
@memo[[remain, pre]] = cnt
825デフォルトの名無しさん
2018/03/03(土) 22:30:11.11ID:gHPIEkfR826デフォルトの名無しさん
2018/03/04(日) 00:30:02.17ID:99M3BGnn >>825
ありがとうございました
ありがとうございました
827デフォルトの名無しさん
2018/03/04(日) 02:42:13.82ID:Oz1ASWrr キーに配列が使えるのか・・・
828デフォルトの名無しさん
2018/03/04(日) 04:12:18.75ID:aAfADGFK オブジェクトはなんでもイケるんじゃなかったっけ?
ハッシュ値さえちゃんと返せば。
ハッシュ値さえちゃんと返せば。
829デフォルトの名無しさん
2018/03/04(日) 11:33:10.30ID:7gUy2hud キーにした配列を変化させた時はrehashしないとキーが一致しなくなる
文字列のキーは変化させても、キーはセットしたときのまま
文字列のキーは変化させても、キーはセットしたときのまま
830デフォルトの名無しさん
2018/03/04(日) 11:34:10.89ID:Oz1ASWrr なるほどね。先入観として[a,b]ってかいたら毎回newされて、
キーとしては未定義値のnil固定か、別オブジェクト扱いで不定になるか、と思えた
キーとしては未定義値のnil固定か、別オブジェクト扱いで不定になるか、と思えた
831デフォルトの名無しさん
2018/03/05(月) 16:37:38.89ID:62GuhFZ7 str = <<'EOT'
str = << 'EOT'
here doc で、下のように、<< の後ろに半角空白があると、文法エラーになる
それと、WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理すると、
改行コードが異なるから、不正な形式のファイルと言われる。
改行コードを、LF だけに変えると、正しく処理できる
str = << 'EOT'
here doc で、下のように、<< の後ろに半角空白があると、文法エラーになる
それと、WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理すると、
改行コードが異なるから、不正な形式のファイルと言われる。
改行コードを、LF だけに変えると、正しく処理できる
832デフォルトの名無しさん
2018/03/05(月) 17:53:15.03ID:aK37pZ+C mode: 'rt'
で読み込めばいいじゃん
で読み込めばいいじゃん
833831
2018/03/05(月) 19:10:41.11ID:62GuhFZ7 options に行区切りを指定したら、
WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理できた
row_sep: "\r\n" では出来たが、
row_sep: :auto では、エラーになる
WSL のUbuntu 側にインストールしたRuby で、
Windows 側にあるCSV ファイルを処理できた
row_sep: "\r\n" では出来たが、
row_sep: :auto では、エラーになる
834デフォルトの名無しさん
2018/03/05(月) 21:53:10.11ID:K/Y9LwEe 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が見えます。
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が見えます。
835デフォルトの名無しさん
2018/03/05(月) 22:05:54.92ID:K/Y9LwEe 自己解決しました。
[1] pry(main)> self.private_methods(false)
とすれば見えました。
[1] pry(main)> self.private_methods(false)
とすれば見えました。
836デフォルトの名無しさん
2018/03/11(日) 14:39:13.23ID:veKfJdlp 1
837デフォルトの名無しさん
2018/03/15(木) 18:29:02.24ID:5enxwtKu RubyからDB扱うときって皆は何のライブラリ使ってるの?
838デフォルトの名無しさん
2018/03/15(木) 19:28:59.60ID:tIXtXy4E RubyでDBを扱う場合、プロダクションで使われているのは世界で唯一ActiveRecordのみ
839デフォルトの名無しさん
2018/03/15(木) 21:18:59.56ID:OYGfq7D7 インターフェースじゃん。
バックでmysqlとか動いてるぞ。
いいからちゃんと勉強しろよ。
バックでmysqlとか動いてるぞ。
いいからちゃんと勉強しろよ。
840デフォルトの名無しさん
2018/03/15(木) 21:31:02.48ID:rmXeLovx >>839
ライブラリで答えてください
ライブラリで答えてください
841デフォルトの名無しさん
2018/03/15(木) 23:24:57.24ID:xG9lbsTH >>837
ActiveRecordが大半なのは間違いない
ORMを求めてるならsequel、rom、hanami等
素のDBライブラリならmysql2, sqlite3-ruby, ruby-pg
ArelでSQLを構築してDBライブラリ使ってSQL実行してもいい
ActiveRecordが大半なのは間違いない
ORMを求めてるならsequel、rom、hanami等
素のDBライブラリならmysql2, sqlite3-ruby, ruby-pg
ArelでSQLを構築してDBライブラリ使ってSQL実行してもいい
842デフォルトの名無しさん
2018/03/16(金) 15:24:05.43ID:3ma6aQHv sqlite3
843デフォルトの名無しさん
2018/03/16(金) 18:23:28.28ID:2Gd98HT2 >>839
Rails屋がSQLすら書けなさそうに見えて腹立つのは分からんでもないけど、今はDBインターフェースの話しかしてないぞ
Rails屋がSQLすら書けなさそうに見えて腹立つのは分からんでもないけど、今はDBインターフェースの話しかしてないぞ
844デフォルトの名無しさん
2018/03/16(金) 23:22:04.16ID:yiSYhWxU 「Node.js超入門、掌田津耶乃、2017」を読んでいるけど、JavaScript の基本は、Ruby
Ruby のSinatra, JS のNode.js を、full scratch で書くと、ほぼ同じ
Rails, JSのExpress + Bookshelf が、ほぼ同じ
Ruby のSinatra, JS のNode.js を、full scratch で書くと、ほぼ同じ
Rails, JSのExpress + Bookshelf が、ほぼ同じ
845デフォルトの名無しさん
2018/03/16(金) 23:24:51.12ID:3NuYtiCt 掌田津耶乃ってダメな本じゃなかったか?
846844
2018/03/17(土) 00:05:48.37ID:nxO/ldT7 プログラミング本では、掌田が第一人者。
Unity, UE4 などのゲームエンジンから、最近は、Python, Node.js にも進出
売れる・成長する分野には、必ず掌田が参入してくる。
業界の風見鶏
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails を学ぶ方が簡単。
20時間ほどで読める
後は、YouTube の動画で、OK
Unity, UE4 などのゲームエンジンから、最近は、Python, Node.js にも進出
売れる・成長する分野には、必ず掌田が参入してくる。
業界の風見鶏
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails を学ぶ方が簡単。
20時間ほどで読める
後は、YouTube の動画で、OK
847デフォルトの名無しさん
2018/03/17(土) 00:10:02.58ID:6ii9LbbD やっぱ掌田津耶乃ってだめな人だった
調べたらわかったよ
調べたらわかったよ
848デフォルトの名無しさん
2018/03/17(土) 00:34:45.99ID:4Xu/HAYS 今の時代、開発速度が速すぎて誰も良い本なんか書けないよ
それを書き終わる頃には時代遅れになってるんだから
それを書き終わる頃には時代遅れになってるんだから
849デフォルトの名無しさん
2018/03/17(土) 00:38:04.22ID:6ii9LbbD いや掌田がとりわけレベル低いだけ
850デフォルトの名無しさん
2018/03/17(土) 01:55:30.84ID:+wQGtQt+ 掌田津耶乃はだめな本
山田 祥寛は良い本
という評価が一般的
掌田津耶乃は何冊か読んでいるけど、
見比べてみるとたしかにダメダメなんだなぁ。
山田 祥寛は良い本
という評価が一般的
掌田津耶乃は何冊か読んでいるけど、
見比べてみるとたしかにダメダメなんだなぁ。
851デフォルトの名無しさん
2018/03/17(土) 02:08:55.36ID:6ii9LbbD 山田 祥寛もダメだろ
852デフォルトの名無しさん
2018/03/17(土) 05:35:09.75ID:77P/HBnW 掌田津耶乃はHyoerTalkなまりのコード
853デフォルトの名無しさん
2018/03/17(土) 09:18:19.49ID:nxO/ldT7 最近は、Python にも、なでしこの作者・クジラ飛行机、
大津真、掌田も、乗り込んできた
この辺は、売れ筋には参入してくる著者
中でも掌田は、ゲームエンジン・言語・Javaのフレームワーク・Node.js など万能
大津真、掌田も、乗り込んできた
この辺は、売れ筋には参入してくる著者
中でも掌田は、ゲームエンジン・言語・Javaのフレームワーク・Node.js など万能
854デフォルトの名無しさん
2018/03/17(土) 12:59:20.73ID:OC0Ef+g3 またあらぶっとるんか糞荒らし
はやくRubyコミュで発言しろよ屑
はやくRubyコミュで発言しろよ屑
855デフォルトの名無しさん
2018/03/17(土) 14:32:15.41ID:+wQGtQt+ 要はね
掌田の出版本を見てみるとわかるが、
初心者を食い物にしている
初心者専用の作者なわけよ、
だからレビューとかで
表面だけかじって書いたかのような本とか
書かれちゃうわけよ。
深く知りもしないであれだけの数の本を書けるわけないよね。
だから掌田はおすすめできないんだわ。
初心者にはいいかもしれないよ?
初心者向けの本ばかり何冊も何年も書き続けているから。
掌田の出版本を見てみるとわかるが、
初心者を食い物にしている
初心者専用の作者なわけよ、
だからレビューとかで
表面だけかじって書いたかのような本とか
書かれちゃうわけよ。
深く知りもしないであれだけの数の本を書けるわけないよね。
だから掌田はおすすめできないんだわ。
初心者にはいいかもしれないよ?
初心者向けの本ばかり何冊も何年も書き続けているから。
856デフォルトの名無しさん
2018/03/17(土) 15:47:30.97ID:uAf5LbgY 商売としては全然アリだね
とっかかりが欲しい初心者いるだろうし
とっかかりが欲しい初心者いるだろうし
857デフォルトの名無しさん
2018/03/17(土) 16:43:12.02ID:cWw1OMJa >>855
ほんそれ
ほんそれ
858844
2018/03/17(土) 19:43:45.96ID:nxO/ldT7 デザインもカラフルで、図解してあるから、すごくわかりやすい。
売れるから、こういう外注予算が大きい
オライリーでは、図解・デザインは無いから、読むのに時間が掛かる。
図解は視覚だから、瞬時に理解できるけど、
言葉の説明だと、それを図に置き換えて、考えないといけないから大変
掌田の本は、ものすごく短時間で理解できるから、効率的。
すごく消化・吸収に良いし、
時間も節約できるから、時給換算すれば大得
漏れには、時間が掛かる・細かい・理解できない、100の知識はいらない。
短時間で、よくわかる、50の基礎知識がさえ有ればよい。
あとは動画を見て、応用するから
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails が分かる
「10日でおぼえる jQuery 入門教室 第2版、山田祥寛(よしひろ)、2013」
この本で、Nokogiri が分かるのと同じ
本が出ていない場合とか、難しい本しかない場合に、非常に役に立つし、速い
売れるから、こういう外注予算が大きい
オライリーでは、図解・デザインは無いから、読むのに時間が掛かる。
図解は視覚だから、瞬時に理解できるけど、
言葉の説明だと、それを図に置き換えて、考えないといけないから大変
掌田の本は、ものすごく短時間で理解できるから、効率的。
すごく消化・吸収に良いし、
時間も節約できるから、時給換算すれば大得
漏れには、時間が掛かる・細かい・理解できない、100の知識はいらない。
短時間で、よくわかる、50の基礎知識がさえ有ればよい。
あとは動画を見て、応用するから
「Node.js超入門、掌田津耶乃、2017」
この本で、Sinatra, Rails が分かる
「10日でおぼえる jQuery 入門教室 第2版、山田祥寛(よしひろ)、2013」
この本で、Nokogiri が分かるのと同じ
本が出ていない場合とか、難しい本しかない場合に、非常に役に立つし、速い
859デフォルトの名無しさん
2018/03/18(日) 09:45:02.22ID:JzaiKxSG860デフォルトの名無しさん
2018/03/18(日) 12:36:10.41ID:Gg1K6bSi >>859
頭使ってる?
掌田津耶乃が何冊初心者用の本を出しているか知っている?
ちょっと考えれば、
英語、ドイツ語、フランス語の言語学習の本を書いたとしたら
その言語のことをどこまで知っていて本を書いているんだろうとか気にならないの?
もし気にならないんだったら、表面的な知識だけで満足しているお前とは合わないのでバイバイ ノシ
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流プログラマと認めているのに、まったく信者って奴は・・・
頭使ってる?
掌田津耶乃が何冊初心者用の本を出しているか知っている?
ちょっと考えれば、
英語、ドイツ語、フランス語の言語学習の本を書いたとしたら
その言語のことをどこまで知っていて本を書いているんだろうとか気にならないの?
もし気にならないんだったら、表面的な知識だけで満足しているお前とは合わないのでバイバイ ノシ
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流プログラマと認めているのに、まったく信者って奴は・・・
861デフォルトの名無しさん
2018/03/18(日) 12:52:44.19ID:QAeUSVF3862デフォルトの名無しさん
2018/03/18(日) 12:55:57.40ID:QAeUSVF3 基本的に流行ってるものを、ざっと調べてまとめただけなんだろうな
だから初心者レベルのところまでしか書けない
概要を知るところまでで、あれを参考にしてコードを書いてはいけない
だから初心者レベルのところまでしか書けない
概要を知るところまでで、あれを参考にしてコードを書いてはいけない
863デフォルトの名無しさん
2018/03/18(日) 16:36:38.11ID:Aq9RvNC1 HypaerCardの本も出してたから もう30年以上初心者向けの本出してるベテラン
864デフォルトの名無しさん
2018/03/18(日) 19:04:35.10ID:Pu83I0V3 Amazonのレビューでよく思うけど、海外の人は褒めるのが上手。いい面を見てる
日本人は100点じゃなきゃ糞みたいな心の狭い人が多い
初心者向けの本なんかにケチつけなくてもいいだろうに
今は公式サイトのドキュメントが充実してる時代なんだから、ほぼ公式くらいのことしか書かんだろうよ
日本人は100点じゃなきゃ糞みたいな心の狭い人が多い
初心者向けの本なんかにケチつけなくてもいいだろうに
今は公式サイトのドキュメントが充実してる時代なんだから、ほぼ公式くらいのことしか書かんだろうよ
865デフォルトの名無しさん
2018/03/18(日) 19:43:48.34ID:Gg1K6bSi そうだな、ネイティブと喋れない、英検準2級、TOEIC500点ぐらいの人が教えているって感じ。
そんなイメージが掌田津耶乃さん。
そんなイメージが掌田津耶乃さん。
866デフォルトの名無しさん
2018/03/18(日) 20:16:15.41ID:i3culXas867デフォルトの名無しさん
2018/03/18(日) 21:55:23.04ID:JzaiKxSG >>860
いや長文必死にならなくても、お前さんが自分で解説するだけの知力すら無いってのは分かったから。
いや長文必死にならなくても、お前さんが自分で解説するだけの知力すら無いってのは分かったから。
868デフォルトの名無しさん
2018/03/18(日) 21:59:08.72ID:QAeUSVF3 なんで作者本人が自分で三流ですって言ってるのに、
他人が三流であると解説する必要があるんだ?
他人が三流であると解説する必要があるんだ?
869デフォルトの名無しさん
2018/03/18(日) 23:16:11.58ID:Gg1K6bSi >>867
自己紹介乙
自己紹介乙
870デフォルトの名無しさん
2018/03/18(日) 23:24:43.53ID:JFJ3EKTR Java, Ruby のフレームワークを書ける人は、少ない。
山田祥寛(よしひろ)、掌田津耶乃、宮本信二、黒田努など
山田は会社向けの、1日4万円の講座などを開いている
一方、掌田は初心者向け。
Unity, UE4 などのゲームエンジン、
Python などの売れ筋言語、
Spring などのJavaのフレームワーク、
Node.js + Express などのJavaScript のフレームワークなど、万能
山田は会社員、掌田は初心者と、ターゲットが異なる。
もし、同じターゲットなら、両雄並び立たずで、共倒れするから
山田祥寛(よしひろ)、掌田津耶乃、宮本信二、黒田努など
山田は会社向けの、1日4万円の講座などを開いている
一方、掌田は初心者向け。
Unity, UE4 などのゲームエンジン、
Python などの売れ筋言語、
Spring などのJavaのフレームワーク、
Node.js + Express などのJavaScript のフレームワークなど、万能
山田は会社員、掌田は初心者と、ターゲットが異なる。
もし、同じターゲットなら、両雄並び立たずで、共倒れするから
871デフォルトの名無しさん
2018/03/18(日) 23:54:42.62ID:3ZuC3w8U 自演注意
自演注意
自演注意
自演注意
自演注意
872デフォルトの名無しさん
2018/03/19(月) 04:32:11.24ID:csFbH6Mx 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 で、現在のファイルポインタの位置で、ファイルを切り詰める
text = io.read
io.rewind
io.write 'あ'
p io.pos #=> 3
io.truncate io.pos
end
読み書き両用ファイルの、ファイルサイズを減らして、上書きできた
io.rewind で、ファイルポインタを先頭に巻き戻す。
io.truncate io.pos で、現在のファイルポインタの位置で、ファイルを切り詰める
873デフォルトの名無しさん
2018/03/20(火) 23:14:51.84ID:QfE06Qcj >>869
反論すら出来ない奴は、つまらんね。
反論すら出来ない奴は、つまらんね。
874デフォルトの名無しさん
2018/03/21(水) 00:56:42.17ID:p8DsWgGG 変なこと聞くけどさ、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。
テストはどう有るべきかを考えたら、むしろそうした方が良いぐらいじゃないかって思うんだけどどうかな?
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。
テストはどう有るべきかを考えたら、むしろそうした方が良いぐらいじゃないかって思うんだけどどうかな?
875デフォルトの名無しさん
2018/03/21(水) 01:22:34.72ID:qUqb4QSc ネストしたcontextで
内側のcontextが外側のcontextで設定した状態を
書き換えるような形でテストを書いても別にいいと思うけどな
内側のcontextが外側のcontextで設定した状態を
書き換えるような形でテストを書いても別にいいと思うけどな
876デフォルトの名無しさん
2018/03/21(水) 01:57:04.18ID:p8DsWgGG >>875
でもそうするとテストケース一つとか実行した時におかしくならない?
でもそうするとテストケース一つとか実行した時におかしくならない?
877デフォルトの名無しさん
2018/03/21(水) 04:11:05.87ID:rJLoGwxo >>873
自己紹介乙
自己紹介乙
878デフォルトの名無しさん
2018/03/21(水) 07:02:14.53ID:wxFTzoek 外部への依存が少なければ、個々のテストの独立性が高いから、
バグが減るし、テストを並行実行できる
それが理想だけど、実現するのは難しそう
バグが減るし、テストを並行実行できる
それが理想だけど、実現するのは難しそう
879デフォルトの名無しさん
2018/03/21(水) 16:09:18.41ID:qUqb4QSc880デフォルトの名無しさん
2018/03/21(水) 16:22:28.39ID:p8DsWgGG881デフォルトの名無しさん
2018/03/21(水) 16:24:44.94ID:qUqb4QSc882デフォルトの名無しさん
2018/03/21(水) 16:47:19.64ID:p8DsWgGG >>881
内側のブロックで外側のブロックの変数に値を入れた場合だよ
内側のブロックで外側のブロックの変数に値を入れた場合だよ
883デフォルトの名無しさん
2018/03/30(金) 15:22:33.47ID:87KFZNYL Chrome 65 になったら、selenium webdriver が動かなくなったので、
chrome driver 2.37 を、ダウンロードしてみた
これで動くかどうかは、まだ試してないけど
chrome driver 2.37 を、ダウンロードしてみた
これで動くかどうかは、まだ試してないけど
884883
2018/03/30(金) 20:31:06.53ID:87KFZNYL 新しいバージョンの、chrome driver にしたら動いた
885デフォルトの名無しさん
2018/04/01(日) 16:44:40.27ID:0KaYXtgi すみません、質問があります。
他人様の書いたコードを読んで写経しながら勉強していた所、
begin
#何らかの処理A(特に例外を出しそうな処理ではない)
end until hoge
という記述があったのですが、この書式の意味というか意図がいまいちつかめなくて困っています。
自分でコードを書いて試してみた所、この記述はhogeがtrueでもfalseでも処理Aを実行しており、
特に「until hoge」の部分で何を制御したいのかがわかりません。
(begin
#処理
end) until hoge
例えば、↑の書き方だと単純なuntil文の後置修飾になるので意味がわかるのですが、
上述のような書式で書く理由や、こう書くとどういうメリットがあるかを教えていただけますと嬉しいです。
よろしくお願いいたします。
他人様の書いたコードを読んで写経しながら勉強していた所、
begin
#何らかの処理A(特に例外を出しそうな処理ではない)
end until hoge
という記述があったのですが、この書式の意味というか意図がいまいちつかめなくて困っています。
自分でコードを書いて試してみた所、この記述はhogeがtrueでもfalseでも処理Aを実行しており、
特に「until hoge」の部分で何を制御したいのかがわかりません。
(begin
#処理
end) until hoge
例えば、↑の書き方だと単純なuntil文の後置修飾になるので意味がわかるのですが、
上述のような書式で書く理由や、こう書くとどういうメリットがあるかを教えていただけますと嬉しいです。
よろしくお願いいたします。
886デフォルトの名無しさん
2018/04/01(日) 16:51:30.58ID:1KgD14Zs (と)の二文字省略できる
887デフォルトの名無しさん
2018/04/01(日) 17:15:27.40ID:9myXjpPz >>885
下の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
下の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
888デフォルトの名無しさん
2018/04/01(日) 17:18:46.83ID:9myXjpPz 訂正
# 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
# 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
889デフォルトの名無しさん
2018/04/01(日) 17:32:20.95ID:0KaYXtgi >>887-888
ご回答頂きどうもありがとうございます。
なるほど、この書式だとbegin~end内の処理が1回は必ず実行されて、
その後に条件文で判定されるようになるので、同じ処理(例だと代入処理)を2度書かなくて済むようになるんですね。
とても勉強になりました。
個人的にはコード行数が増えたり同じ処理が連続するよりも、
ひと目で意図する処理が他人に伝わらないのはちょっと嫌なのでこの書き方は真似しないようにします……。
ご回答頂きどうもありがとうございます。
なるほど、この書式だとbegin~end内の処理が1回は必ず実行されて、
その後に条件文で判定されるようになるので、同じ処理(例だと代入処理)を2度書かなくて済むようになるんですね。
とても勉強になりました。
個人的にはコード行数が増えたり同じ処理が連続するよりも、
ひと目で意図する処理が他人に伝わらないのはちょっと嫌なのでこの書き方は真似しないようにします……。
890デフォルトの名無しさん
2018/04/01(日) 17:40:44.12ID:KXX7rc47 いや、それはおかしい。
リトライやリドゥーみたいな処理で、必要であれば、ためらわずそう書くべき。多少わかりにくくても。
いずれ慣れるから。
なんなら、先頭にコメントをつけとけば。
リトライやリドゥーみたいな処理で、必要であれば、ためらわずそう書くべき。多少わかりにくくても。
いずれ慣れるから。
なんなら、先頭にコメントをつけとけば。
891デフォルトの名無しさん
2018/04/01(日) 17:57:12.31ID://EuH1G7 絶対的なルールではないけどこんなものもあるんで参考までに
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
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
892デフォルトの名無しさん
2018/04/01(日) 18:00:28.18ID:ZcGM330i (なにかしら).method
do
なにかしら
end メソッド
みたいなもんだからRuby規則に沿っているだろ
do
なにかしら
end メソッド
みたいなもんだからRuby規則に沿っているだろ
893デフォルトの名無しさん
2018/04/01(日) 18:17:17.82ID:A31P7FUz >>891
後判定ループを行うのにbegin-end-while/untilが好ましくない理由を俺に教えて欲しい
後判定ループを行うのにbegin-end-while/untilが好ましくない理由を俺に教えて欲しい
894デフォルトの名無しさん
2018/04/01(日) 18:21:45.55ID:hwmab9Mq895デフォルトの名無しさん
2018/04/01(日) 18:27:29.70ID:Aa3HndXz 英語的な自然さを求めるなら、loopをendのエイリアスということにして loop while/until かな
VBがそんな感じだったはず
まあジャップ製言語だから仕方ないね
VBがそんな感じだったはず
まあジャップ製言語だから仕方ないね
896デフォルトの名無しさん
2018/04/01(日) 18:31:46.49ID://EuH1G7 >>893
beginの中が長いと上から読んでてループするんだかrescueするんだかわかりにくいからじゃない?
ruby-style-guideはコメントを極力書かないで済むようにするのが目的の一つだから
まあ個人的には首肯しかねるルールもいくつかあるけどね
beginの中が長いと上から読んでてループするんだかrescueするんだかわかりにくいからじゃない?
ruby-style-guideはコメントを極力書かないで済むようにするのが目的の一つだから
まあ個人的には首肯しかねるルールもいくつかあるけどね
897デフォルトの名無しさん
2018/04/01(日) 18:43:23.68ID:hwmab9Mq898デフォルトの名無しさん
2018/04/01(日) 21:03:13.03ID:A31P7FUz899デフォルトの名無しさん
2018/04/02(月) 12:57:38.84ID:g/2XFKpH ブロッキング条件なら後に来るの自然に感じる
長過ぎるとってのはどんなブロックでも同じ
長過ぎるとってのはどんなブロックでも同じ
900デフォルトの名無しさん
2018/04/02(月) 13:03:59.66ID:KugB3K+A SV
これは第一文型なんだから
文章.method
SをVするで普通の英語じゃん?
これは第一文型なんだから
文章.method
SをVするで普通の英語じゃん?
901デフォルトの名無しさん
2018/04/02(月) 13:11:22.76ID:6hj+x7xd おいおい…
「を」は対格を作る格助詞だぞ。
記号で書くとV(=verb=動詞)O(=object=目的語)だ。
SVは
S(=subject=主語)V(=verb=動詞)で、
S「が」Vする、だ。
「を」は対格を作る格助詞だぞ。
記号で書くとV(=verb=動詞)O(=object=目的語)だ。
SVは
S(=subject=主語)V(=verb=動詞)で、
S「が」Vする、だ。
902デフォルトの名無しさん
2018/04/02(月) 13:22:58.60ID:g/2XFKpH 自然言語なんて例外だらけなんだからどうでもいい
903デフォルトの名無しさん
2018/04/02(月) 13:41:31.43ID:eDlvSPE1 sendを使う度にモヤモヤした気持ちになる
904デフォルトの名無しさん
2018/04/02(月) 14:10:59.70ID:HZoT/r0A905デフォルトの名無しさん
2018/04/02(月) 18:13:06.38ID:TBzY9DYT そりゃそもそもend書かせる主流言語が少ないし
906デフォルトの名無しさん
2018/04/03(火) 03:47:06.97ID:hZewAlsv907デフォルトの名無しさん
2018/04/03(火) 04:10:23.05ID:8HWTUUN8 Donot
Repeat
Yourself
Repeat
Yourself
908デフォルトの名無しさん
2018/04/03(火) 23:32:43.51ID:q2DveEBR Do
Repaet
Yourself
Repaet
Yourself
909デフォルトの名無しさん
2018/04/04(水) 02:02:25.22ID:h2UR4/YM Reuse
Reduce
Recycle
Ruby
Reduce
Recycle
Ruby
910デフォルトの名無しさん
2018/04/05(木) 14:25:03.13ID:eFdDptlj 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
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
911デフォルトの名無しさん
2018/04/07(土) 05:31:34.17ID:Cc4pa2fK 三ヶ月在れば一つのプログラム言語を習得しアプリケーションを作ることが出来る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
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
912デフォルトの名無しさん
2018/04/08(日) 14:20:42.12ID:JYaIVkeP 10年以上前に学校でスクリプト言語を勉強してたときはPHPが流行ってて
Perlもあったけど少し古いかなって感じ。ただとにかくJAVAが騒がれててJSP+tomcatなんかもやったな。
Rubyはあったけどそんなに話題にならず。
で最近、またスクライピングがやりたくて色々調べたら
もうPHPも下火?でRubyとpythonとかいう言語が主流みたいですね。
Perlもあったけど少し古いかなって感じ。ただとにかくJAVAが騒がれててJSP+tomcatなんかもやったな。
Rubyはあったけどそんなに話題にならず。
で最近、またスクライピングがやりたくて色々調べたら
もうPHPも下火?でRubyとpythonとかいう言語が主流みたいですね。
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★4 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【卓球】早田ひな、「総額100万スられた」「ずっと憧れていたスペインとイタリア…」ヨーロッパ旅行で悲劇 スリ被害を告白 [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【実況】博衣こよりのえちえち歌枠🧪★2
- 産経新聞「高市早苗の答弁さぁ……思慮が足りてなくね?官僚と詰めずに思いつきで話しているでしょ」 [175344491]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【雑談】暇人集会所part18
- 【画像】外務省局長「この度はうちの🦎がすみません…」中国「……」 [165981677]
- 外務省局長、よくわからないまま帰国へ [834922174]
