2016-05-24 5 views
0

私は出力がより賢明にするためにいくつかのテストヘルパー関数を書いている:Rascalで独自の演算子を定義することは可能ですか?

bool tstEq(first, second) { 
    if(first == second) 
    return true; 
    else { 
    println("<first> was not equal to <second>"); 
    return false; 
    } 
} 

が、それはこのような何かをすることは可能ですか?

bool ===(first, second) = tstEq(first, second); 

用法:

test bool myTest() = 1 === 2 

のようなものになるでしょう:

rascal>:test 
1 was not equal to 2 
bool: false 
+0

ラスカルテスト機能をこのように自動的に行うことが提案されています。 –

答えて

1

短い答え:いいえ。私はこれが便利かもしれないことに完全に同意する(しかし、読みにくいコードにつながるかもしれない)。

私たちが最初に取り上げたいトピックのリストが大きいとすれば、近いうちにそのような機能がRascalに来るのとは異なります。

+0

私はそれを "通常の"関数として使用します。 一部の言語は、 "symbols"(!@#$%^&*)で始まる関数を中置としても使用できるように解析します。あるいは、バッククォート(\ ')の間に関数を置くような構文を使用してください:' first \ 'tstEq \' second' – Tim

関連する問題