Ruby

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

비교

프로그래밍의 비교 기능은 이것만으로는 효용이 크지 않다. 후속 수업인 조건문에서 그 효용이 드러나기 때문에 조금 지루하더라도 조건문까지만 인내하자.

연산자

연산자란 값에 대해서 어떤 작업을 컴퓨터에게 지시하기 위한 기호인데 우리는 이미 연산자를 사용했다. 아래 예제 중에서 '='는 우항의 값인 1을 좌항의 변수 a에 대입하는 '대입 연산자'다. 루비의 주요 연산자는 tutorials points의 항목을 참고하자. 연산자가 무엇인가에 대한 이해를 돕기 위한 것일 뿐 외울 필요는 없다. 차차로 알게 된다.

a=1

비교 연산자

프로그래밍에서 비교란 주어진 값들이 같은지, 다른지, 큰지, 작은지를 구분하는 것을 의미한다. 이 때 비교 연산자를 사용하는데 비교 연산자의 결과는 true나 false 중의 하나다. true는 비교 결과가 참이라는 의미이고, false는 거짓이라는 뜻이다. 아래는 주요한 비교 연산자들의 종류와 그에 따른 예제들이다.

==

좌항과 우항을 비교해서 서로 값이 같다면 true 다르다면 false가 된다. '='가 두개인 것을 주의하자. '='가 하나인 것은 대입 연산자로 좌항의 값을 우항의 변수에 대입할 때 사용하는 것으로 의미가 완전히 다르다.

puts 1==2           #false
puts 1==1           #true
puts "one"=="two"   #false 
puts "one"=="one"   #true

!=

'!'는 부정을 의미한다. '같다'의 부정은 '같지 않다'이다. 이것을 기호로는 '!='로 표시한다. 아래의 결과는 !=의 결과인데 ==와 정반대의 결과를 보여준다.

puts 1!=2           #true
puts 1!=1           #false
puts "one"!="two"   #true
puts "one"!="one"   #false

>

좌항이 우항보다 크다면 참, 그렇지 않다면 거짓임을 알려주는 연산자다. '<'는 반대의 의미로 언급은 생략하겠다.

puts 10>20  #false
puts 10>1   #true
puts 10>10  #false

>=

좌항이 우항보다 크거나 같다. '<='는 반대의 의미로 언급은 생략하겠다.

puts 10>=20     #false
puts 10>=1      #true
puts 10>=10     #true

<=>

복합연산자로 다음과 같은 결과를 돌려준다.

  • 좌항이 우항보다 크다면 1
  • 좌항이 우항보다 작다면 -1
  • 좌항과 우항의 값이 같다면 0
puts 10<=>20    	#-1
puts 10<=>1 		#1
puts 10<=>10 		#0

=~

매치(match) 연산자로 특정 문자열이 정규표현식과 매치되는지 검사한다. 일치하는 결과를 찾아내면 패턴의 첫번째 위치를 반환하고, 그렇지 않으면 nil을 반환한다. (ifwhile 문 등의 조건식으로 사용 할 수 있다. )

s = 'coding everybody'
puts s =~ /coding/ #0
puts s =~ /every/  #7
puts s =~ /body/   #12
puts s =~ /code/   #nil

참고

댓글

