九月 2022

Ruby 呈現資料之 print、puts、p 比較

印出資料是一般程式最基本的功能之一

 

c 有 printf

c++ 有 cout

c# 有 WriteLine

php 有 echo

perl 有 print

perl 6 還有 say

 

我自己的經驗指出,常用的指令,的確是愈短愈令人舒服,打的字少,無形中感覺輕鬆許多。

 

在學習 ruby 時,一開始要印出資料,我是用 print,這個命令應該有古老的傳統,和 c 的 printf 比起來,至少少了一個 f,這個 f 應該是 format 的意思,printf 對於格式處理有很強的能力。

 

後來發現 ruby 還有一個 puts,用起來更方便,不但字比較少,而且會自動換行,不像 print 每次都要印 "\n" 才會換行,自動換行的場合是更常見的。

 

重要度:
文章分類:
電腦標籤:

VS Code 安裝 Ruby Debug 擴充

在開始寫 Ruby 後,希望能有 Debug 的工具,才方便除錯。

 

一開始亂安裝,裝了這幾個都無法正常使用。

 

image

image

 

不一定是這些有問題,更可能是我自己設定有問題。

 

後來放棄了,就是不斷的用印出資料的方法來除錯。

 

昨天在看 Ray 的 Ruby 教學時,發現他在 VS Code 上有執行 Ruby Debug 的功能,下課後就趕快請教他,在他的指導下,終於安裝成功了。原本我也擔心會不會在 Mac 可以,在 Windows 卻不行?幸好我多慮了。

 

Ray 說他原本裝的是 VSCode Byebug Debugger,但在某些中文呈現有問題,好像是直接呈現 utf8 的內碼,所以建議安裝底下這一個。

 

image

 

重要度:
文章分類:

電影裡挑骨頭--明日邊界

image

 

底下有雷。

 

明日邊界是阿湯哥和愛蜜莉布朗(Emily Blunt)主演的科幻片,阿湯哥是一個因為殺了外星人,而獲得不斷輪迴重複回到同一天的能力的軍人,利用可以不斷重新開始再玩一次的能力,加上可以累積經驗值,在經過無數次的努力後,終於打敗外星人的故事。

 

在電影中,阿湯哥一開始有能力回到過去後,搞不清楚是什麼狀況,後來才知道女主角麗塔也曾經有同樣的能力,只是後來失去了。

 

於是阿湯哥有重生能力,麗塔有重生經驗,二人就這樣不斷合作,過程也有很多有趣的故事。

 

這電影偶爾也在電視上重播,看過幾次後,突然生起疑情。

 

麗塔說她原本也可以不斷重生,但就在一次大量失血之後,這個能力就沒有了......

 

想一想突然就覺得不合理,她怎麼知道這個能力沒有了?除非她死了,沒有再重生,才能確定知道沒有重生能力了。但她還活著,她是如何知道的?這問題我到現在還是想不透,不知是不是有什麼地方有提示,我漏了看?或是原作其實有說明?

 

重要度:
文章分類:
一般標籤:

使用 7z 壓縮 epub 電子書

製作 epub 電子書並不是很困難,基本上就是將一些純文字的 xhtml 文件,就類似 html 網頁,再加上圖檔、css 格式檔等,就可以做出很簡單的電子書。

只是在製作的過程,要添加一些文件,記錄有哪些檔案在電子書中,這些不是本文介紹的重點,網路上可以找到一些規範。

 

將這些文件做成 epub 電子書,其實就是用 zip 的格式壓縮即可。反之,只要將副檔名 epub 改名成 zip,就可以很容易解開來看裡面的內容了。

 

雖然用 zip 壓縮即可,但還是有一個規則,就是第一個檔案必須是指定的 mimetype 檔案,而且這個檔案不能壓縮。

 

接著其它的檔案再陸續加入壓縮檔即可。

 

原本,我以為用 7z 如下的命令就可以很簡單做出電子書:

 

7z a -mx0 mybook.epub mimetype

7z a -x!mimetype mybook.epub *

 

重要度:
文章分類:
電腦標籤:
借我放一下廣告