在F#/ Excel-Dna中,对于字符串向量重写以下函数的惯用方式是什么? (即对字符串的“向量”(= 1d Excel范围)进行排序的函数)。
[<ExcelFunction(Category="Some Cat", Description="Sort 1d range filled with doubles.")>]
let mySortDouble (vect : double[]) : double[] =
Array.sort vect
如果仅在上述代码段中将双精度类型替换为字符串类型,则会收到以下错误消息:Initialization [Error] Method not registered - unsupported signature, abstract or generic: 'MyFSFunctions.mySortString'
我看到this previous question在Govert建议使用“注册扩展名”的地方,但是我还没有找到如何使用它来回答我当前的问题。
答案 0 :(得分:4)
编写mySortDouble后,它甚至都不会编译,因为它返回double [],而不是double。
这是一个有效的示例,其中添加了一些最小的错误处理。
[<ExcelFunction(Category="Some Cat", Description="Sort 1D range of strings.")>]
let SortStrings (vect : obj[]) =
try
vect
|> Seq.cast<string>
|> Seq.sort
|> Seq.toArray
|> box
with
| ex -> box ExcelError.ExcelErrorNA
答案 1 :(得分:1)
<table id="mem_list_table" class="stats_table display table-responsive cell-border table-hover" style="width:100%; margin-top: 10px;">
<thead>
<tr>
</tr>
</thead>
<tbody>
</tbody>
</table>
<script>
$(function() {
$.fn.dataTable.ext.search.push(
function( settings, data, dataIndex ) {
var min = parseInt( $('#min').val(), 10 );
var max = parseInt( $('#max').val(), 10 );
var age = parseFloat( data[4] ) || 0; // use data for the age column
if ( ( isNaN( min ) && isNaN( max ) ) ||
( isNaN( min ) && age <= max ) ||
( min <= age && isNaN( max ) ) ||
( min <= age && age <= max ) )
{
return true;
}
return false;
}
);
});
</script>