ruby [전역변수]

언어/Ruby2016. 2. 13. 09:31
$start_number = 1

def plus_1
$start_number = $start_number + 1
#puts $start_number
end

def plus_2
$start_number = $start_number + 2
#puts $start_number
end

plus_1
plus_2
puts $start_number


'언어 > Ruby' 카테고리의 다른 글

class 상속  (0) 2016.02.13
class def  (0) 2016.02.13
ruby [계산기]  (0) 2016.02.12
ruby [ 구구단 ]  (0) 2016.02.11
루비 랜덤  (0) 2016.02.11

ruby [계산기]

언어/Ruby2016. 2. 12. 14:40
class Calculation
# [1] ---------------------------------------------
def initialize()
@left_value = 0
@right_value = 0
end
# [2] ---------------------------------------------
def dataInsert_method()
print("left_value input: ")
@left_value = gets.chomp().to_i # very important
print("right_value input: ")
@right_value = gets.chomp().to_i # very important
end
# [3] ---------------------------------------------
def summation_method()
printf("%d + %d = %d \n",
@left_value, @right_value, @left_value + @right_value)
end
# [4] ---------------------------------------------
def subtraction_method()
printf("%d - %d = %d \n",
@left_value, @right_value, @left_value - @right_value)
end
# [5] ---------------------------------------------
def multiplication_method()
printf("%d x %d = %d \n",
@left_value, @right_value, @left_value * @right_value)
end
# [6] ---------------------------------------------
def dividen_method()
printf("%d / %d = %.2f \n",# very important
@left_value, @right_value, Float(@left_value) / Float(@right_value))
end
# [7] ---------------------------------------------
def remainder_method()
printf("%d mod %d = %d \n",# very important
@left_value, @right_value, @left_value % @right_value)
end
end

# ------------------------------main()------------------------------------------
study = Calculation.new # very important
study.dataInsert_method()
study.summation_method()
study.subtraction_method()
study.multiplication_method()
study.dividen_method()
study.remainder_method()


'언어 > Ruby' 카테고리의 다른 글

class def  (0) 2016.02.13
ruby [전역변수]  (0) 2016.02.13
ruby [ 구구단 ]  (0) 2016.02.11
루비 랜덤  (0) 2016.02.11
루비(공부)  (0) 2016.01.20

ruby [ 구구단 ]

언어/Ruby2016. 2. 11. 21:33
for number1 in 2..9 # 2,3,4, ..., 9
for number2 in 1..9 # 1,2,3,4, ..., 9
printf("%2d x %2d = %2d\t", number1, number2, number1*number2)
if (number2 == 9)
printf("\n")
end
end
end




'언어 > Ruby' 카테고리의 다른 글

ruby [전역변수]  (0) 2016.02.13
ruby [계산기]  (0) 2016.02.12
루비 랜덤  (0) 2016.02.11
루비(공부)  (0) 2016.01.20
루비구현(시저암호)  (0) 2016.01.19

루비 랜덤

언어/Ruby2016. 2. 11. 21:24
prng = Random.new
for i in 1..10
printf("%2d -> random_number is [ %2d] \n", i, prng.rand(1..10)) # 1, 2, ... , 10
#printf("%2d -> random_number is [ %2d] \n", i, prng.rand(1...10)) # 1, 2, ... , 9
end


'언어 > Ruby' 카테고리의 다른 글

ruby [계산기]  (0) 2016.02.12
ruby [ 구구단 ]  (0) 2016.02.11
루비(공부)  (0) 2016.01.20
루비구현(시저암호)  (0) 2016.01.19
루비(4)  (0) 2016.01.18

루비(공부)

언어/Ruby2016. 1. 20. 13:41

Switch to inspect mode.
irb(main):001:0> #encoding: utf-8
 include Java
