Day 5 : Ruby中的「數字、符號」 - iT 邦幫忙

文章推薦指數: 80 %
投票人數:10人

puts 3.33.round #轉成整數,四捨五入puts 3.33.floor #轉成整數,無條件捨去puts 3.33.ceil #轉成整數,無條件進位puts 3.33.to_i #小數轉整數,無條件捨去 ... 第12屆iThome鐵人賽 DAY 5 0 自我挑戰組 Ruby名詞解釋總匯系列第 5篇 Day5:Ruby中的「數字、符號」 12th鐵人賽 ruby rails rubyonrails chiayinin 團隊貓肥加潤五倍祝福 2020-09-1210:28:52875瀏覽 數字:整數Integer、浮點數Float *英文發音 首先來聽聽英文發音~。

整數Integer 浮點數Float 名詞解釋 數字型別包含: 整數Integer:可數的,EX:1,2,3,4,5......。

浮點數Float:小數點,EX:3.33。

Ruby世界的數字? 因為Ruby是物件導向的程式語言,大多數看到的皆是「物件」,肉眼看起來像數字外觀的數字也是物件的一種唷。

△肉眼觀世間,曖昧難辨 puts1+2 印出來->3 以上看起來簡簡單單的加法運算,但其實加號在Ruby中只是一般的方法(method),省略了小括號。

原來的樣子應該是如下: puts1.+(2) 印出來->3 這個加號,事實上是「數字物件1」呼叫了「+」這個方法,並且把「數字物件2」當做參數傳進去。

也因為他是一個方法,所以也可以重新改寫它原來的功能,讓1+1不等於2都是有可能的。

浮點數轉整數 puts3.33.round#轉成整數,四捨五入 puts3.33.floor#轉成整數,無條件捨去 puts3.33.ceil#轉成整數,無條件進位 puts3.33.to_i#小數轉整數,無條件捨去 型別轉換Conversions 字串可以使用以下轉型方法: to_i:轉整數 to_f:轉浮點數 to_sym:轉符號 to_s:轉字串 如下範例: p"169.99cm".to_f#169.99 p"169.99cm".to_i#169 p"169.99cm".to_sym#:"169.99cm" p:169cm.to_s#"169cm" 整數除法 因為Ruby是物件導向程式語言,看過去的東西大多為物件,因此在Ruby世界裡面,整數除以整數會得到整數10/3==3。

*那要如何得到小數點? 除數或被除數其中一個改小數點即可! 10.0/3==3.333333 10/3.0==3.333333 10.0/3.0==3.333333 符號Symbol *英文發音 首先來聽聽英文發音~。

https://youtu.be/EJg47hnavNM 名詞解釋 在了解符號之前,先來加深「物件」的概念。

在Ruby的世界裡,看到的大多是物件,如以下: 1000:數字物件 "Worldpeace":字串物件 :vegan:符號物件 由以上可以得知,「符號Symbol」使用冒號:開頭,他類似一種無法修改的字串,我們會說他是「有名字的物件anobjectwithaname」。

要注意的是,「符號」不是「變數」,是值,本身不會只向任何東西。

#「變數」可以指向 say="helloworld!" #「符號」不可以指向 :say="helloworld!"->會出錯! *那字串跟符號哪裡不一樣? 字串的效能會比符號差了一點點,兩者最主要的差異在於「記憶體的管理方式」,由於Ruby中的每個字串都是新的物件,所以即使是相同的字串也會佔用不同的記憶體,而符號則是重復利用: puts"string".object_id#2157007700"abc4e" name=:abcde name[3]=4 pname->undefinedmethod`[]='for:abcde:Symbol(NoMethodError) *符號的功用是什麼呢? 因為以上的特性,讓符號在Ruby中主要用作hash的鍵(key)或者是用來指稱方法的名稱。

hash={:key=>"12345",:symbol=>"string"} 總整理 immutable:被建立後就不能改變。

任何「符號」都指稱到同一個記憶體位置,因此較省記憶體。

以「符號」當作鍵(key)的效能會比「字串」當作鍵的效能來得好。

