新手问题 这段时间学 ruby 期间遇到的几个问题

drine · 2013年09月13日 · 最后由 goinaction 回复于 2013年09月14日 · 3544 次阅读

昨天写个跟 socket 有关的东西。网上先找了一些代码看了看,发现里面一些方法在官方文档里根本没有,比如 Socket.new(:INET, :STREAM) Socket.sockaddr_in(a, b)

这两个,官网上根本搜不到啊。还有个打印系统时间的,time.now.ctime 这个 ctime 到底是什么啊,理解好理解,但它们从哪里出来的到底,查不到户口,这怎么继续学习下去啊 囧!

还有个小问题。。socket.new(:INET,:STREAM) 这里面的这个冒号 : 具体是什么用。。。

  1. 关于 Socket 的东西要先看看网络编程的基础,想从 Ruby 的角度学习这些是有难度的。
  2. time.now.ctime ctime 官方文档就写得很明白了。http://www.ruby-doc.org/core-2.0.0/Time.html#method-i-ctime
  3. 冒号是 ruby 中符号的表示方法,这个是基础。http://ruby-doc.org/core-2.0.0/Symbol.html

#2 楼 @zgm 知道了,谢谢你!

楼主还是先看书吧,水平还没到达只要看文档就可以做事的地步。

#4 楼 @iBachue 我用的双飞燕那本,在 symbol 里对 : 的解释就不过 5 排。。

#1 楼 @DrinE 这里的冒号就是一个特殊类型的字符串

ruby-china wiki 里面有那么多的好资源额。不要错过

Symbol 是不是相当于字符串常量?

Socket 我手里只有一本 Python 的~

要不推荐你看《UNIX 网络编程》?

#8 楼 @yakczh 不是字符串,而是字符串的名字。

#12 楼 @rasefon 请教下,刚才看了一篇文章,里面有句话

注意,在 VALUE 中 Fixnum 总是一个奇数,而使用 C 结构体表示的 Ruby 对象的内存空间是由 malloc 分配的,所得地址通常为 4 的倍数,因此以 VALUE 表示的 Fixnum 和 C 结构体 Ruby 对象不会发生冲突。

只是说地址通常为 4 的倍数,难道还会出现不是 4 的倍数的情况?

#12 楼 @rasefon 涨姿势了!

是不是应该在 github 上加个 issue:

feature :增加收藏回复功能

#14 楼 @goinaction 地址不会出现不是 4 的倍数,所以 Fixnum 才能与通常的 object 区分开来啊。

#15 楼 @shatle 喜欢右边的图标

@Rei 那不是回复楼的按键吗,最近回复也只能显示 10 十条啊,以后可能会被覆盖吧!

我还是用我的 evernote 吧

#18 楼 @shatle 哦,原来是回复。用 evernote 吧。

#16 楼 @rasefon 我也是这么想的,但是看文章说通常为 4 的倍数,还奇怪难道会有特殊情况。 Google 了一下似乎也没看到有讨论这个问题的。

#21 楼 @goinaction Value 本身只不过是个 4byte 的值,所以可能会出现不适 4 的倍数的情况,这些情况只有这几种可能: 小整形,符号,true,false,nil,undef。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号