Ruby 初心者スレッド Part 64
レス数が900を超えています。1000を超えると表示できなくなるよ。
プログラミング言語Rubyについての、初心者向けスレです。質問・要望・雑談などどうぞ。
質問するときは、OSやRubyのバージョン、エラーメッセージを書いたほうがいいお
Ruby on RailsについてはWEBプログラミング板で
前スレ
Ruby 初心者スレッド Part 63
https://mevius.5ch.net/test/read.cgi/tech/1523954817/
るりまサーチ (リファレンス検索)
http://rurema.clear-code.com/
Rubyist Magazine - るびま
http://jp.rubyist.net/magazine/
逆引きRuby
http://www.namaraii.com/rubytips/
Ruby コミュニティ公式
https://www.ruby-lang.org/ Ruby で、PowerShell から、Web サーバーを起動すると、WEBrick が起動する。
ruby -run -e httpd . -p 8080
これで複数のブラウザから、index.html をアクセスできる。
http://localhost:8080
Nokogiri, Selenium WebDriver, ERB などを使って、
原始的に文字列から、HTML タグを構築して、ブラウザで見る
漏れはその方法で、自分のPC 内の画像フォルダ内の画像を、ブラウザで見てる
他には、5ch の書き込み内のリンク(a タグ)を取得して、
それが画像の拡張子なら、img タグに変換して、画像として表示したりしてる
GUI は、HTML, CSS, JavaScript を使えばよい >>830
世界最大のソフトウェア開発プラットフォームで最も人気なプログラミング言語は何なのか?
https://gigazine.net/news/20181116-top-programming-languages-2018/
さすがRuby!貫禄のランクイン!!
Railsで作られたサービスということを差し引いてもすごい! 改訂2版 Ruby逆引きハンドブック、2018/8/28
株式会社マネーフォワード
今読んでいるけど、この本もすごい!
著者は、初版の「るびきち」から、上場企業のマネーフォワードの9人に変わったけど、
何人か、Rubyコミッターもいる
この会社もRubyでは、Cookpad 並みにすごいかも 2015年まで5位の座を占めていたRubyは
2018年になると10位へ転落し、
トップ10から陥落しかけている状況。 rubyは落ち目だな
今のうちにPythonに乗り換えとくわ PythonはもうAIが機械学習で自動コーディングしてくれるそうだ むかしPerlで書いてたような書捨てスクリプトはRubyのが楽だし
適材適所 pycharm-ceの出来がいいから、ついpythonで書いちゃうな
rubymineもceバージョン出してくれんかな(´・ω・`) atom使ってる人いる?
何故atomを使うのか聞きたい Railsで世界最高の開発者向けサービスを作って今はMSの社員としてMSから高給を貰っている方々によって開発されたエディタだからな
これはもうRubyがAtomを生み出したと言っても過言ではない VSCodeは元々Atomからフォークされたものであるから、VSCodeの起源もまたRubyにあると言っても過言ではない MSは俺が出した金から社員に給料を出しているわけだから、
俺の先祖がAtomを生み出したと言っても過言ではない Railsの超初心者の質問なのですが、例外をキャッチしたらエラー画面を出さずにエラーメッセージをビューに送る処理を書きたいのですがうまく行きません。
コードです。
https://ideone.com/ubaMxO ideoneを使ってるだけで初心者って臭いがするなw >>845
render 使わないと何も返さないよ >>847
その答えは失格だなぁw
正しい答えは「例外をキャッチしたらエラー画面を出さずにエラーメッセージをビューに送る処理を書いたらだめ」だ >>848
あんまりよくわからないです
インスタンス変数はビューから参照出来るんですよね?
それとも例外の処理書き間違えていますかね? >>849
だから、例外は放っておけばいいの
余計なことしなくていい >>850
ではエラーメッセージはどうやってビューに渡すんですか? 例外が発生したらそのままプログラムを終了させてしまえと主張する気違いはたまに発生する コンソールアプリならアリかな。
それ以外は原則ナシだけども。 なんかバカな質問してました
手段忘れたけど自己解決しました Rails の質問は、web制作管理板の方へ書き込んでください >>851
エラーメッセージやなくて例外やろ?
例外は渡さなくていいって言ってるの
rescueもしなくていいって言ってんの
なんのためにRails使ってるんだよ?
そんなクソ面倒なことRailsにやらせろよ >>852
> 例外が発生したらそのままプログラムを終了させてしまえと主張する気違いはたまに発生する
そいつはバカだな。Railsは例外発生してもプログラム終了しないからな。さすがやで 掲示板実装できた
これで初心者から初心者にステップアップだ おめでとう
おれはまだRailsすらinstallできてない 漏れは、Windows10 で、MSYS2 コンパイラを入れていないから、
websocket のバイナリが無いから、Rails は使えない。
どこかに、websocket のバイナリは無いの?
https://www.mirrorcommunications.com/blog/how-to-install-ruby-on-rails-on-windows-10-with-postgresql
2017/04/22
Windows10, WSL
Ruby 2.4.1
Rails 5.0.1
動画もある
まあ、Rails の話は、webprog 板へ書き込んで! rails+windowsはツラすぎるから
WSLかVagrant使え ツラ過ぎるというより意味がないんだよ
どうせ運用環境はLinuxなんだからWinでの苦労なんて便所の落書き以下の意味すらない >>862
これマジ?
既にエディタの環境構築でひと苦労なのに、Linuxの構築もしないといけないのか……
Windowserは不遇だな…… >>864
だから言ったのに… >>686-687
信者も相手のOS確認せずに布教して投げっぱにするなよ。
10人に石投げたら8〜9人がWindowsなんやぞ。
686 デフォルトの名無しさん 2018/10/17(水) 20:13:17.85 ID:pcmrmHBT
ドキュメント軽視とWindows蔑視はRubyコミュニティの伝統。
コードが仕様だ!Windowsなんて使ってる奴が悪い!
687 デフォルトの名無しさん sage 2018/10/17(水) 20:17:44.70 ID:z+Rs6gUv
Unixで開発してるとGCCツールチェインは自然に入ってるからね
はっきり言うね、Windows使いに人権はありません cloud9使えばいいじゃん
端末のOSなど一切関係ないから
ブラウザさえ使えればいいからクソノートでもキーボードさえついていればいい Ruby Mineの調子が悪いのでエディタ・IDEを変えようと思うのですがオススメありますか?
vimキーバインドにできてスペルチェックあって自動でend挿入出来るのがいいです >>867
Ruby教の教義的にはspacemacs
世間一般では圧倒的にVSCode 色々使ったけどやっぱvs code最強だわ
宗教上の理由で使えない奴らかわいそうw VSCodeはカーソル移動でホームポジションから手を離さないといけないのがなー
Mac使えばいいんだろうけど、そのためだけにMacってのも VimやEmacsのキーバインド使えばいいでしょ
コマンド入力による操作体系が強力だから少なくともRubyMineに比べたらキーボード中心で使いやすいし 別にAutoHotkeyでキーバインド変更しているから無問題 MacのキーバインドをWindowsやLinuxでも採用すればよかっただけなのにな
なんでわざわざ変えたんだろう >>873
歴史的に見ればMacの方が後だよ。
Macの今のキーバインドが出来たのは2000年ごろだ >>874
1984 Macintosh
1985 Windows
1991 Linux >>878
1984年ごろのMacのキーバインドはホント糞だったよ OSXからだよ。Unix系の素晴らしいキーバインドを取り入れたのは
Unixは最初から素晴らしかったからね UNIXじゃなくてEmacsだろ
今やUNIXエディタ戦争はVimに完敗し、SublimeやAtomでMacの独壇場だったモダンエディタ系も今やMSの天下
RailsがMacにプリインストールされてイケイケだった頃のRubyが懐かしいな viって使わないとコマンド忘れちゃうね
仕方ないのでnano使ってる 教本に書いてあるクラス定義の例題プログラムが全然理解できない……つらい…… プログラミングには向き不向きがあるから諦めることも大事
向いてない奴が頑張っても生涯クソブラック企業で奴隷だぞ Ruby でオブジェクト指向を勉強するのが、一番よい
Rubyでは、あらゆるものがObject だから、Class 自体もObject
self が、Classからnew したインスタンスを指すのが普通だが、
特異メソッドの文脈では、Class自信を指す
どの文脈なのか注意する。
Classの地の文では、selfはClassだから、ここでは特異メソッドになる。
インスタンスの文脈にならない
@インスタンス変数と、@@クラス変数の他に、@クラスインスタンス変数という変態もある。
これは、selfがClassの文脈で、@を使った場合に起こる。
この場合、クラス自身のインスタンス変数となり、サブクラスへ継承されない
たのしいRuby 第5版、2016
を読んだら、以下の2冊を読むとよい
Effective Ruby、2015
改訂2版 Ruby逆引きハンドブック、2018/8/28 > Rubyでは、あらゆるものがObject だから
あれ?Rubyってメソッドはオブジェクトだっけ?
JavaScriptはメソッドがオブジェクトだから
function foo() {}
console.log(foo.name)
とかできるけど、Rubyって無理だったよね? Rubyではブロック自体や単独のメソッド参照はオブジェクトではないよ
第一級関数ではない block、proc、lamdaを華麗に使い分けるRuby!さすが!
全部functionでやるjavascriptは汚い!さすがjavascriptきたない! 処理は、わざと第一級関数・オブジェクトにしなかった
オブジェクトはレシーバー・主体で、メソッドはそれに対する操作。
この区別を厳格にした
そして、メソッドを持ち運ぶ場合だけ、block, proc, lamda に変換する。
基本は、クロージャの実装ある、block
JavaScript では、関数オブジェクトとは何なのか?
抽象的すぎて、よくわからない >>890
この池沼にも理解できるように意図して設計したとしたらRubyは凄いわ
まあRubyの obj.method がメソッドオブジェクトを返さない実際の理由は、
括弧を省略することで属性のように見えるというアイデアに固執したせいなんだけど ローカル変数・無引数メソッドの、区別が難しい!
無引数メソッドに代入すると、新しいローカル変数が作られて、メソッドが隠される。
ただし、ローカル変数が見えないスコープでは、メソッドが参照されるが、
f( ) のように、( )を付けるとメソッドが呼ばれる
def f( ) "method" end
p f #=> "method"
f = "var"
p f #=> "var"
f = "var"
p f( ) #=> "method" >>889
アロー関数知らんのか
RubyにもUnboundMethodがあることはある。 >>894
知ってるが。
>>889に(function(){}).bind(this)のシンタクティックシュガーを取り立てて書かなきゃならない意味とは?
マウント取りたかったのかな? メソッドをオブジェクト化することはできるけど、メソッド自体は違うね 根本的な思想が違うんだよ
obj.method(arg)
JavaScript : obj から method プロパティの値を取り出し、その値を関数オブジェクトと見做して呼び出す。
Ruby : obj に「method という名前のメソッドを呼び出せ」というメッセージを送る。それにどう反応するかは obj の勝手である。
ただし、Rubyは内部的にはメソッドがオブジェクトとして実装されてたりしてごっちゃになってるので一貫性に欠ける無茶苦茶な仕様になってる。 >>898
(x => x * 2)(3)
//=> 6 >>899
別に無茶苦茶ではないけど
何を持って無茶苦茶と言ってるんだろう?
俺様の感性に合わないこと? >>900
なんで俺に言うんだよ無茶苦茶って言ってる>>898に言え とりあえず、Rubyは全てがオブジェクトだという嘘をつくのはやめろって言う話 知らんよ。なぜかRuby厨の自慢になってるんだよ。
「全てがオブジェクト(嘘)」 あれだろ、数値とかがオブジェクトではないJavaとかPerlと比べてるだけだろ
Rubyが出た当初の自慢話を今も引きずってると思い込んでる時点で何だかなという感じ そもそもなぜそれが自慢になるのかがさっぱり分からんな
しょせんSmalltalkの顰みにならったに過ぎない変態仕様を… 空白に表示されている所は、タブ文字ですが、
{ |row| row } のように、無処理のブロックの短縮形は、ありますか?
require 'csv'
# タブ区切りで、要素中にもタブ文字・カンマあり
text = <<TEXT
あ "A a" 1,11
い "B b" 2,22
TEXT
result = ""
# 区切り文字を、タブ文字からカンマに変える
options = { :input_col_sep => "\t", :output_col_sep => "," }
CSV.filter( text, result, options ) { |row| row }
結果
あ,A a,"1,11"
い,B b,"2,22" >>912
CSV.filter( text, result, options, &:itself) ありがとう
Ruby 2.2 から、Kernel#itself, &:itself が出来たのですか >>914
古いバージョンなら String#.to_s でもいいんじゃない youtubeでプログラミングやれば転職やフリーの仕事がまあまあできる、実際は
どうなんでしょうか。自分も学校に通ってプログラミングを習うつもりですが、
転職の際に役立つスキルとPRとして使えるのか、そのまま転職、または何かのきっかけレベル
になるのか、その辺りがわかならいままです。 中途未経験でPGになるならはじめからまともな労働条件を望むのは非常に厳しい
ド糞ブラックならFizzBuzz書ければ通るから、まずはそこで3年耐えて、実績がついたら転職だ
その覚悟があるならいらっしゃい あと、Rubyはかなり上のレベル(君が日本のITベンチャーと聞いて思い浮かぶようなところ)
までいかないと人並みの給料貰えないし、そういうところは脱Rubyが進みつつあるから、よほどRubyに強い拘りが無い限りはお勧めできない
無難なのはJava、C、C#、JavaScript(できればNodeも)あたりだね 与えられた数値をより短い文字数で表せる計算式を作れたら大金持ちになれる。 YouTube を見たら、学費無料もある。
転職請負人・育成機関だろ。
プログラマーに育て上げて、企業が採用したら、お金をもらう
Ruby は、短時間で学べる事が多い。
バグで時間を取られないから、
その時間でデザインパターン・フレームワーク・Linux コマンド・環境構築運用を学べる
Rubyの人は、広く浅く、システムの全行程がわかる。
Java のような関数だけ書けて、システムがわからない土方じゃない!
Rubyは、SE に近いプログラマー
画面は、HTML, CSS, JavaScript(JS) で作るから、これらにもRubyは応用できる。
JS, Kotlin などは、Rubyに似せているから、他言語にも応用できる お前ら責任持って相手してコイツ↑をこのスレに引き付けとけよ。
他のスレ迷惑してんだからほんと。 >>923
ZeoSyncという会社が100分の1程度にまでランダムなデータを圧縮できる技術を開発した Rubyの勉強したいんだがどのように覚えたらいい?
最終的にはRailsを使えるようになりたい
Rudyの基本的な文法覚えるのと他にやるべき事ってある? さっさとRails使え。RubyとRailsの勉強はあとからだ レス数が900を超えています。1000を超えると表示できなくなるよ。