Wolfram Computation Meets Knowledge

Wolfram 언어:
프로그래밍의 기본

다음 언어의 주의 사항 표시:
모든 섹션 
  • Wolfram 언어에 대해
  • 다음 언어의 주의 사항 표시
  • Java 주의 사항 표시
  • Python 주의 사항 표시
  • 주의 사항 숨기기
사용 시작

함수의 적용 비디오 버전

여러 수식에 함수를 "매핑"하여 사용하는 경우가 많습니다:

In[1]:=
Out[1]=

Python 프로그래머를 위한 주의 사항:

Wolfram 언어의 Map은 Python의 map처럼 작동하지만 map은 임의의 깊이의 식의 나무 구조에도 동작한다는 점이 다릅니다.


/@("빗금 골뱅이표", "슬래시 앳")은 Map의 단축 표기입니다:

In[2]:=
Out[2]=

Java 프로그래머를 위한 주의 사항:

Wolfram 언어의 Map은 어떤 식에도 적용할 수 있다는 점을 제외하면, Java의 Stream.map 메소드와 유사하게 작동합니다.


아래의 예는 순수 함수를 사용합니다:

In[3]:=
Out[3]=

Apply는 함수를 요소 전반에 적용합니다:

In[1]:=
Out[1]=

Python 프로그래머를 위한 주의 사항:

Wolfram 언어의 Apply는 Python의 압축 풀기 연산자 *와 비슷하게 작동합니다.


식은 부분을 추출하는 데 필요한 지표 수에 대응하는 "레벨"이 있습니다. Map을 사용하면 특정 레벨에만 적용이 가능합니다.

Java 프로그래머를 위한 주의 사항:

"레벨"은 배열의 차원에 관한 다른 이름입니다. 하지만, 모든 기호식에 일반화되어 있습니다. 이러한 다차원 연산은 Java에는 포함되어 있지 않으며 일반적으로 루프의 사용이 요구됩니다.

Python 프로그래머를 위한 주의 사항:

"레벨"은 배열의 차원에 관한 다른 이름입니다. 하지만, 모든 기호식에 일반화되어 있습니다. Python의 배열 함수는 일반적으로 일차원 배열에 대해서만 설정되어 있습니다.

Map은 기본적으로 레벨 1에 적용합니다:

In[1]:=
Out[1]=

이것은 레벨 2에만 적용합니다:

In[2]:=
Out[2]=

@@Apply와 동일하게 취급하며 기본적으로 레벨 0에 적용합니다:

In[1]:=
Out[1]=

@@@은 "레벨 1에 적용"함을 의미합니다:

In[2]:=
Out[2]=

@은 보통 함수 적용을 의미합니다:

In[3]:=
Out[3]=

평가 후 g[{a, b, c}]를 얻는 것은 다음 중 무엇인가요?


평가 후 {{f[a], f[b]}, {f[c], f[d]}}를 얻는 것은 다음 중 무엇인가요?


평가 후 {{{f[a], f[b]}}, {{f[c], f[d]}}}를 얻는 것은 다음 중 무엇인가요?

© 2024 Wolfram. All rights reserved.