Ruby 內建變數與內建常數

指令輸出 ``

可以直接使用 `` 符號,框住要行的指令,取得執行的結果,回傳形式為字串。範例為列出所有 .rb 結尾的檔案。

1
2
3
4
files = `ls`
files.split.each do |file|
print "#{file}\n" if file =~ /.rb$/i
end

閱讀全文

Ruby One-Liners

From Here

翻轉每一行

輸入資料:

1
2
3
4
$ cat foo
qwe
123
bar

翻轉每一行的字:

1
2
3
4
$ ruby -e 'File.open("foo").each_line { |l| puts l.chop.reverse }'
ewq
321
rab

閱讀全文

Ruby 命令列選項 command line

偵錯、運作確認

-c: 語法檢查

檢查現在執行的 Ruby 指令稿語法是否正確。並不會實際執行程式。

-d: 設定偵錯模式

讓偵錯用變數 $DEBUG 生效。指定 -d 時, $DEBUG 的値會為 true。所以可以在程式裡加上這樣的敘述︰

1
print some_var if $DEBUG

閱讀全文

Ruby on Rails Debug ByeBug 使用

使用

在程式碼中想要中斷的地方加入 byebug,程式執行到 byebug 這個位置則會停下來讓使用者 debug。而至於進入 Debug 頁面能幹麻,大致上跟 GDB Debug 差不多,一步一步的執行,然後檢查每一個參數的值。

1
2
3
4
5
6
7
8
9
10
11
12
13
# 進入 byebug 頁面
[9, 18] in /Users/akiicat/someplace.rb
9: byebug
10:
11: @message.save!
12:
13:
=> 14: @path = conversation_path(@conversation)
15: end
16:
17: private
18:
(byebug) d @path

閱讀全文

C 輸入資料常見的處理方式

Integer Type

給定總數

第一行先給定接下來要輸入資料的個數

1
2
3
4
3
1 2
3 4
5 6
1
2
3
4
5
6
7
int n, a, b;
scanf("%d", &n);
while (n--) { // 需要第幾筆資料的話,也可以用 for 迴圈往上加
scanf("%d %d", &a, &b);

// ...
}

閱讀全文