Object
irb(main):003:0> import javax.swing.JFrame
[Java::JavaxSwing::JFrame]
irb(main):004:0> import javax.swing.JLabel
[Java::JavaxSwing::JLabel]
irb(main):005:0> import javax.swing.JButton
[Java::JavaxSwing::JButton]
irb(main):006:0> import javax.swing.JOptionPame
NameError: missing class name (`javax.swing.JOptionPame')
 from org/jruby/javasupport/JavaUtilities.java:54:in `get_proxy_or_package_under_package'
 from uri:classloader:/jruby/java/java_package_module_template.rb:14:in `method_missing'
 from (irb):6:in `<eval>'
 from org/jruby/RubyKernel.java:978:in `eval'
 from org/jruby/RubyKernel.java:1291:in `loop'
 from org/jruby/RubyKernel.java:1098:in `catch'
 from org/jruby/RubyKernel.java:1098:in `catch'
 from C:\jruby-9.0.4.0\/bin/jirb_swing:63:in `<top>'
irb(main):007:0> import javax.swing.JOptionPane
[Java::JavaxSwing::JOptionPane]
irb(main):008:0> import java.awt.FlowLayout
[Java::JavaAwt::FlowLayout]
irb(main):009:0> JFrame.new('JRuby에서 Swing을 사용')
#<Java::JavaxSwing::JFrame:0x709ed6f3>
irb(main):010:0> frame.set_size(300,300)
NameError: undefined local variable or method `frame' for main:Object
 from (irb):10:in `<eval>'
 from org/jruby/RubyKernel.java:978:in `eval'
 from org/jruby/RubyKernel.java:1291:in `loop'
 from org/jruby/RubyKernel.java:1098:in `catch'
 from org/jruby/RubyKernel.java:1098:in `catch'
 from C:\jruby-9.0.4.0\/bin/jirb_swing:63:in `<top>'
irb(main):011:0> frame = JFrame.new('JRuby에서 Swing을 사용')
#<Java::JavaxSwing::JFrame:0x1fb2d5e>
irb(main):012:0> frame.set_size(300,300)
nil
irb(main):013:0> frame.layout = FlowLayout.new
#<Java::JavaAwt::FlowLayout:0x6573d2f7>
irb(main):014:0> button = JButton.new('눌러 주세요')
#<Java::JavaxSwing::JButton:0x181b8c4b>
irb(main):015:0> button.add_action_listener do |e|
 JOptionPane.show_message_dialog(frame, 'Hello!', 'Jruby Sample Dialog',
 JOptionPane::INFORMATION_MESAGE)
 end
nil
irb(main):019:0> frame.add(JLabel.new('Enjoy JRuby!'))
#<Java::JavaxSwing::JLabel:0x350d3f4d>
irb(main):020:0> frame.add(button)
#<Java::JavaxSwing::JButton:0x181b8c4b>
irb(main):021:0> frame.default_close_operation
1
irb(main):022:0> frame.visible=true
true
irb(main):023:0>

'언어 > Ruby' 카테고리의 다른 글

ruby [ 구구단 ]  (0) 2016.02.11
루비 랜덤  (0) 2016.02.11
루비구현(시저암호)  (0) 2016.01.19
루비(4)  (0) 2016.01.18
루비(3)  (0) 2016.01.18

#루비로 구현한 시저암호
Random.new_seed

# Generate a number from 1 to 25
# Including 25
def KeyRandomGenerator()
key = (rand()*10).to_i
return key
end

# field setting
alphabat = Array.new# => []
index = 97..122
for i in index
alphabat<<i.chr
end
len = 0...alphabat.length
print alphabat
puts
print "plaintext is "
plaintext = gets()#평문입력
secretKey = KeyRandomGenerator()

range = 0...plaintext.length
#puts plaintext[0]
puts secretKey

#puts str.include?("kim")
cipherText=Array.new# => []
for i in range
#printf는 자동 줄바꿈을 하지 않는다.
#puts는 자동 줄바꿈한다.
if(alphabat.include?(plaintext[i]) == true)
for j in len
if(plaintext[i] == alphabat[j])
num_index = (j+secretKey)%alphabat.length
end
end
cipherText << alphabat[num_index]
else
cipherText << plaintext[i]
end

end

print(cipherText)

'언어 > Ruby' 카테고리의 다른 글

루비 랜덤  (0) 2016.02.11
루비(공부)  (0) 2016.01.20
루비(4)  (0) 2016.01.18
루비(3)  (0) 2016.01.18
루비(2)  (0) 2016.01.18

루비(4)

언어/Ruby2016. 1. 18. 23:22
# <<< for + if >>>
number = 1..20
for i in number
if(i%2 == 0)
puts i
else
puts 0
end
end

# <<< 숫자.chr >>>
a = 65..90
puts 65.chr

for i in a
puts i.chr
end

# <<< 문자 --> 숫자 >>>
str = "this is a pen"
b = 0...str.length
for i in b
str[i].each_byte do |byte|
puts byte
end
end

'언어 > Ruby' 카테고리의 다른 글

루비(공부)  (0) 2016.01.20
루비구현(시저암호)  (0) 2016.01.19
루비(3)  (0) 2016.01.18
루비(2)  (0) 2016.01.18
루비(stu1)  (0) 2016.01.18

루비(3)

언어/Ruby2016. 1. 18. 23:09
puts "Are you name?"
# <<< 문자열 입력함수 gets() >>>
name = gets()
puts "My name is " + name

=begin
python
for i in range(0, 10):
print(i)

c/c++
for(i=0; i<10; i++)
{
printf("%d ", i);
}

(a = 0..10) != (a = 0...10)
=end
a = 0...10
b = 0..10
puts a
for i in a
puts i
end

puts b
for i in b
puts i
end

'언어 > Ruby' 카테고리의 다른 글

루비(공부)  (0) 2016.01.20
루비구현(시저암호)  (0) 2016.01.19
루비(4)  (0) 2016.01.18
루비(2)  (0) 2016.01.18
루비(stu1)  (0) 2016.01.18

루비(2)

언어/Ruby2016. 1. 18. 22:57
#<<< 형변환 >>>
a = 123
a_double = 123.to_f
printf("%d\n", a)
printf("%.2f\n", a_double)

#<<< 문자열 >>>
str = "Welcome to hell korea"
p "#{str}"
p '#{str}'
puts str.include?("to")
puts str.include?("kim")

'언어 > Ruby' 카테고리의 다른 글

루비(공부)  (0) 2016.01.20
루비구현(시저암호)  (0) 2016.01.19
루비(4)  (0) 2016.01.18
루비(3)  (0) 2016.01.18
루비(stu1)  (0) 2016.01.18

루비(stu1)

언어/Ruby2016. 1. 18. 22:49
#Ruby is a perfect Object Oriented Programming Language(객체 지향언어)
#(1) Data Encapsulation(캡슐화)
#(2) Data Abstraction(추상화)
#(3) Polymorphism(다향성)
#(4) Inheritance(상속)
class STU
def initialize(a, b)
@val1 = a
@val2 = b
end

# <<<< sum function >>>>
def summation()
puts @val1 + @val2
end

# <<<< multiplication function >>>>
def multiplication()
puts @val1 * @val2
end

# <<<< divide function >>>>
# to_f : 소수로 인식
def divide()
puts (@val1.to_f / @val2)
end
end

stu = STU.new(6,5)
stu.summation
stu.multiplication
stu.divide

 

'언어 > Ruby' 카테고리의 다른 글

루비(공부)  (0) 2016.01.20
루비구현(시저암호)  (0) 2016.01.19
루비(4)  (0) 2016.01.18
루비(3)  (0) 2016.01.18
루비(2)  (0) 2016.01.18