5
하스켈에서 시작하기에 단일 조건을 기반으로 여러 변수를 할당하는 가장 좋은 방법을 찾으려고합니다. 지금까지 저는 튜플을 포장하고 풀었습니다. 더/더 관용적 인 방법이 있습니까?하스켈에서 다중 변수 할당하기
(var1, var2, var3) =
if foo > 0
then ("Foo", "Bar", 3)
else ("Bar", "Baz", 1)
튜플의 포장 및 포장 비용에 관해 궁금한 점이 있습니다. this을 올바르게 읽는다면 함수에서 최적화 된 것처럼 보이지만 할당이있는 경우 확실하지 않은 것 같습니다.
목록을 사용할 수도 있습니다. 'a = 1','b = 2','c :'(a : b : c : rest) = [1,2,3,4,5,6]'을 사용하여 큰 덩어리로 패턴 일치시킬 수도 있습니다. = 3', 나머지는 [4,5,6]이다. 게다가, 이것은 기본 표현 수준이 아니라'let'과'where' 문에서만 필요합니다. – AJFarmar
Haskell에는 _mutable_ 변수가 없기 때문에 "할당"보다는 "바인딩"또는 "정의"라고 부릅니다. 귀하의 코드는 괜찮아 보이는데, 프로파일 링 포인트가 아니라면 비용에 대해 걱정하지 않아도됩니다. 또한이 튜플에 대해 걱정한다면''Bar ''가 런타임에 실제로 어떻게 표현되는지 알고 싶지 않을 것입니다 ;;-) – chi