[ - ] スポンサーサイト
一定期間更新がないため広告を表示しています
| 2018.05.23 Wednesday | - | - |
ツクールでのオリジナル作品の話を中心に創作関係の徒然な語り。
一定期間更新がないため広告を表示しています
| 2018.05.23 Wednesday | - | - |
| 2015.02.24 Tuesday 21:20 | comments(0) | trackbacks(0) |
| 2015.02.23 Monday 20:37 | comments(0) | trackbacks(0) |
| 2015.02.22 Sunday 22:22 | comments(0) | trackbacks(0) |
class NilClass
def try(*args)
nil
end
end
これで、どんな時もtryは使える。| 2015.02.19 Thursday 23:06 | comments(0) | trackbacks(0) |
class Symbol
def to_proc
Proc.new { |obj, *args| obj.send(self, *args) }
end
end
続いて、Objectクラスだが、tapメソッドを定義するだけでなくいろいろといじる。class Object
undef id if respond_to?(:id)
def tap
yield(self)
self
end
def try(*a, &b)
if a.empty? && block_given?
yield self
else
public_send(*a, &b) if respond_to?(a.first)
end
end
end
Object#idを削除。これはnil.idが4を返すことによる。
RGSS内ではよくいろいろなIDを利用するが、nil.idが4となることで、本来ならエラーになってほしい処理を通ってしまい、バグが見つけにくくなるおそれがある。また、このメソッドを削除しても、同じ意味のObject#object_idがあるから問題ない。name = user ? user.name : "名無し"
が
name = user.try(:name) || "名無し"
となっるくらいすっきりする話だ。| 2015.02.18 Wednesday 22:43 | comments(0) | trackbacks(0) |
| 2015.02.09 Monday 21:58 | comments(0) | trackbacks(0) |
"¥x5C" #=> ¥
p "¥¥".unpack("U") #=> [92]
255.times do |i|
p [i].pack("U")
end>
| 2013.09.05 Thursday 21:23 | comments(0) | trackbacks(0) |
| 2012.08.16 Thursday 22:35 | comments(0) | trackbacks(0) |
| 2012.08.16 Thursday 22:18 | comments(0) | trackbacks(0) |
| 2012.08.15 Wednesday 21:04 | comments(0) | trackbacks(0) |
S | M | T | W | T | F | S |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | ||