プログラミング言語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
■ このスレッドは過去ログ倉庫に格納されています
2017/11/24(金) 00:35:29.31ID:rLZHdQ3Q
798796
2018/02/28(水) 22:18:52.36ID:mIXPiXOq 原因分からなかったけど解決しました
ループ内で毎回Hashに加えていくのを一旦stringにまとめてから
ループ後のHashに加えるようにしたら"\txxxxx\t\n"の後ろのタブが消えなくなりました
ループ内で毎回Hashに加えていくのを一旦stringにまとめてから
ループ後のHashに加えるようにしたら"\txxxxx\t\n"の後ろのタブが消えなくなりました
799796
2018/02/28(水) 22:22:19.89ID:mIXPiXOq 前に壊したデータ読み直してました
800デフォルトの名無しさん
2018/03/02(金) 00:03:53.83ID:7c4/pzB6 windows環境でrRubyinstaller2でインストールしてruby.exeのパスに非アスキー文字が含まれていると
requireしたときに$LOAD_PATHの非アスキー部分が文字化けしてload errorが起きるんですけど何か対処法はありませんでしょうか?
その場的に今はUTF-8で書いたコードの中で$LOAD_PATHに対応するパスを挿入して動かしてるんですが。。。
諸事情によりrubyはアスキー文字配下にインストールできないものとします
requireしたときに$LOAD_PATHの非アスキー部分が文字化けしてload errorが起きるんですけど何か対処法はありませんでしょうか?
その場的に今はUTF-8で書いたコードの中で$LOAD_PATHに対応するパスを挿入して動かしてるんですが。。。
諸事情によりrubyはアスキー文字配下にインストールできないものとします
801デフォルトの名無しさん
2018/03/02(金) 03:54:56.19ID:QlU5Q+B8 今すぐアンインストールしてWSLを入れよう
802デフォルトの名無しさん
2018/03/02(金) 05:39:12.36ID:xypD9Mi9 >>800
バグ報告してくるんだ
バグ報告してくるんだ
803デフォルトの名無しさん
2018/03/02(金) 07:54:43.19ID:mIGjbFX+ Windows のirb でも、ascii 以外は正常に動かないから、
irb を使う時だけ、WSL・Ubuntu の方を使っている
UTF-8 では、cp932(shift-jis)が読めないのだろう
起動時オプションで、cp932 を指定すれば、読めるかも知れないけど、
逆にRuby 内部で、cp932 はヤバイのじゃないか?
UTF-8以外を使うと、他のアプリと通信できないとか、バグりそう
とにかく、PC のユーザー名・パス名などに、半角英数字以外を使うと、
多くのアプリでバグる
irb を使う時だけ、WSL・Ubuntu の方を使っている
UTF-8 では、cp932(shift-jis)が読めないのだろう
起動時オプションで、cp932 を指定すれば、読めるかも知れないけど、
逆にRuby 内部で、cp932 はヤバイのじゃないか?
UTF-8以外を使うと、他のアプリと通信できないとか、バグりそう
とにかく、PC のユーザー名・パス名などに、半角英数字以外を使うと、
多くのアプリでバグる
804803
2018/03/02(金) 11:51:22.61ID:mIGjbFX+ 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は微妙に異なるから、どこまで正常に動くか分からない
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は微妙に異なるから、どこまで正常に動くか分からない
805デフォルトの名無しさん
2018/03/02(金) 12:00:42.65ID:OCKmRFPd なにをごちゃごちゃやってんだ?
こういうのは変換すべきレイヤーで変換するだけの話だろ
Rubyのスクリプト(に限らないが)は
どこでも同じように動かすんだから
ソースコードも内部も UTF-8だ
画面への入出力時に変換させればいいだけ
コマンドプロンプトをUTF-8に変換するって手もある
海外じゃCP932という日本専用の文字コード使ってないことぐらいわかるだろ?
こういうのは変換すべきレイヤーで変換するだけの話だろ
Rubyのスクリプト(に限らないが)は
どこでも同じように動かすんだから
ソースコードも内部も UTF-8だ
画面への入出力時に変換させればいいだけ
コマンドプロンプトをUTF-8に変換するって手もある
海外じゃCP932という日本専用の文字コード使ってないことぐらいわかるだろ?
806デフォルトの名無しさん
2018/03/02(金) 12:39:35.62ID:vnF4MMGw 元々はwindowsのワイド文字をうまくutf8に変換してやってこうという方針だったのに
nobuがロケールに変換させまくって動かないだけ
まあ誰もバグ報告しないのも悪いけど
nobuがロケールに変換させまくって動かないだけ
まあ誰もバグ報告しないのも悪いけど
807803
2018/03/02(金) 13:14:57.35ID:mIGjbFX+ Rubyist は、RubyでGem を作れるけど、C で低レベルなI/O を書けるわけじゃない
また、Linux・Windows の両方に対応させるのは、難しい
また、Linux・Windows の両方に対応させるのは、難しい
808803
2018/03/02(金) 16:17:45.17ID:mIGjbFX+ 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の日本語を考慮していないからじゃないの?
https://docs.ruby-lang.org/ja/latest/library/irb=2finput=2dmethod.html
class IRB::ReadlineInputMethod のソースコードを見れば良いの?
それとも、GNU Readline のソースコードかな?
Windows のirb で、日本語がバグるのは、
根本的に、GNU Readline が、Windowsの日本語を考慮していないからじゃないの?
809デフォルトの名無しさん
2018/03/02(金) 16:40:11.45ID:ypGJ9h8+ というかrubyコミュニティがwindowsを考慮してない。
むしろ怨み、蔑み、嫌っている。昔から。
むしろ怨み、蔑み、嫌っている。昔から。
810デフォルトの名無しさん
2018/03/02(金) 17:18:20.26ID:0lL3/u0V >>809
そだねー
そだねー
811803
2018/03/02(金) 17:55:40.44ID:mIGjbFX+ console.log("あ");
Windows で、node (REPL)を実行したけど、
日本語を入力しても、PowerShell・コマンドプロンプトの両方で、正常に動く
Windows で、node (REPL)を実行したけど、
日本語を入力しても、PowerShell・コマンドプロンプトの両方で、正常に動く
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:hwmab9Mq■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 新米の予想収穫量、1割増 746万8000トン―農水省 [蚤の市★]
- 高市「発言は撤回しない。謝罪もするな。外務省局長!任せたぞ。」👈なにをさせたかったの?😲 [826239858]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 【悲報】『岡田が日和って逃げたのに高市が自分から突っ込んだ発言をして自爆した』⬅国会答弁、実際はこれだった…… [158478931]
- 自分に自信がない女の子、陽キャ美容室で80cmのエクステを付けた結果wwwwwwwwwwwwwwwwwww [329329848]
- 【実況】博衣こよりのえちえち歌枠🧪
- 外務省局長、よくわからないまま帰国へ [834922174]
