def my_method(parameter)
if <what should be here?>
puts "parameter is a string"
elsif <and here?>
puts "parameter is a symbol"
end
end
24
A
回答
45
最簡單的形式是:
def my_method(parameter)
puts "parameter is a #{parameter.class}"
end
但是,如果你真的想基於類型做一些處理做到這一點:
def my_method(parameter)
puts "parameter is a #{parameter.class}"
case parameter
when Symbol
# process Symbol logic
when String
# process String logic
else
# some other class logic
end
end
20
def my_method(parameter)
if parameter.is_a? String
puts "parameter is a string"
elsif parameter.is_a? Symbol
puts "parameter is a symbol"
end
end
應該解決您的問題
11
if parameter.is_a? String
puts "string"
elsif parameter.is_a? Symbol
puts "symbol"
end
我希望這有助於。
+0
對不起,我的代碼並不像以往那樣優雅:) – 2010-12-12 14:11:00
1
def my_method(parameter)
if parameter.is_a? String
puts "parameter is a string"
elsif parameter.is_a? Symbol
puts "parameter is a symbol"
end
end
-1
if parameter.respond_to? id2name
p "Symbol"
else
p "not a symbol"
這也將工作,但不是一個優雅的解決方案
相關問題
- 1. 在Ruby中,如何檢查符號是否在符號數組中?
- 2. 如何檢查Ruby對象的方法?
- 3. 如何檢查Ruby的安裝是否有調試符號?
- 4. 如何檢查PATH是否設置?如果不是,從參數
- 5. 如何檢查方法參數是否實現多個接口
- 6. Ruby如何將一個方法轉換爲符號作爲參數?
- 7. 檢查如果無符號小於零
- 8. 如何檢查參數是真是假?
- 9. 任何ruby庫來檢查某些方法的參數是什麼?
- 10. 在Ruby中,如何檢查方法「foo =()」是否已定義?
- 11. 如何檢查私有方法是否在ruby中定義
- 12. 如何檢查字符串/參數是否在URL上,如果不添加它
- 13. 如何檢查是否字符串包含數字符號
- 14. 參數檢查方法
- 15. 如何檢查字符串是否包含方括號php
- 16. 如何在表示爲符號的方法中傳遞參數?
- 17. 如何參數傳遞到符號的方法調用
- 18. 如何檢查除法的結果是int還是浮點數
- 19. 在Ruby中,符號「=>」在方法的參數列表中是什麼意思?
- 20. 如何檢查如果結果是__NSCFNumber?
- 21. 如何檢查參數是否爲空
- 22. 何時檢查功能/方法參數?
- 23. 如何檢查函數/方法使用哪個參數?
- 24. 如何檢查方法參數的類型時,在java中
- 25. Python 3:如何檢查一個方法的默認值/參數
- 26. 如何檢查模擬對象上特定參數的方法?
- 27. 如何檢查方法中的typeof參數?
- 28. 如何檢查方法的關鍵字參數
- 29. 如何在IntelliJ調試器中檢查方法參數的值?
- 30. 如果參數化方法不是輸入參數,參數化方法如何解決<T>?
不應該是'case parameter.class'嗎? – 2010-12-12 14:49:14
@Beerlington我剛剛測試過,並且它僅使用參數就可以正常工作。 – 2010-12-12 15:39:51
@Beerlington:否:在案例x中;當Y ....; Ruby'運行'y === x'來確定它是否應該進入'when'塊。 '==='只是定義爲做一些「有用的」;例如,對於類,它是'instance_of?';對於範圍,它是'include?'等。 – 2010-12-12 15:42:56