随笔

作者: D_w | 来源:发表于2021-03-03 17:55 被阅读0次

1、super不带括号表示调用父类的同名函数,并将本函数的所有参数传入父类的同名函数;
2、super()带括号则表示调用父类的同名函数,但是不传入任何参数;
3、:: 是一元运算符,允许在类或模块内定义常量、实例方法和类方法,可以从类或模块外的任何地方进行访问。
请记住:在 Ruby 中,类和方法也可以被当作常量。
只需要在表达式的常量名前加上 :: 前缀,即可返回适当的类或模块对象。
如果 :: 前的表达式为类或模块名称,则返回该类或模块内对应的常量值;如果 :: 前未没有前缀表达式,则返回主Object类中对应的常量值。

MR_COUNT = 0        # 定义在主 Object 类上的常量
module Foo
  MR_COUNT = 0
  ::MR_COUNT = 1    # 设置全局计数为 1
  MR_COUNT = 2      # 设置局部计数为 2
end
puts MR_COUNT       # 这是全局常量,输出为1
puts Foo::MR_COUNT  # 这是 "Foo" 的局部常量,输出为2

4.A.rb文件的class A_A ,B.rb文件中module C下有class << self,其中有方法def self.set_port,若classA_A想要调用set_port方法,则需要先require 'B.rb',在classA_A中include C,调用时用C.set_port
5.输出路径下的文件有哪些(直接输出文件夹和子文件夹下的文件,不输出文件夹)

puts Dir.entries( "C:/Users/dongw-b/Desktop/下载/Linux版本验证及结果" ) 

6、ruby中to_s和to_str、to_i和to_int、to_a和to_ary、to_h和to_hash的解释说明
只要像鸭子,就能当成鸭子,这就是to_x。只有它真的是鸭子,才能当成鸭子,这就是to_xxx
to_s 转换成字符串,转换成数字to_i,to_a转换成数组
7、定义类方法的七种方式

class SomeClass
 #method 1
 def SomeClass.ClassMethod1
 end
 
 #method 2
 def self.ClassMethod2
 end



SomeClass.instance_eval do
 #method 3
 def ClassMethod4
 end

 #method 4
 define_method(:symbol, )
end

#method 5
SomeClass.class_eval do
 def self.ClassMethod5
 end
 
 #method 6
 class << self
  def ClassMethod6
  end
 end
end

#method 7 - dynamically define a class method at run time
def add_class_method(c, m, &b)
 eigenclass = class << c; self; end
 eigenclass.class_eval { 
  define_method(m, &b)
 }
end

吐槽:我真是服了,像python一样简洁一些不好吗,这么多中方法干一件事有什么意义啊!!
8、%x 使用`方法执行一段shell脚本并返回标准输出内容.

>> %x(echo foo:#{foo}) 
=> "foo:Foo\n"

9、ruby使用mysql数据库时首先

require mysql2 #导入mysql2包
hash_info = {... } #存放ip,端口号,用户名,密码等信息的哈希表
client = Mysql2::Client.new(hash_info)  #连接数据库
results = client.query("SELECT * FROM users WHERE group='githubbers'") #查询
client.query("CREATE DATABASE `testxxx` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci")  #创建数据库
client.query("CREATE table testxxx.test (id int(10),name char(20))") #创建表
client.query("insert into test(id,name) values(#{i},'hello#{i}')") #插入数据
r=client.query("update test set name = 'minitest' where id=12")  #更新表

10、它是对当前文件名称的引用FILE,(使用gtf_utils.rb中的get_rel_path(FILE)是获得当前脚本的绝对路径)
if FILE == 0 的意思是Only run the following code when this file is the main file being run instead of having been required or loaded by another file, Find the parent directory of this file and add it to the front of the list of locations to look in when using require,大意为只有当有这条if __FILE__ ==0代码的程序为主程序时才会执行下方的代码,然后找到脚本所在的目录,并将其放在加载/需要搜索路径的开头。
FILE是魔术变量,代表当前文件的名称。 $0是ruby的关键字,指启动程序的文件名称。 该检查显示“如果这是正在使用的主文件……”,这允许将文件用作库,而不是在那种情况下执行代码,但是如果文件被用作可执行文件,则执行该代码。
11.引用一个文件
例: 引用当前rb同目录下的file_to_require.rb
先介绍3种方法
1、require File.join(_FILE, '../file_to_require')。
2、require File.expand_path('../file_to_require', FILE)
3、require File.dirname(FILE) + '/file_to_require'
其中,File.expand_path是Rails常用的做法。
FILE为常量,表示当前文件的绝对路径,如/home/oldsong/test.rb
12.利用REXML库读取xml,需要

require 'rexml/document'
include REXML

相关文章

  • 点评不只是为了链接——007践行之旅(13)

    (太累了,回头更新) 周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末随笔周末...

  • 这是一个随笔

    这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这是一个随笔 这...

  • 《黄泓圣杂文随笔》

    《黄泓圣杂文随笔》 #杂文#随笔#杂文随笔#原创#原创杂文#原创随笔#原创杂文随笔#黄泓圣杂文#黄泓圣随笔#黄泓圣...

  • 《黄泓圣杂文随笔》

    《黄泓圣杂文》 《黄泓圣杂文随笔》 《黄泓圣随笔》 《黄泓圣原创杂文随笔》 #原创#杂文#杂文随笔#随笔#原创杂文...

  • 《黄泓圣杂文随笔》

    《黄泓圣杂文》 《黄泓圣杂文随笔》 《黄泓圣随笔》 《黄泓圣原创杂文随笔》 #原创#杂文#杂文随笔#随笔#原创杂文...

  • 走近大丰港实验学校

    随笔组汇报 杨忠琴教育随笔让我改变 随笔收获多,只要有行动,就有收获。 沈莲汇报随笔,每天随笔撰写,收获颇深,每的...

  • 谈谈教育随笔(2)

    谈谈教育随笔(2) 什么是教育随笔?顾名思义,教育随笔就是谈教育思想、观点的随笔。教育随笔的特色在于一个“随”字-...

  • 《提升自己》连载17老钟随笔:新生理论

    老钟随笔,随笔,但不随便,却短小精悍!随笔文章,老钟纯原创,分享学习笔记,人生感悟,学员互动等内容为主。随笔文章,...

  • 2020-04-14

    随笔,随笔,随手记录的笔记~~~~ ``````````````````````````````````开门大吉`...

  • 序言

    落花随笔 主要记录的是 工作的随笔

网友评论

      本文标题:随笔

      本文链接:https://www.haomeiwen.com/subject/nfccqltx.html