これは私が壊れない既存の公開API用ですが、私は拡張したいと思います。ダックタイピング文字列、記号、配列のエレガントな方法は?
現在の方法は、文字列または私はエトセトラ、記号、文字列のリストを送信する機能を追加したいsend
への最初のパラメータとして渡されたときに、理にかなっている記号や何かを取ります。私はちょうどis_a? Array
を使うことができますが、リストを送信する他の方法があります。それはあまりルビー・イッシュではありません。
私はリストにmap
を呼び出す予定なので、最初の傾きはrespond_to? :map
です。しかし、文字列も:map
に対応しているため、動作しません。
あなたの質問には関係ありませんが、sendメソッドにユーザー入力を渡す前にいくつかのチェックをしてください! Yikes。 –
良い点。私たちの場合、ドキュメントには、パラメータがメソッド名であることが明確に記載されています。これは十分な深い十分なAPIです... –
これはドキュメントの問題ではありません。セキュリティホールです。彼らがバックティックを通過すると、sendの2番目のパラメータはシェルで実行されます。それは本当にあなたが望むものですか?あなたは、ケースステートメントの入力を調べて、あなた自身の建設のシンボルを送信する方がはるかに優れています。 –