"n items ()"가 더 강력해야합니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />나는 종종 "n items ()"가있는 스크립트에서 문제가 있음을 알고 있습니다. 그리고 나는 종종이 오류를 보게됩니다 : "N Items () 인수는 목록이어야합니다"
하나의 스크립트에서, 내 데이터의 견고성으로 인해, 내가 nitems에 공급하는 것은 때로는 행렬, 숫자 또는 문자가 될 수 있습니다. 일명 : 변수 = [5], 변수 = 5; 변수 = "05"; 변수 = {5}; 너무 자세하게 설명하지 않으면 "n items"에 문자 값, 일명 n 아이템 ( "05")을 입력하면 매트릭스가있는 경우 1을 내뱉습니다. nrows 밖으로 침을, 요법.
긍정적 인 점은 JSL이 부적절한 데이터 항목에 데이터가 공급되면 버그가 발생하지 않으므로 데이터에 대한 부드러운 변형이 발생한다는 것입니다. 이렇게하면 많은 다른 데이터에 대해 스크립트를 강력하게 만드는 데 필요한 코드의 양을 크게 줄일 수 있습니다. 아래쪽은 게으른 프로그래밍으로 이어져 실수를 찾기 어렵게 만듭니다. 이것은 문제를 일으킬 수 있습니다 : 예를 들어, 행렬을 먹이고 nrows가 아니라 ncols를 원했습니다; 또는 당신의 문자열은 "05, 05"이었습니다.
커뮤니티는 무엇을 생각하니? "n items"이 더 강건했다면 그것은 축복인가 저주인가?
제목 : Re : "n items ()"가 더 강력해야합니까?매트릭스에 대한 당신의 생각이 마음에 듭니다. nrows (matrix) * ncols (matrix)는 단순히 nrows 나 ncols를 반환하는 것보다 더 유용 할 것 같습니다.
필자는 "a, b, c"에 대해 3을 반환하는 것은 값이 어떤 것으로도 구분 될 수 있으므로 빈약 한 반환이라고 주장합니다. 공간, 밑줄, 콜론 ( ""_ ""; 이것은 정말로 프로그래머가 nitems에 보내기 전에 words () 또는 regex ()를 파싱해야합니다.
처음에는 문자열 목록을 기대하고 있었기 때문에 1이 가장 적절하다고 생각 했었지만 이전 명령문이 목록을 반환하지 않으면 변수를 문자열로 반환했습니다. 그 경우에는 1을 원했습니다. 그러나, 이제는 당신이 그것을 언급하면, nitems는 문자열의 길이를 반환하고 다른 응용 프로그램을 가지고 있다면 매우 유용 할 수 있습니다.
제목 : Re : "n items ()"가 더 강력해야합니까?마치 nItems (matrix)가 nrows (matrix) * ncols (matrix)를 반환하면 더 유용 할 수 있습니다.
나는 1, 3, 또는 5에 대한 사례를 만들 수 있기 때문에 nitems ( "a, b, c")가 무엇을 기대할 지 확신하지 못합니다.
제목 : Re : "n items ()"가 더 강력해야합니까?나는 JMP 지원이이 포럼을 따르는 경향이 있다는 것을 알고 있으며, 나는 서두르지 않고 문제의 울타리에있다. 그래서 나는이 변화를 요청할 최고의 후보자가 될지 의심 스럽다.
JavaScript에서는 부드러운 평등을 허용한다는 것을 알고 있습니다. 예를 들어, 5 == "5"는 참을 반환하고, 5로 표시된 하드 자질은 === "5"가 거짓이됩니다. 부드러운 평등은 종종 이상한 행동으로 이어지고 많은 프로그래머들이 눈살을 찌푸리게됩니다. 많은 사람들이 항상 하드 평등을 사용하는 편견을 가지고 있지만, 소프트 평등을 사용하면 코드를 강력하게 만들 수 있고 프로그래머가 자기가하는 일을 안다면 평생을 구할 수 있습니다.
JSL은 다른 언어이지만, 대부분의 대본 작가는 프로그래밍 배경이 없다고 생각됩니다. 그래서 강력한 nitems를 허용하는 것은 언어에 해가 될 수 있지만 동시에, 나는 그것을 잘 활용할 수있을 것입니다.
제목 : Re : "n items ()"가 더 강력해야합니까?나는 당신의 제안이 좋은 제안이라고 생각합니다. 그리고 커뮤니티 전체가 JMP의 지원 그룹에 제안을 보내야한다고 생각하는 것과 관계없이. 그것들 만이 변경에 영향을 줄 수 있습니다.
토론을 너무 빨리 읽고 커뮤니티 입력 요청이 누락 된 것에 대해 사과드립니다.
제목 : Re : "n items ()"가 더 강력해야합니까?그 질문에 대답하지 않습니다.
제목 : Re : "n items ()"가 더 강력해야합니까?"Is List"기능이 있으면 값이 목록인지 확인할 수 있습니다. 따라서, 스케일러, 목록 및 행렬에 대한 하위 작업이 가능합니다.
x = 스케일러, 행렬 또는리스트
if (list (x)
개수 = 1
)
Re : "n items ()"가 더 강력해야합니까?이 스레드는 다소 오래되었지만 JMP 13 이상에서 궁극적으로 구현 된 내용을 언급 할 것이라고 생각했습니다.
- NItems (matrix)는 이제 오류가 아닌 행렬의 요소 수 (rows * cols)를 반환합니다.
- nitems ( "cat")는 여전히 오류를 반환합니다.
- nitems ([1 2 3] | / [4 5 6]) == 6