zl程序教程

ruby变量

  • Ruby中的反射(Reflection)- 操作成员变量和私有方法(完)

    Ruby中的反射(Reflection)- 操作成员变量和私有方法(完)

    上一篇文章我们说到了Ruby中的反射(Reflection)-通过类名称构造类对象。使用过Java反射的同学们都知道,有了对象之后,操作成员变量和私有方法也就不在话下了。Ruby中也是一样。 先看操作成员变量的例子。我们尝试更改一个成员变量的值。(接着上一片文章的代码)#manpulate instance variablesfirst_wood = obj_list.firstfirst_wo

    日期 2023-06-12 10:48:40     
  • ruby变量

    ruby变量

     Ruby有三类变量,一种常量和两种严格意义上的伪变量(pseudo-variables).变量和常量都没有类型.虽然无类型变量存在一定的缺点,但却有更多的优点并很好的符合Ruby快速简便(quick and easy)的哲学精神.在大多数语言里,变量都必须指定其类型,可更改性(是不是个常数)和范围;由于类型的不存在,剩下的东西也可由变量名字很快确定(你马上会看见),在Ruby里我们不需要变量声

    日期 2023-06-12 10:48:40     
  • 解析ruby全局变量

    解析ruby全局变量

     全局变量由$开头.它们可以在程序的任何位置访问到.在初始化前,全局变量有一个特殊的值 nil.ruby> $foo   nilruby> $foo = 5   5ruby> $foo   5  应谨慎使用全局变量.由于在任何地方都可以被写因此他们相当危险.滥用全局变量会导致很难隔离臭虫;同时也视为程序的设计未经严格考虑.当你发现必须要使用全局变量时,记得给它一个不会在其它地方

    日期 2023-06-12 10:48:40     
  • ruby实变量

    ruby实变量

     一个实变量由@开头,它的范围限制在 self 对象内.两个不同的对象,即使属于同一个类,也可以拥有不同值的实变量.从对象外部来看,实变量不能改变甚至观察(比如, Ruby的实变量从来不是公用的),除非方法由程序员明确声明.像全局变量一样,实变量在初始前的值是nil.Ruby的实变量用不着声明.这暗含着对象的弹性结构.实际上,每个实变量都是在第一次出现时动态加入对象的.ruby> clas

    日期 2023-06-12 10:48:40     
  • ruby局部变量

    ruby局部变量

     局部变量由小写字母或下划线(_)开头.局部变量不像全局和实变量一样在初始化前含nil值.ruby> $foo   nilruby> @foo   nilruby> fooERR: (eval):1: undefined local variable or method `foo" for main(Object)  对局部变量的第一次赋值做的很像一次声明.如果你指向一个未初始

    日期 2023-06-12 10:48:40     
  • Ruby中$开头的全局变量、内部变量、隐藏变量介绍

    Ruby中$开头的全局变量、内部变量、隐藏变量介绍

    Ruby中充满了一系列的隐藏变量,我们可以从这些预定义的全局变量中获取一些有意思的信息。 全局进程变量 $$表示当前运行的ruby进程。复制代码代码如下:>>$$=>17170我们可以从当前进程杀死它自己复制代码代码如下:>>`kill-9#{$$}`[1]   17170killed    irb$?表示最近一个子进程的状态复制代码代码如下:>>`ec

    日期 2023-06-12 10:48:40     
  • Python和Ruby中each循环引用变量问题(一个隐秘BUG?)

    Python和Ruby中each循环引用变量问题(一个隐秘BUG?)

    虽然这个问题我是在Python里遇到的,但是用Ruby解释起来比较容易一些。在Ruby里,遍历一个数组可以有很多种方法,最常用的两种无非是for和each:复制代码代码如下:arr=["a","b","c"]arr.each{|e| putse}foreinarr putseend通常我比较喜欢后者,似乎因为写起来比较好看,不过从效率上来说前者应该会稍微快一点,因为后者实际上是在遍历的过程中对每

    日期 2023-06-12 10:48:40     
  • Ruby中的变量学习总结

    Ruby中的变量学习总结

    Ruby中的变量有几种形式,分别是局部变量、实例变量、类变量、全局变量,对于初学者来说,常常容易搞混,尤其像本人这种做java的,理解起来还是头痛,经过仔细辨别学习,将这几种变量的差异及使用场景总结如下: 一、命名方式 1.局部变量:小写字母或者“_”开头,如user,解释器解释到时才开始在内存中存在,一个良好的习惯是在进行变量定义时用nil进行赋值初始化,否则会出现类似undefinedloc

    日期 2023-06-12 10:48:40     
  • Ruby简洁学习笔记(二):类继承、属性、类变量

    Ruby简洁学习笔记(二):类继承、属性、类变量

    1.如何声明一个子类 复制代码代码如下: classTreasure<Thing 这样Thing类中的属性name,description都被Treasure继承 2.以下三种方式传入父类initialize方法的参数分别是什么? 复制代码代码如下: #Thispassesa,b,ctothesuperclass definitialize(a,b,c,d,e,f)   super(a,

    日期 2023-06-12 10:48:40     
  • Ruby教程之注释、变量声明以及数组操作

    Ruby教程之注释、变量声明以及数组操作

    前两天在“博客园”上看了一篇文章“PHP基础教程”,介绍PHP的,感觉挺好。D瓜哥在学Ruby,正好也写一篇“Ruby入门教程”。需要说明一下,这篇文章适合有编程基础的,但是没接触过Ruby的新手。而且,这篇文章侧重入门,老鸟可以直接飞过。(如果能帮忙检查一下是否有描述不当,甚至错误的地方,也欢迎来踩两脚。D瓜哥感激不尽。) Ruby环境搭建   在Windows下,搭建Ruby环境,比较简单的

    日期 2023-06-12 10:48:40     
  • ruby中如何调用与局部变量同名的私有方法

    ruby中如何调用与局部变量同名的私有方法

        如果ruby中一个局部变量名和私有方法名同名的话,默认该名称被解释为变量而不是方法: x=10; def x;puts "what?" end 当你输入x实际不能执行x方法。解释器只把x解释为变量。而且undef只能对方法而不能对变量下手,所以undef x仍然不行,变量还在那里!一种解决方法是将x方法转换为一个method,然后调用: x_f = method(:x) x_f[

    日期 2023-06-12 10:48:40     
  • ruby中__FILE__,$FILENAME,$PROGRAM_NAME,$0等类似变量的含义

    ruby中__FILE__,$FILENAME,$PROGRAM_NAME,$0等类似变量的含义

        ruby中有4个类似的变量(常量),他们分别是: __FILE__,$FILENAME,$PROGRAM_NAME,$0 他们分别在代码中表示神马呢?我们用实际的例子说明一下: x.rb #!/usr/bin/ruby load xx.rb puts __FILE__ puts $FILENAME puts $PROGRAM_NAME puts $0 xx.rb

    日期 2023-06-12 10:48:40     
  • Ruby变量在c ruby中的存储

    Ruby变量在c ruby中的存储

    读完ruby hacking guide第6章,彻底总结下: 1.在Ruby中,类也是一个对象,因此有实例变量。类的实例变量、类变量、常量都是存储在RClass struct的iv_tbl中, struct RClass {     struct RBasic basic;     struct st_table *iv_tbl;     struct st_table *m_tbl;

    日期 2023-06-12 10:48:40     
  • Ruby变量在c ruby中的存储

    Ruby变量在c ruby中的存储

      读完ruby hacking guide第6章,彻底总结下: 1.在Ruby中,类也是一个对象,因此有实例变量。类的实例变量、类变量、常量都是存储在RClass struct的iv_tbl中, struct RClass {     struct RBasic basic;     struct st_table *iv_tbl;     struct st_table *m_tbl

    日期 2023-06-12 10:48:40