[過去ログ]
Ruby 初心者スレッド Part 66 (1002レス)
Ruby 初心者スレッド Part 66 http://mevius.5ch.net/test/read.cgi/tech/1578068134/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
1: デフォルトの名無しさん (ワッチョイ 2a2c-RM0q) [] 2020/01/04(土) 01:15:34.30 ID:X7t3Qsuc0 プログラミング言語 Rubyについての、初心者向けスレです。質問・要望・雑談などをどうぞ 質問するときは、OSやRubyのバージョン、エラーメッセージを書いて下さい。 Ruby on Rails については、WEBプログラミング板で 前スレ Ruby 初心者スレッド Part 65 https://mevius.5ch.net/test/read.cgi/tech/1545421414/ るりまサーチ (リファレンス検索) http://rurema.clear-code.com/ Rubyist Magazine - るびま http://jp.rubyist.net/magazine/ 逆
引きRuby http://www.namaraii.com/rubytips/ Ruby コミュニティ公式 https://www.ruby-lang.org/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured http://mevius.5ch.net/test/read.cgi/tech/1578068134/1
2: デフォルトの名無しさん (ワッチョイ 422c-RM0q) [] 2020/01/04(土) 01:17:09.19 ID:X7t3Qsuc0 Rubyの絵本、2008 たのしいRuby 第5版、2016 3ステップでしっかり学ぶ Ruby入門、2018 かんたん Ruby (プログラミングの教科書)、2018 プロを目指す人のためのRuby入門、2017 改訂2版 パーフェクトRuby、2017 改訂2版 Ruby逆引きハンドブック、2018 (中級者向け) Effective Ruby、2015 (中級者向け) メタプログラミング Ruby 第2版、2015 (中級者向け) リファクタリング:Rubyエディション、2010 (中級者向け) RubyでつくるRuby ゼロから学
びなおすプログラミング言語入門、2017 (中級者向け) Rubyのしくみ、2014 (中級者向け) 改訂4版 基礎 Ruby on Rails、2018 パーフェクト Ruby on Rails、2014 Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例、2014 オブジェクト指向設計実践ガイド Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方、2016 Seleniumデザインパターン&ベストプラクティス、2015 http://mevius.5ch.net/test/read.cgi/tech/1578068134/2
3: デフォルトの名無しさん (ワッチョイ 422c-RM0q) [] 2020/01/04(土) 01:17:57.47 ID:X7t3Qsuc0 開発環境 RDE Windows用IDE https://ja.osdn.net/projects/sfnet_rubyde/ 以下、RDEの使用説明 http://rubyde.sourceforge.net/hiki/ja/FrontPage.html RDEのデバッグ機能を使う場合、設定においてデバッグオプションを「-r debug2」から「-r debug」と書き換えて、 ruby付属のdebug.rbを使うようにすること。 RDE付属のdebug2.rbは、ruby1.8用のスクリプトのため、現在のrubyのversionには使えません サクラエディタ Windows用高機能エディタ https://j
a.osdn.net/projects/sfnet_sakura-editor/ 以下、ruby用設定の説明 http://supportdoc.net/support-sakura/ruby.html Emacs GNUの高機能エディタ Vim Emacsと同じぐらい有名なCUIベースのエディタ VSCode マルチOSに対応したマイクロソフト社製のソースコードエディタ https://code.visualstudio.com/download http://mevius.5ch.net/test/read.cgi/tech/1578068134/3
4: デフォルトの名無しさん (ワッチョイ 2ed3-9wJp) [sage] 2020/01/04(土) 01:58:51.41 ID:HyaapUw60 乙です 前スレの「メソッドはオブジェクトか?」に関連してなんですが RubyのUnboundMethodやMethodのインスタンスたるメソッドオブジェクトって 既存のメソッドと等価な複製が作れるってだけで 元のメソッドをオブジェクトにしたものってわけじゃないですよね? たとえば、特異クラスなんかだと普段はオブジェクトじゃないけれど class << self; self end みたいなイディオムや Object#singleton_class メソッドでオブジェクトとして取り出せ
るし ブロックも &b のような仮引数を付すことでやはりオブジェクトとして取り出せるわけですが これらとはメソッドとは話が違う つまり「Rubyのメソッドはオブジェクトではない(〜としては扱えない)」と考えるのが妥当だと思うのですが この理解で合っていますか? http://mevius.5ch.net/test/read.cgi/tech/1578068134/4
5: デフォルトの名無しさん (アウウィフ FFa5-p4uH) [] 2020/01/04(土) 12:04:30.94 ID:trUJS7QSF 今北だが 前スレの終わり方が酷過ぎてワロス もう新スレなんだしそれ以上言うな http://mevius.5ch.net/test/read.cgi/tech/1578068134/5
6: デフォルトの名無しさん (アウアウカー Sa69-9wJp) [sage] 2020/01/04(土) 12:53:40.81 ID:I8dHRpysa これか 996 デフォルトの名無しさん (ワッチョイ 6265-oRfB) sage 2020/01/03(金) 21:03:06.07 ID:e4Snrs1J0 >>993 間違っているという指摘、そのものが誤りだということ モダンな関数型言語において、すべての値(object)は第一級市民であるが 値と値との関係である適用は値ではない したがって、そもそも値ではない適用を第一級市民ではないと否定する主張が誤りである そんなの当たり前だよね 同様に、純粋オブジェクト指向言語において、すべて
はオブジェクトであるが、 オブジェクトとオブジェクトとの間の関係であるメソッドはオブジェクトではない したがって、そもそもオブジェクトではないメソッドを、あえて否定する>>991が誤りではないかと たとえば、>>986 とそれにに対する反論である>>987 を改ざんして: 986 rubyって全てがオブジェクトなところがいいですよね (ただしメソッドがオブジェクトなのは常識ですから、あえて言及しませんけど) 987 コメントはオブジェクトじゃないぞ だったとして、それでもなお>>987を擁護する? http:/
/mevius.5ch.net/test/read.cgi/tech/1578068134/6
7: デフォルトの名無しさん (アウアウカー Sa69-9wJp) [sage] 2020/01/04(土) 15:14:00.74 ID:I8dHRpysa これはメッセージとメソッドの区別が付いていない よくあるパターン? http://mevius.5ch.net/test/read.cgi/tech/1578068134/7
8: デフォルトの名無しさん (ワッチョイ 422c-RM0q) [sage] 2020/01/04(土) 23:46:45.39 ID:X7t3Qsuc0 Ruby には関数スコープ内に、ブロックスコープがある 関数は、外側の変数を通さない。 一方、ブロックは通す。つまり、クロージャ C と同じの、強固な2段階スコープ! 一方、JavaScript はクロージャしかない。 関数もクロージャだから、第一級関数 その欠点は、外側の変数を通してしまうから、バグが増える。 だから、Ruby は、2段階スコープを採用したのだろう 処理を持ち運ぶ場合だけ、オブジェクトに変換すればよい http://mevius.5ch.net/te
st/read.cgi/tech/1578068134/8
9: デフォルトの名無しさん (ワッチョイ 2ed3-9wJp) [sage] 2020/01/05(日) 01:29:02.13 ID:+qhlN9cW0 つまりRubyではメソッドそれ自体はオブジェクトではない ということでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1578068134/9
10: デフォルトの名無しさん (ワッチョイ 9233-YCNF) [sage] 2020/01/05(日) 01:51:26.84 ID:CSAIgDGG0 >>9 メソッド自体を、独立したオブジェクトのように扱えるか? 扱えないならそういうこと。 ただ、ちょっと工夫すれば、似たようなことはだいたい実現できるから、その区別にはそれほど意味がない。 http://mevius.5ch.net/test/read.cgi/tech/1578068134/10
11: デフォルトの名無しさん (ワッチョイ 8201-TJkF) [sage] 2020/01/05(日) 15:36:12.39 ID:NzdiaSgk0 「The Ruby Programming Language」David Flanagan and Yukihiro Matsumoto 6.7 Method Objects Ruby’s methods and blocks are executable language constructs, but they are not objects. Procs and lambdas are object versions of blocks; they can be executed and also manipulated as data. Ruby has powerful metaprogramming (or reflection) capabilities, and methods can actually be represented as instances of the Method class.
http://mevius.5ch.net/test/read.cgi/tech/1578068134/11
12: デフォルトの名無しさん (ワッチョイ 422c-RM0q) [] 2020/01/05(日) 22:47:41.92 ID:BPHXVrhY0 JavaScript 第6版、2012、David Flanagan 彼は、JS のバイブル、表紙がサイの絵の、いわゆるサイ本も書いてる! Google などのエンジニアの机に、必ず置いてある http://mevius.5ch.net/test/read.cgi/tech/1578068134/12
13: デフォルトの名無しさん (ワッチョイ e514-DsOW) [sage] 2020/01/05(日) 22:55:53.02 ID:UM8RYdV+0 サイフォン? http://mevius.5ch.net/test/read.cgi/tech/1578068134/13
14: デフォルトの名無しさん (アウアウカー Sa69-JS+6) [sage] 2020/01/05(日) 23:56:52.37 ID:DQgvXjWRa 同じ純粋オブジェクト指向言語のSmalltalkと比べてみた Rubyのメソッドオブジェクトは要求される度に作っているみたいで持ち出し専用 Smalltalkのメソッドオブジェクトはそのものでその気になれば中身も弄れる class Object; def foo; "bar" end end um1 = Object.instance_method(:foo) um2 = Object.instance_method(:foo) um3 = um1.clone p [um1, um2, um3].map{ |m| m.object_id } #=> [60, 80, 100] obj = Object.new bm1 = obj
.method(:foo) bm2 = obj.method(:foo) bm3 = bm1.clone p [bm1, bm2, bm3].map{ |m| m.object_id } #=> [120, 140, 160] -- "Pharo Smalltalk" Object compile: 'foo ^''bar'''. cm1 := Object compiledMethodAt: #foo. cm2 := Object compiledMethodAt: #foo. cm3 := cm1 copy. {cm1. cm2. cm3} collect: [:cm | cm identityHash]. "=>#(832658944 832658944 425444352) " self foo. "=> 'bar' " (cm1 literalAt: 1) at: 3 put: $z. self foo. "=> 'baz' " http://mevius.5ch.net/test/rea
d.cgi/tech/1578068134/14
15: デフォルトの名無しさん (ワッチョイ 9233-YCNF) [sage] 2020/01/06(月) 00:28:28.35 ID:bN5NBzFy0 C#も、メソッドをランタイムにビルドできるんやで! http://mevius.5ch.net/test/read.cgi/tech/1578068134/15
16: デフォルトの名無しさん (アウアウカー Sa69-9wJp) [sage] 2020/01/06(月) 01:11:00.75 ID:Bux8XPhea いやここでのポイントはメソッドがオブジェクトなのかどうかであって ランライムにメソッドをビルドできるかは関係ないしむしろ出来て当前 http://mevius.5ch.net/test/read.cgi/tech/1578068134/16
17: デフォルトの名無しさん (ワッチョイ e514-DsOW) [sage] 2020/01/06(月) 09:04:50.20 ID:0zhzHQ2W0 >>14 > その気になれば中身も弄れる それが良いことだと思わないんだけどなw そんなことやるか?やらない。できる必要あるか?ない アセンブラであれば、中身だろうがなんでもできる 言語というのは成長するにつれてより制限されるもの 制限といえば聞こえは悪いが、ある機能に特化することで ミスを防ぎ、コードを書いた人のより正確に表すことができる http://mevius.5ch.net/test/read.cgi/tech/1578068134/17
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 985 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.016s