문제

나는 메일로받는 신용 카드 제안을 추적하는 데이터베이스를 구축하기로 결정했으며, 하나의 혼란 요소는 제안을 표현하는 방법이었습니다. 최소 금융 요금 및 가변 요금 및 최소 가변 요금으로 "10.99 %"보다 약간 복잡해집니다. 나는이 제안을 비교하거나 추세를 보이면 이러한 것들을 대표하기 위해 언어를 구성해야한다고 결정했습니다.

문제는 내가 이것을 어떻게 표현합니까? 공식은 필드를 만들어 모델링하기에는 너무 복잡하므로 공식을 DB에 영광으로 저장합니다. 예, 이것은 데이터와 실행 사이의 경계를 흐리게하는 것을 의미하지만, 이것은 개인 프로젝트이기 때문에 그렇게 걱정하지 않습니다.

  1. 내장 된 파이썬. 공식을 파이썬으로 표시하고 관련 변수를 바인딩하고 공식을 호출하십시오.
  2. 도메인 특정 언어를 사용하십시오. 나는 이런 식으로 사물을 대표하는 첫 번째 사람이 될 수 없으며 사실 나는 내가 아니라는 것을 알고 있습니다. 이것을 대표 할 수있는 무료 공개 언어가 있습니까?

누구든지 어떤 접근 방식이 더 나은지 조언을 제공 할 수 있습니까?

도움이 되었습니까?

해결책

이것은 Simon Peyton Jones et al.의 작품과 다소 비슷하게 들린다. ~에 콤비네이터 라이브러리를 사용한 금융 계약을 나타냅니다, Haskell에서의 구현, 일부 모델이 주어진 계약 값을 계산하기 위해 평가 기능을 실행하는 기능을 포함하여 일부 모델. 나는 이것이 당신이 찾고있는 것이 정확히 무엇인지 말할 수있는 금융에 대해 충분히 알지 못하지만, 그것이 올바른 야구장에있는 것처럼 들립니다.

특정 질문에 관해서는, 나는 일반적으로 내장 도메인 특정 언어 (즉, 객체 지향 메타 프로 그램을 가진 Ruby와 같은 호스트 언어에 내장 된 DSL과 같은 구성, 또는 거대를 사용한 체계 또는 Haskell Combinator 라이브러리)를 선호합니다. 당신은 호스트 언어의 완전한 힘을 무료로 제공합니다. 일반적으로 자체 구문, 실행 모델, 런타임 등으로 도메인 특정 언어를 작성할 때 기존 언어를 사용할 수있는 경우 쉽게 할 수있는 일을 사용하지만, 피난처 이후로 다루는 고통입니다. ' t 당신의 DSL에서 무언가를 구현했습니다.

다른 팁

내 투표는 공식을 데이터베이스에 저장해야한다고 생각되면 임베디드 파이썬에 대한 것입니다.

DSL은 과잉처럼 보입니다. 당신은 이미 공식을 평가하기에 완벽하게 좋은 언어를 가지고 있습니다.

또 다른 옵션은 사용하는 것입니다 아르 자형. 멋진 공식 표현이 있습니다. 문자열로 저장 한 다음 eval () 함수로 평가합니다. 광범위한 금융 라이브러리도 있습니다 (참조 크랜 금융 관점), 포함 rmetrics.

R은 또한 Python, Java 및 C ++를 포함한 다른 언어와 매우 잘 상호 작용합니다. Python을 언급했습니다. 래퍼 스크립트를 작성하려면 RPY를 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top