が、それは次のようになります。は、どのように私は文字の配列を取り込み、レールコンソールで関数を書くのですか?文字列を取る関数を書くとき、私は知っている
def function("string")
が、どのように私は配列を受け取り1を書きますか?最初に空の配列を定義する必要があります。 s = []そして関数を書くときはsを入力として使うだけですか?
が、それは次のようになります。は、どのように私は文字の配列を取り込み、レールコンソールで関数を書くのですか?文字列を取る関数を書くとき、私は知っている
def function("string")
が、どのように私は配列を受け取り1を書きますか?最初に空の配列を定義する必要があります。 s = []そして関数を書くときはsを入力として使うだけですか?
Rubyは動的な言語であり、それは我々がメソッドの変数または引数のデータ型を宣言することはありませんダックタイピングをサポートしています。どのような方法でも配列を渡すことができるので、ルビはその引数で使用できるメソッドを気にします。
def doSomething(value)
if (value.is_a?(Array))
value.any_array_method # For eg: value.include?('a')
else
raise "Expected array value"
end
end
そして、あなたは同じようにそれを呼び出すことができます:
doSomething(['a', 'b', 'c'])
、あなたがいずれかでそれを呼び出すのであれば、使用している配列方法について確認するためにのみ、あなたはこのように行うことができ、アレイ上で実行されます配列以外の引数を指定すると、次のようになります。
あなたに依存する例外を発生させる代わりに、エラーメッセージも渡すことができます。
これが役に立ちます。
これを試してみてください。
#here argument name can be anything. It not compulsory to use array as argument name, it can be anything like `string`, `xyz` etc
def function(array)
p array
end
function([1,2,3,4,5])
あなたは
def my_function(arr=[], s)
puts arr.inspect
puts s.inspect
end
をすることによってそれを行うことができます。これは、実際にRailsのよりルビーについての質問です
my_function([1,3,4], "string")
でメソッドを呼び出すことができます。大事なことは、xがyを受け入れる方法+
を持ち、かつx + y
からの結果がメソッドを持っていることである
def add_three (x, y , z)
x + y + z
end
add_three(1, 2, 3) # 6
add_three('a', 'b', 'c') # 'abc'
add_three([2], [3], [4], # [2, 3, 4]
add_three(Date.new(2017,3,4), 1, 1), # new date 2017.3.6
:Rubyはメソッド定義では、あなたが引数の型を宣言していないことを意味し、動的型付け言語であり、 +
は、zを受け入れます。これはダックタイピングと呼ばれています。ここで重要なのは、オブジェクトがどのクラスではなく、どのメッセージに応答できるかです。