C10 Basic IO
1. 输入输出基础
while line = gets
puts(line)
end
如果用ruby copy.rb a.txt,那么a.txt会作为输入文件。
2. File的常用方法
File.open("testfile") do |file|
file.each_byte {|ch| putc ch; print "." }
end
File.open("testfile") do |file|
file.each_line {|line| puts "Got #{line.dump}" }
end
File.open("testfile") do |file|
file.each_line("e") {|line| puts "Got #{ line.dump }" }
end
IO.foreach("testfile") {|line| puts line }
# read into string
str = IO.read("testfile")
str.length -> 66
str[0, 30] -> "This is line one\nThis is line "
# read into an array
arr = IO.readlines("testfile")
arr.length -> 4
arr[0] -> "This is line one\n"
3. StringIO
require 'stringio'
instr = StringIO.new("I think I could forget everything, \nhowever it is imporssible")
oustr = StringIO.new()
instr.each_line do |line|
oustr.puts(line.reverse)
end
puts(oustr.string)
C11 Multiple Thread
1. 线程共享变量
count = 0
threads = []
1000.times do |i|
threads[i] = Thread.new do
sleep(rand(0.1))
Thread.current["mycount"] = count
count += 1
end
end
threads.each {|t| t.join; print t["mycount"], ", " }
puts "count = #{count}"
一般情况下,你会发现最后输出的count不等于1000。如果你的机器很快,把1000改大一些。
分享到:
相关推荐
Programming Ruby 2nd Edition
学习ruby的绝佳入门书籍,Programming Ruby 2nd.pdf
Programming Ruby - The Pragmatic Programmer's Guide, 2nd Edition (2005) [annotated]
NULL 博文链接:https://huihuilou.iteye.com/blog/1997808
Programming Ruby 2nd Edition
上传一系列RUBY的书,基本上网上能见到的全了
Programming Ruby中文版第二版[高清扫描版][带书签]。 Programming.Ruby-2nd[高清文字版][带
Pragmatic Programmers - Programming Ruby(2nd Edition Syngress).rar
内含以下4个文档: 1、Addison.Wesley.The.Ruby.Way.2nd.Edition.Oct.2006.chm 2、O'Reilly.Learning.Ruby.May.2007.chm 3、Programming Ruby 2e.pdf 4、ruby中文文档.chm
Programming Ruby 2.0 1.9 pdf
Programming Ruby, Ruby程序设计
Programming Ruby 1.9 (3rd edition)和源码
Programming ruby.pdf 英文的,不过觉得读起来不吃力,习惯就好了,程序员如果不习惯读英文,会错过非常多的好书
对于初学C的人,这本书是很好的教材,但也有需要记录的学习经验
Programming Ruby 第二版(Second Edition)英文版于2005年出版,之后有了中文版。但可惜的是网上流传的中文版PDF基本上都是扫描版的,文字内容得自己打出来,看到好的代码也得自己动手,无法Ctrl-C + Ctrl-V,还...
Programming Ruby English version and the source Code
PROGRAMMING+RUBY中文版 PROGRAMMING+RUBY中文版 PROGRAMMING+RUBY中文版
Boost.Asio C++ Network Programming(2nd).pdf Boost.Asio C++ Network Programming(2nd).pdf Boost.Asio C++ Network Programming(2nd).pdf