回家作業 請回答以下問題: 1.請問符號是什麼?跟變數一樣嗎? 2.字串嵌入Stringinterpolation是什麼?如何實作? 3.請寫出以下p後會印出什麼? p3.30393.floor p1.33.to_i p:hello.to_s 參考資料 更多的衍伸用法,可以參考龍哥的書《為你自己學RubyonRails》:數字、字串、陣列、範圍、雜湊、符號 小殘的程式光廊:Ruby教學-符號(Symbol) PJCHENder未整理筆記Symbol(符號) 留言 追蹤 檢舉 上一篇 Day4:Ruby中的「資料型別、字串」 下一篇 Day6:Ruby中的「陣列、範圍」 系列文 Ruby名詞解釋總匯 共14篇 目錄 RSS系列文 訂閱系列文 4人訂閱 10 Day10:Ruby的「物件導向程式設計-類別」 11 #Day11:Ruby的「物件導向程式設計-方法」 12 Day12:Ruby的「註解、流程控制」 13 Day13:學習網站開發,RubyonRails來了! 14 Day14:Rails中的「MVC」! 完整目錄 尚未有邦友留言 立即登入留言 iT邦幫忙鐵人賽 參賽組數 1087組 團體組數 52組 累計文章數 20477篇 完賽人數 572人 鐵人賽最新文章 .NetCoreWebApi_筆記21_Swagger及OpenAPI介紹與配置使用方式_API管理與測試探討 .NetCoreWebApi_筆記20_api結合ADO.NET資料庫操作part8_新聞文章查詢 .NetCoreWebApi_筆記19_api結合ADO.NET資料庫操作part7_新聞文章的編輯更新與刪除 .NetCoreWebApi_筆記18_api結合ADO.NET資料庫操作part6_新聞文章表格陳列查詢 .NetCoreWebApi_筆記17_api結合ADO.NET資料庫操作part5_新聞文章新增_新聞類別元素透過API綁定方式 [Bonus系列]-使用useCallback&useMemo的正確時機是什麼? 大盤到底能不能攻上一萬八?? gotodie?那個goto到底能不能用啊? 2021/12/12更新 予焦啦!一夢終須醒...... 前往鐵人賽 技術推廣專區 [Day2]抓取每日收盤價 [Day1]基本工具安裝 利用python取得永豐銀行API的Nonce [Day03]tinyML開發板介紹 永豐金融API測試員 [Day01]在享受tinyML這道美食之前 [Day3]使用ta-lib製作指標 [Day4]函數打包與買進持有報酬率試算 計算API所需要的參數:HashID 計算API所需要的參數:IV 前往鐵人賽 熱門問題 公司想要架設一個網購物站,但是不知道要怎麼規劃預算 正要準備開始上CCNA… 無網際網路時,請問兩台電腦如何‘無線’遠端連線 遠端監控電腦效能 如何設定一台電腦,有線網卡走公司內網,無線網卡走外網,同時運行? 關於網頁顯示問題 mssql資料庫搬移時,怎樣出所有需要的資料會比較好? 請問有在做關貿資料串接的資訊公司嗎? NAS、雲端儲存空間、隨身硬碟差別在那?怎麼選? 照片辨識比對軟體開發 IT邦幫忙 站方公告 【2021iThome鐵人賽】登登登!究竟獎落誰家,2021iThome鐵人賽得獎名單正式揭曉 熱門tag 看更多 13th鐵人賽 12th鐵人賽 11th鐵人賽 鐵人賽 2019鐵人賽 2018鐵人賽 javascript 2017鐵人賽 windows php python windowsserver linux c# 程式設計 資訊安全 css vue.js sql 分享 熱門回答 正要準備開始上CCNA… 如何設定一台電腦,有線網卡走公司內網,無線網卡走外網,同時運行? NAS、雲端儲存空間、隨身硬碟差別在那?怎麼選? 遠端監控電腦效能 無網際網路時,請問兩台電腦如何‘無線’遠端連線 照片辨識比對軟體開發 關於網頁顯示問題 公司想要架設一個網購物站,但是不知道要怎麼規劃預算 mssql資料庫搬移時,怎樣出所有需要的資料會比較好? DefaultDomainPolicy密碼複雜度 熱門文章 大盤到底能不能攻上一萬八?? [Bonus系列]-使用useCallback&useMemo的正確時機是什麼? 【教學】簡單救回電腦資料 為了轉生而點技能-JavaScript,day23(Promise介紹 12.MYSQL淺談NULL 數位簽章(digitalsignature) 什麼是功能分解? D9.學習基礎C、C++語言 7.MYSQL表格程式語法 javascript基礎功能1 一週點數排行 更多點數排行 海綿寶寶(antijava) ㊣浩瀚星空㊣(yoching) 小山丘(a243318490) 居然解出來了(partyyaya) ccenjor(ccenjor) 純真的人(jer5173) fillano(fillano) Gary(mosbbs) PPTaiwan(Pochengtaiwan) souda(souda) × At 輸入對方的帳號或暱稱 Loading 找不到結果。

標記 {{result.label}} {{result.account}} 關閉



請為這篇文章評分?