2009-03-15から1日間の記事一覧
変数とメソッドは違うらしい #!/usr/bin/env ruby # -*- coding: utf-8 -*- a=1 def a puts "hello" end p a #=>1 a #=>何もなし a() #=>hello p a.class #=>Fixnum p a().class #=>hello NilClass と思ったけど,a=1のaはFixnumクラスのオブジェクトなんだ…
#!/usr/bin/env ruby # -*- coding: utf-8 -*- obj = nil class << obj def hello puts "Hello world" end end obj.hello #=>Hello world 参考: おおなんかおもしろいな. undefはnilに定義するんではなく,定義を無かったことにするみたい.
ふと,こんなことできないのかなーと思ったのだけれど, #!/usr/bin/env ruby # -*- coding: utf-8 -*- def Integer.plus(n) return Integer.value + n end p 1.plus(10) #=>11が欲しい なんかできそうだよなぁ.すべてがオブジェクトなrubyなら. 追記 あっ…
callccがあるみたいだ.でも今後消える可能性もあるとか. callccのわかりやすい説明:Route 477 - Ruby勉強会@関西-16「30分でわかるcallccの使い方」rubyでfibonacci #!/usr/bin/env ruby # -*- coding: utf-8 -*- def fib(n) cnt = nil a, b = 1, 0 call…