rubyのタグがつけられたコード一覧

Ruby test_code

#! /usr/bin/ruby

t = Time.now
p t.year	#=> 2012
p t.month	#=> 3

Ruby ゆきうさぎ製造マシーン(Ruby)

def textread()
  pattern=Regexp.new(ARGV[0])
  file1=ARGV[1]
  file2=ARGV[2]
  file_in=open(file1)
  file_out=open(file2,"w")
  count=1
  while text=file_in.gets()
    if count%2!=0
      file_out.puts(text)
      if pattern=~text
        snow=file_in.gets()
        prabbit=snow.to_i/10
        print(text,":",prabbit)
      end
    else
      rabbit=text.to_i/10
      file_out.puts(rabbit)
    end
    count=count+1
  end
  file_in.close
  file_out.close
end

textread()

Ruby Rubyで完全数を配列にしたった??

def perfect_num n
  get_array(n, [])
end

def get_array(n, a)
  return a if n == 0
  x = 0

  (1..n-1).each {|i|
    x += i if n%i == 0
  }
  a.push n if n == x

  get_array(n-1, a)
end

Ruby Rubyで配列を逆順にして出力する。

def my_reverse(x)
  my_reverse_rec(x, [])
end

def my_reverse_rec(x, y)
  if x.length == 0
    y
  else
    my_reverse_rec(x, y.push(x.pop))
  end
end

Ruby verilog_generate_label.rb

#encoding : sjis
#Verilog HDLのラベルがないgenerate for文にラベルを付ける
require 'fileutils'

f	= File.open(ARGV[0],"r")
FileUtils.cp(f,File.new(ARGV[0]+".bak","w"))	#バックアップ作成
s	= f.read
s2	= s.dup

#コメントを空白で置換
s.gsub!(/\/\*.*?\*\//m){|match|
	" "*match.size
}
s.gsub!(%r{//.*}){|match|
	" "*match.size
}

label_idx	= Array.new # ラベルを挿入する位置を保存
i			= 0
endgen_idx 	= 0
idx			= 0
while (idx = s.index(/(\s|\n|\t)generate(\s|\n|\t)/,endgen_idx))	#serch generate
	endgen_idx = s.index(/(\s|\n|\t)endgenerate(\s|\n|\t)/,idx)		#serch endgenerate
	while (idx = s.index(/(\s|\n|\t)for(\s|\n|\t)/,idx)) 			#serch for
		if (idx>endgen_idx)
			break
		end
		idx  = s.index(/(\s|\n|\t)begin(\s|\n|\t)/,idx+4)+6			#serch begin

		#既にラベルが付いているかどうかチェック
		j = idx+1
		while s[j] =~ /(\s|\n|\t)/
			j += 1
		end

		if (s[j] != ':')
			label_idx[i] = idx
			i+=1
		end
	end
end

print "Result >> Added "+i.to_s+" labels\n"
#ラベルを挿入していく
(label_idx.size - 1).downto(0){|i|
	s2.insert(label_idx[i]," : _label_"+i.to_s)
}

File.open(ARGV[0],"w").print(s2)

Ruby verilog_generate_label.rb

#encoding : sjis
#Verilog HDLのラベルがないgenerate for文にラベルを付ける
require 'fileutils'

f	= File.open(ARGV[0],"r+")
FileUtils.cp(f,File.new(ARGV[0].delete(".v")+".bk.v","w"))	#バックアップ作成
s	= f.read
s2	= s.dup

#コメントを空白で置換
s.gsub!(/\/\*.*?\*\//m){|match|
	" "*match.size
}
s.gsub!(%r{//.*}){|match|
	" "*match.size
}

label_idx	= Array.new # ラベルを挿入する位置を保存
i			= 0
endgen_idx 	= 0
idx			= 0
while (idx = s.index(/(\s|\n|\t)generate(\s|\n|\t)/,endgen_idx))	#serch generate
	endgen_idx = s.index(/(\s|\n|\t)endgenerate(\s|\n|\t)/,idx)		#serch endgenerate
	while (idx = s.index(/(\s|\n|\t)for(\s|\n|\t)/,idx)) 			#serch for
		if (idx>endgen_idx)
			break
		end
		idx  = s.index(/(\s|\n|\t)begin(\s|\n|\t)/,idx+4)+6			#serch begin

		#既にラベルが付いているかどうかチェック
		j = idx+1
		while s[j] =~ /(\s|\n|\t)/
			j += 1
		end

		if (s[j] != ':')
			label_idx[i] = idx
			i+=1
		end
	end
end

print "Result >> Added "+i.to_s+" labels\n"
#ラベルを挿入していく
(label_idx.size - 1).downto(0){|i|
	s2.insert(label_idx[i]," : _label_"+i.to_s)
}

f.print(s2)
f.close

よく投稿されているコード

タグ

最近投稿されたコード