Re: [問題] 菜鳥有幾個問題想要請教一下

看板Ruby作者 (迷戀愛麗絲)時間11年前 (2013/02/18 15:28), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
Hi: 追了一下 puts http://goo.gl/qssHb main(int argc, char **argv) ruby_init http://goo.gl/5rt9E http://goo.gl/fty3G rb_call_inits(); 1.9 http://www.douban.com/note/247053862/ (1.8 http://tinyurl.com/a56wuua) Init_IO line 11566: https://github.com/ruby/ruby/blob/trunk/io.c rb_define_global_function("puts", rb_f_puts, -1); ^^^^^^^^^^^^^^^^^^^^^^^^^ line 6857: rb_f_puts return rb_funcall2(rb_stdout, rb_intern("puts"), argc, argv); ^^^^^^^^^ line 11746: rb_define_hooked_variable("$stdout", &rb_stdout, 0, stdout_setter); rb_stdout = prep_stdio(stdout, FMODE_WRITABLE, rb_cIO, "<STDOUT>"); rb_define_global_const("STDOUT", rb_stdout); http://tinyurl.com/awqnfxh rb_define_module_function(rb_mKernel, name, func, argc); ^^^^^^^^^^ http://goo.gl/dxY7c rb_mKernel = rb_define_module("Kernel"); rb_include_module(rb_cObject, rb_mKernel); rb_define_module_function http://goo.gl/mPKFg rb_define_singleton_method http://goo.gl/ZWu02 rb_define_method(singleton_class_of(obj), name, func, argc); http://rhg.rubyforge.org/chapter04.html irb(main):112:0> Kernel.global_variables :$stdin, :$stdout, :$stderr,$kernel, :$IO, :$stdio, 所以是 puts 是 Kernel module 的一個 global function = $stdout.puts 有錯請指正 ※ 引述《mixfuture (恩)》之銘言: : (ctrl + y 刪去不必要的行列) : 環境:ruby 1.9.3 在windows 7 底下運作 : 1.最近在寫個小程式 想要用連結到資料庫作存取 有無類似像 : rails 上的 ActiveRecord api呢? 還是說有辦法直接用ActiveRecord : 這個 api : 2. ruby的概念是萬物皆物件 也就是說我們有了類別 然後才能new出一個實體物件 : 可是諸如像是 puts , p 等這些我們卻不用new 而直接使用這些物件 : 這是為什麼呢??是有點類似java的靜態物件嗎? : 菜鳥問題 凡請大家 多解惑了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 42.78.139.254 ※ 編輯: sjh6537 來自: 42.78.139.254 (02/18 16:23)

02/18 17:54, , 1F
感激詳細解說!!
02/18 17:54, 1F
※ 編輯: sjh6537 來自: 114.34.143.170 (02/19 01:53)
文章代碼(AID): #1H8TWYVN (Ruby)
文章代碼(AID): #1H8TWYVN (Ruby)