我有以下内联 C 函数,它有助于比较两个数组。我必须将数组 1 中的每个元素与数组 2 进行比较并获得计数。
builder.c '
VALUE arr_distance(VALUE arr1, VALUE arr2){
long arr1_len = RARRAY_LEN(arr1);
long arr2_len = RARRAY_LEN(arr2);
if(arr1_len == 0 || arr2_len == 0){
return 0.0;
}
else{
long i, j;
VALUE count = 0;
VALUE *c_arr1 = RARRAY_PTR(arr1);
VALUE *c_arr2 = RARRAY_PTR(arr2);
for(i = 0; i < arr1_len; i++){
for(j = 0; j < arr2_len; j++){
if(c_arr1[i] == c_arr2[j]){ //This comparison does not work
count++;
}
}
}
return count;
}
}'
如何比较两个字符串以检查它们是否与内联 C 代码相同?