댓글 본문
작성자
비밀번호
  1. ZZYYTT
    http://www.mbtshoesonline.com
    http://www.kevindurant-shoes.us.com
    http://www.yeezy-boost.us.com
    http://www.goyardbags.us
    http://www.katespadehandbags-outlet.us.com
    http://www.yeezy-shoes.org.uk
    http://www.balenciaga.us.com
    http://www.ultraboost.us.com
    http://www.longchamphandbagsoutlets.com
    http://www.yesyeezy.shop......tml
    http://www.kd11.us
    http://www.adidas-tubular.us.com
    http://www.mlbjerseys.in.net
    http://www.yeezyboost-350v2.us.com
    http://www.jordan6.us.com
    http://www.supremeclothing.us
    http://www.balenciagashoes.us.org
    http://www.airmax90.us.org
    http://www.yeezyshoesuk.com
    http://www.goldengoosesneakers.us
    http://www.yeezy-boost350.us.com
    http://www.calvinkleinoutlet.us.com
    http://www.lebronjames-shoes.us.com
    http://www.supremehoodie.us.com
    http://www.yeezysuk.com
    http://www.yeezyboost.in.net
    http://www.goyardhandbags.us.com
    http://www.hermesbelts.com
    http://www.michael-kors-handbags.org.uk
    http://www.balenciagashoes.us.com
    http://www.coachoutletstorefactory.com
    http://www.jordan13.us.com
    http://www.rolex-replica.us.com
    http://www.hermes-belt.us.com
    http://www.coachoutletssale.com
    http://www.nhljerseysshop.us.com
    http://www.yesyeezy.shop......tml
    http://www.kyrie3.us.com
    http://www.michaelkors-outletonlines.us.com
    http://www.nike-shox.us.com
    http://www.cheap-airjordans.us.com
    http://www.jordanssneakers.us.com
    http://www.nikejordans.us.com
    http://www.nikebasketballshoes.us.com
    http://www.yesyeezy.shop
    http://www.adidasultraboost.us.org
    http://www.jordan11retro.us.com
    http://www.chromeheartsstore.us
    http://www.goldengoose.us.com
    http://www.paulgeorgeshoes.us.com
    http://www.yeezy-500.us.com
    http://www.michaeljordanshoes.us.com
    http://www.adidas-nmds.us.com
    http://www.nikeairforce1.us.com
    http://www.redbottom-shoes.us.com
    http://www.adidasstansmith.uk
    http://www.goldengoose-sneakers.com
    http://www.lebron16.us.com
    http://www.hermeshandbags.us.org
    http://www.adidasnmds.com
    http://www.offwhite.us.com
    http://www.yeezysshoes.us.com
    http://www.airjordanretro.uk
    http://www.lacostepolo.us.com
    http://www.toryburchs.us
    http://www.adidaszxflux.com
    http://www.monclerjackets.us
    http://www.yeezy-shoes.org
    http://www.long-champ.us.com
    http://www.kd11.us.com
    http://www.lebron16.us
    http://www.filashoes.org
    http://www.goyard-handbags.us.com
    http://www.hermes-birkin.us.com
    http://www.monclerjacket.net
    http://www.nikeair-max.us.com
    http://www.hardenshoes.us.com
    http://www.ferragamobelt.us.org
    http://www.converseoutlet.us.com
    http://www.chromehearts.name
    http://www.yeezy-shoes.ca
    http://www.linksoflondon.us.com
    http://www.goyardhandbags.org
    http://www.nikehuaracheshoes.us.com
    http://www.adidasiniki.us
    http://www.lacosteonlineshop.us.com
    http://www.jordanshoes.org.uk
    http://www.yesyeezy.shop/adidas-yeezy-desert-rat-500-blush-db2908-p-425.html
    http://www.caterpillarboots.us.com
    http://www.canada--goose.co.uk
    http://www.nike-hyperdunk.us.com
    http://www.guccibelt.us.com
    http://www.off-whiteshoes.us.com
    http://www.bape-hoodie.us.com
    http://www.nikefoamposite.us.com
    http://www.pandorabracelet.in.net
    http://www.outlettimberland.us.org
    http://www.kyrie4.org
    http://www.yeezyboost.com.co
    http://www.handbagsmichaelkors.com
    http://www.nike-roshe.us.com
    http://www.nikecortez.us.com
    http://www.goyard.us.com
    http://www.long-champhandbags.org.uk
    http://www.polosralphlaurenuk.com
    http://www.russellwestbrookshoes.us.com
    http://www.jordansshoes.us.org
    http://www.michael-korsoutlets.us
    http://www.shoesjordan.us.com
    http://www.yeezy700.us.com
    http://www.vans-outlet.us.com
    http://www.michael-kors-handbags.com.co
    http://www.goldengoose-sneakers.us
    http://www.lacostepolosshirts.com
    http://www.golden-goose.us.com
    http://www.kd-10.us
    http://www.longchamp-bags.us.org
    http://www.hermes-handbags.us.com
    http://www.yesyeezy.shop/supreme-x-nike-air-more-uptempo-varsity-redwhite-902290600-p-592.html
    http://www.hoganoutletonline.us.com
    http://www.nikepolo.us
    http://www.longchamphandbagsonlines.com
    http://www.retro-jordans.us.com
    http://www.curry5.us
    http://www.nikeairmax2018.us.com
    http://www.kobeshoes.uk
    http://www.michaelkors-outletstore.com
    http://www.nike-airmax2017.us.com
    http://www.asics-shoes.us.org
    http://www.adidasgazelle.us.com
    http://www.yeezy-boosts.us.com
    http://www.yeezyboost350v2.org.uk
    http://www.fila.us.org
    http://www.yesyeezy.shop/adidas-ultra-boost-c-82_89.html
    http://www.kobe-shoes.us.com
    http://www.lebron15.net
    http://www.hermesbelts.co.uk
    http://www.yesyeezy.shop/adidas-yeezy-boost-350-v2-beluga-solar-red-bb1826-p-422.html
    http://www.outletlacoste.us.com
    http://www.adidasshoesonline.com
    http://www.adidasstansmith.us.com
    http://www.adidasyeezys.us
    http://www.kobesneakers.com
    http://www.adidasyeezys.us.com
    http://www.jordan-retro.us.com
    http://www.goldengooseoutlet.us
    http://www.kyrieirving-shoes.us.com
    http://www.kobebasketballshoes.net
    http://www.fakerolex.us.com
    http://www.coachsonline.us.com
    http://www.coachoutletsfactory.com
    http://www.nikeairmax2019.us.com
    http://www.nikereact.org
    http://www.nikereact.us.com
    http://www.jordan12.us.com
    http://www.michaelkors-outletfactory.us.org
    http://www.vapormaxshoes.us
    http://www.jordan4.us.com
    http://www.offwhiteclothing.us.com
    http://www.birkinbag.us.com
    http://www.adidaseqts.com
    http://www.adidas-crazyexplosive.us.com
    http://www.yesyeezy.shop/adidas-yeezy-700-boost-wave-runner-b75571-p-428.html
    http://www.filas.us.com
    http://www.jordansforcheap.us.com
    http://www.yeezyboost-350.uk
    http://www.yesyeezy.shop/nike-air-max-197-sean-wotherspoon-aj4219400-p-66.html
    http://www.yeezy500.us
    http://www.outletmichael-kors.us.com
    http://www.nikeflyknit.us.com
    http://www.airmax270.us.com
    http://www.curry5.us.com
    http://www.adidas-pureboost.us.com
    http://www.curry4shoes.us.com
    http://www.valentinos.us.com
    http://www.cheapnbajerseyswholesales.us.com
    http://www.chromehearts.com.co
    http://www.bapehoodie.us
    http://www.nike-huarache.com
    http://www.adidasnmduk.com
    http://www.goldengoose-outlet.us.com
    http://www.coachoutlets.name
    http://www.offwhitexjordan1.com
    http://www.lebron16.net
    http://www.yesyeezy.shop/adidas-pharrell-williams-c-82_88.html
    http://www.yesyeezy.shop/offwhite-air-jordan-1-retro-chicago-the-ten-aa3834101-p-837.html
    http://www.yeezyboost350v2shoes.us.com
    http://www.adidasoutletonline.com
    http://www.yslhandbags.net
    http://www.yesyeezy.shop/offwhite-x-nike-air-presto-black-aa3830002-p-291.html
    http://www.air-max.us.com
    http://www.hermesonlineshop.com
    http://www.michaelkorsoutletonlineus.com
    http://www.outletonline-michaelkors.us.org
    http://www.yesyeezy.shop/balenciaga-17fw-triple-s-black-pink-women-sneaker-483523w06e38080-p-618.html
    http://www.michael--korsoutlet.us.org
    http://www.yesyeezy.shop/balenciaga-17fw-triple-s-trainer-black-red-mens-w05m23972-p-613.html
    http://www.jimmychoo-shoes.us.com
    http://www.reebokoutlet.us.org
    http://www.offwhitehoodie.us.com
    http://www.nikesneakers.us.com
    http://www.yeezy-shoes.us.org
    http://www.curry4.us.com
    http://www.adidasyeezy.co.uk
    http://www.monclersoutlet.us.com
    http://www.nfljerseys.us.org
    http://www.ferragamobelt.us
    http://www.fitflops-saleclearance.us.com
    http://www.adidassuperstar.us.com
    http://www.fila-shoes.us.com
    http://www.louboutinshoes.uk
  2. Rubyist
    => 이후에 나오는 값은 해당 명령을 시행하고 리턴된 값이고, puts는 값을 출력하는 명령어잆니다.

    irb(main):001:0> 1+1
    => 2
    irb(main):002:0> puts 1+1
    2
    => nil
    irb(main):003:0>

    위에서 보시는것처럼 puts 1+1을 하시면, 1+1의 값을 출력하는 명령어이기때문에 2를 출력하고 리턴값은 없어집니다.
    리턴값의 유무는 그냥 보시면 별 차이 없어보일 수 있으나 아래 코드를 보시면,

    irb(main):003:0> i = 1+1
    => 2
    irb(main):004:0> puts i
    2
    => nil
    irb(main):005:0> j = puts 1+1
    2
    => nil
    irb(main):006:0> puts j

    => nil
    irb(main):007:0>

    i에는 1+1의 리턴값이 저장되나 puts 1+1을 할당한 j는 nil인것을 확인하실 수 있습니다.
    대화보기
    • 닉홀든
      값을 입력할때
      1+1
      =>2
      puts 1+1
      =>2
      이렇게 같은값이 출력되는걸 알수있는데 puts 사용과 비사용시 차이점이있나요?
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기