Rubyãèªå·±å¦ç¿ã¡ã¢3
ä»åã¯ãRubyã®ã¯ã©ã¹ãä¸å¿ã«èªå·±å¦ç¿ããå
容ãã¾ã¨ãã¦ããã
自己学習メモ2
èªå·±å¦ç¿ã¡ã¢1
ã¯ã©ã¹ã®å®ç¾©ã¨å¼ã³åºã
Rubyã®ã¯ã©ã¹ãå®ç¾©ãããã«ã¯ã以ä¸ã®ããã«classã使ããã¨ã«ãã£ã¦å®ç¾©ã§ãã¾ãã
class ã¯ã©ã¹å "ããã«ã¯ã©ã¹ã®å®ç¾©çãå ¥ãã¦ãã" end
ã¯ã©ã¹åã¯å¤§æåã§å§ããå¿
è¦ãããã®ã§çæãã¦ããã
ãã¯ã©ã¹å.newãã«ãããã¤ã³ã¹ã¿ã³ã¹åãã¦ãªãã¸ã§ã¯ããçæãããã¨ãã§ãã¾ãã
ã¯ã©ã¹ã®å®ç¾©ã«ã¯ãå¤æ°ãã¡ã½ãããinitializeã¡ã½ãããå®ç¾©ãã¾ãã
Rubyã®ã¡ã½ããã«ã¯4種é¡ããããã¾ãã¯ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ããã¨ã¯ã©ã¹ã¡ã½ããã®éãã«ã¤ãã¦ã¯ã£ããããã¦ããããã¨æãã
ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ãã
class Greeting def hello(name: "") puts "ãã¯ããï¼ #{name}" end end # ã¯ã©ã¹å¼ã³åºã g = Greeting.new # å¼æ°ããã®å ´å g.hello(name: "å±±ç°ãã") # å¼æ°ãªãã®å ´å #=> ãã¯ããï¼å±±ç°ãã g.hello #=> ãã¯ããï¼
ã¤ã³ã¹ã¿ã³ã¹ã¡ã½ããã¯ã¬ã·ã¼ããã¤ãã¦å¼ã³åºãã¡ã½ããã§ããã
ä¸è¨ã®å ´åã§ãã¨ãã¬ã·ã¼ãã®å¤ã¯ ãgãã¨ãªãã¾ããã
ã¯ã©ã¹ã¡ã½ãã
class Greeting def self.hello(name: "") puts "ãã¯ããï¼ #{name}" end end # å¼æ°ããã®å ´å Greeting.hello(name: "å±±ç°ãã") # å¼æ°ãªãã®å ´å Greeting.hello
ã¯ã©ã¹ã¡ã½ããã¨ã¯ãã¬ã·ã¼ãããã®ã¾ã¾ã¯ã©ã¹åã¨ãªãããã®ã¾ã¾å¼ã³åºããã¡ã½ããã§ããã
ã¤ã¾ããã¯ã©ã¹åãã¬ã·ã¼ãã®å½¹å²ãæããã¦ãããã§ããã
ãªã¼ãã½ãã¯ã¹ã®æ¸ãæ¹ã¨ãã¦ã¯ãå¾è
ã®å½¢ã«ãªãã¨æãããã
ã¯ã©ã¹ã«ãããå¤æ°åãæ±ãã«ã¤ãã¦
ã¯ã©ã¹å
ã«ä½¿ããå¤æ°ã¯
ãã¼ã«ã«å¤æ°ãã°ãã¼ãã«å¤æ°ãã¤ã³ã¹ã¿ã³ã¹å¤æ°ãã¯ã©ã¹å¤æ°ã®4種é¡ã«åããããããããã®ç¨éãç¹å¾´ã«ã¤ãã¦ã¯ä»¥ä¸éãã
ãã¼ã«ã«å¤æ°
å¤æ°ã®å é æåãã¢ã«ãã¡ãããã®å°æå or ã_ãã§å§ã¾ããã®ã
ã°ãã¼ãã«å¤æ°
å¤æ°ã®å
é æåãã$ãã§å§ã¾ããã®ã
ããã°ã©ã å
¨ä½ã«å¯¾ãã¦å®ç¾©ãããå¤æ°ã§ããã°ã©ã ã®ã©ãããã§ãåç
§ãå¤æ´ãããã¨ãã§ããã
ã¤ã³ã¹ã¿ã³ã¹å¤æ°
å¤æ°ã®å
é æåãã@ãã§å§ã¾ããã®ã
ãªãã¸ã§ã¯ãã®ã¯ã©ã¹ãå®ç¾©ããéã«ãã®å
é¨ã§ä½¿ç¨ãããå¤æ°ã¨ãã¦å®ç¾©ããããã®ãå®è¡æã«ã¤ã³ã¹ã¿ã³ã¹æ¯ã«é åã確ä¿ããããããããåºæã®å¤ãåããå¥åã¡ã³ãå¤æ°ã¨å¼ã°ãããã¨ãã
ã¯ã©ã¹å¤æ°
å¤æ°ã®å
é æåãã@@ãã§å§ã¾ããã®ã
ã¯ã©ã¹å¤æ°ã¯ãã®ã¯ã©ã¹ã®å
¨ã¦ã®ã¤ã³ã¹ã¿ã³ã¹ã§å
±æãããå¤æ°ã
initializeã¡ã½ãã
ååéãinitializeã¡ã½ããã¨ã¯ã¤ã³ã¿ã¹ã¿ã³ã¹ãçæããã¨ãã«å¿
ãå¼ã°ãããã®ã§ã主ã«åæåããã¨ããªã©ã«ä½¿ããã¾ãã
ããã¤ã³ã¹ã¿ã³ã¹ãä½ãæã«åæåããªãã¦ãããå ´åã¯initializeã¡ã½ãããå®ç¾©ããªãã¦ãåé¡ããã¾ããã
class Greeting def initialize(name: "åç¡ããã") @name = name end def hello puts "#{@name}ããã¯ãããããã¾ãã" end end # ã¯ã©ã¹å¼ã³åºã # å¼æ°ããã®å ´å g = Greeting.new(name: "å±±ç°ãã") g.hello #=> å±±ç°ããããã¯ãããããã¾ãã # å¼æ°ãªãã®å ´å g = Greeting.new g.hello #=> åç¡ãããããã¯ãããããã¾ãã
newã«å¼æ°ãããã¨ãã¯ãinitializeã¡ã½ããã®å¼æ°ã«æ¸¡ããã¾ãã