Ruby - function

1613 ワード

Ruby - function


1. syntax

def a3()
    return 'aaa'
end
puts(a3())

2.return、関数かっこを省略


かっこを省略

def f2 #(괄호생략)
 return "f2"
end

#puts (f2())
puts (f2)
  • パラメータが存在する場合でも、このパラメータは省略できますが、スペースを空けてパラメータを作成できます.
  • def f5 a1
      return a1
    end
    puts(f5 'f5')
    puts f5 'f5' #puts 또한 내장함수이기에 괄호 생략가능. 그러나 헷갈릴 수 있기 떄문에 적절히 활용

    省略を返す

    def f6
      return 'f6'
    end
    puts f6
    
    def f7
      'f7' # 함수가 끝나는 지점, 마지막 줄 코드가 리턴값으로 간주된다. return implicitly return. 
    end
    puts f7 
    def f8
      a = 1
      b = 2
      a + b #마지막줄이 리턴값으로 간주되기때문에 아웃풋은 3
    end
    puts f8

    3. parameter

  • single parameter
  • def a(num)
        return 'a'*num
    end
    puts(a(3))
    
  • multiple parameter
  • def make_string(str, num)
        return str*num
    end
    puts(make_string('b', 3))

    4.login app

    puts ("put yout ID")
    accounts = gets.chomp()
    
    def login(accountid)
      members = ["minsoo", "hj", "kk"]
      for member in members do
        if member == accountid
              return true
          end
      end
      return false #일치하지 못한 사용자에 대한 값.일치 했으면, 위에 포문에서 이미 실행되고 끝났을 것임.
    end
    
    if login(accounts) 
      puts ("Hello #{accounts}")
    else
      puts ("who are you ?")
    end