撰文於銘 飄散隨風 心行無語 仰首蒼穹

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 *

 

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

解決「REMOTE HOST IDENTIFICATION HAS CHANGED!」的錯誤

今天收到通知,有一台主機因為更新失敗,所以用了舊的備份重啟主機,導致資料有點舊,請我將最新資料更新上去。

連線到該主機時,發生了奇怪的錯誤(恕我馬賽克一些資料):

xxx@yyy [~]# ssh heaven@111.222.333.444

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the ECDSA key sent by the remote host is

SHA256:asdfasdfasdfasdfasdfasdf

Please contact your system administrator.

Add correct host key in /home/xxx/.ssh/known_hosts to get rid of this message.

Offending ECDSA key in /home/xxx/.ssh/known_hosts:1

ECDSA host key for ...... has changed and you have requested strict checking.

Host key verification failed.

 

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

「阿含、尼柯耶」比較研究論文選集

Swift 踩到 Unicode 等價性與異體字的雷

FontForge 使用心得

前言

 

FontForge 是一支功能很強的字型處理程式,會接觸這支程式,主要是在學習由某些字型檔,取出部份字型,打造出一個 Web 開放字型 woff/woff2(Web Open Font Format),讓讀者在線上閱讀佛典時,可以在沒有安裝較新的 unicode 字型的情況下,也能看到這些字型,就是利用 Web 開放字型。

 

下載與安裝

 

FontForge 官網:https://fontforge.org/

 

下載後請依官網指示安裝及執行,重點提示:

 

  • 在安裝程式按右鍵,選擇「以系統管理員身分執行」。

 

image


 

  • 安裝後,開啟 FontForge 也是按右鍵,選擇「以系統管理員身分執行」,或是直接在捷徑按右鍵,選內容 -> 相容性,勾選「以系統管理員的身分執行此程式」。

 

image

 

如果要處理的字型很大,就需要 64 位元版的程式,可在這裡下載最新的版本:

 

https://sourceforge.net/projects/fontforgebuilds/files/x86_64/Portable/

 

不過作者有交待,64 位元不常更新,可能問題較多,請儘量少用。

 

重要度:
文章分類:

From Perl To Ruby - 從珍珠到紅寶石

這篇是因為同事果睿師兄發心要開辦內部的 Ruby 語言夏令營,要教導同仁利用 Ruby 處理日常工作遇到的問題,所以寫了一些自己所學一些程式的感想。

*** ***

先抄幾段 Ruby 在維基百科中和 Perl 有關內容

  • CPAN 上排名第一名,同時也是 Perl 6 的開發者的唐鳳(Autrijus / Audrey)說:「Ruby 就是『沒有到處打廣告的 Perl 6 』」。
     
  • 松本行弘在接受歐萊禮(O'Reilly)訪問時,提到「Ruby 借用了很多 Perl 的東西……,Python 遠比 Perl 要少……」、「我認為 Ruby 這個名字作為 Perl 之後的一門語言的名字真是再恰當不過了。」
     
  • Perl之父拉里·沃爾(Larry Wall)說:「很多方面上我還是很喜歡 Ruby 的,這是因為那些部分是從 Perl 借過去的。:-)」、「我還喜歡 Ruby 的 C<*> 一元星號運算子,所以我把它加到 Perl 6 裡面。」

我在寫程式的過程中,學習 Perl 是一個新的里程,過去寫程式到執行,是比較麻煩的,要開啟專用的程式,寫完之後要編譯成副檔名為 exe 的執行檔,然後再執行看看。有問題再重複一次,大一點的程式,編譯要好幾分鐘。

這種程式語言可以簡單稱為編譯式語言,後來學了 Perl,這種可稱為直譯式,就是隨便用個純文字編輯器,寫個幾行,就可以執行了,真的很方便。

重要度:
文章分類:

C++ Builder 處理無法載入專案的錯誤 Could not convert variant of type (Null) into type (OleStr)

今天要用 C++ Builder 10.2.3 開啟一個舊的專案時,卻突然跳出一個錯誤訊息。

 

 image

 

這個專案半年前有開啟過,並沒有什麼問題。C++ Builder 開啟其它專案也沒有問題,不知是哪裡出錯了?

 

找了許多資料,有許多都是在程式中或資料庫中遇到的,不是我這種一開始就打不開專案的問題。

 

終於在這個影片中看到一個解法

 

https://www.youtube.com/watch?v=WuA7nuADRx0

 

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

頁面

訂閱 人生海海 RSS