Skip to content

Commit 36b6165

Browse files
committed
Updates README.md
Auto commit by GitBook Editor
1 parent 683a37c commit 36b6165

File tree

3 files changed

+47
-0
lines changed

3 files changed

+47
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ source 在 [Github](https://github.com/Unayung/ruby-on-rails-developer-interview
2727
* [為什麼要有 Migration 檔案](migration.md)
2828
* [如何用單一 action 套用 /beer/(beer\_type) 這種 route](beer_type.md)
2929
* [如何讓 Person model 可以指定另一個 person 為 parent](person.md)
30+
* [請解釋這個語法 a ||= b](aorequalb.md)
3031
* [CSRF 是什麼](csrf.md)
3132
* [XSS 是什麼](xss.md)
3233

SUMMARY.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
* [為什麼要有 Migration 檔案](migration.md)
1414
* [如何用單一 action 套用 /beer/(beer\_type) 這種 route](beer_type.md)
1515
* [如何讓 Person model 可以指定另一個 person 為 parent](person.md)
16+
* [請解釋這個語法 a ||= b](aorequalb.md)
1617
* [CSRF 是什麼](csrf.md)
1718
* [XSS 是什麼](xss.md)
1819

aorequalb.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# 請解釋這個語法 a ||= b
2+
3+
當 a 有值 ( 非 nil 非 false ) 時, a 保持原值
4+
5+
當 a 為 nil / false 時, a = b
6+
7+
我們看以下的範例
8+
9+
```ruby
10+
irb(main):024:0> a = nil
11+
=> nil
12+
irb(main):025:0> b = 10
13+
=> 10
14+
irb(main):026:0> a ||= b
15+
=> 10
16+
irb(main):027:0> a
17+
=> 10
18+
19+
irb(main):028:0> a = false
20+
=> false
21+
irb(main):029:0> b = 20
22+
=> 20
23+
irb(main):030:0> a ||= b
24+
=> 20
25+
irb(main):031:0> a
26+
=> 20
27+
28+
irb(main):032:0> a = ""
29+
=> ""
30+
irb(main):033:0> b = "abc"
31+
=> "abc"
32+
irb(main):034:0> a ||= b
33+
=> ""
34+
irb(main):035:0> a
35+
=> ""
36+
37+
irb(main):037:0> a = 689
38+
=> 689
39+
irb(main):038:0> b = 633
40+
=> 633
41+
irb(main):039:0> a ||= b
42+
=> 689
43+
irb(main):040:0> a
44+
=> 689
45+
```

0 commit comments

Comments
 (0)