Title: Convert Python function to Java Function · Issue #17 · scijava/scyjava · GitHub
Open Graph Title: Convert Python function to Java Function · Issue #17 · scijava/scyjava
X Title: Convert Python function to Java Function · Issue #17 · scijava/scyjava
Description: It would be nice to support something like this: >>> def fib(n): ... if n == 0 or n == 1: ... return 1; ... return fib(n - 1) + fib(n - 2) ... >>> import scyjava >>> jfib = scyjava.convert.to_java(fib) >>> print(type(jfib)) Open Graph Description: It would be nice to support something like this: >>> def fib(n): ... if n == 0 or n == 1: ... return 1; ... return fib(n - 1) + fib(n - 2) ... >>> import scyjava >>> jfib = scyjava.convert.to_java(...
X Description: It would be nice to support something like this: >>> def fib(n): ... if n == 0 or n == 1: ... return 1; ... return fib(n - 1) + fib(n - 2) ... >>> import scyjava >>> jfib...
Opengraph URL: https://github.com/scijava/scyjava/issues/17
X: @github
Domain: github.com
Links:
Viewport: width=device-width
Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Convert Python function to Java Function","articleBody":"It would be nice to support something like this:\r\n```python\r\n\u003e\u003e\u003e def fib(n):\r\n... if n == 0 or n == 1:\r\n... return 1;\r\n... return fib(n - 1) + fib(n - 2)\r\n...\r\n\u003e\u003e\u003e import scyjava\r\n\u003e\u003e\u003e jfib = scyjava.convert.to_java(fib)\r\n\u003e\u003e\u003e print(type(jfib))\r\n\u003cclass 'scyjava.convert._convert.FunctionFromPython'\u003e\r\n\u003e\u003e\u003e\r\n```\r\n\r\nWhere `FunctionFromPython` is:\r\n```python\r\nfrom jnius import PythonJavaClass, java_method\r\n\r\nclass FunctionFromPython(PythonJavaClass):\r\n __javainterfaces__ = ['java/util/function/Function']\r\n\r\n def __init__(self, function):\r\n self.function = function\r\n\r\n @java_method('(Ljava/lang/Object;)Ljava/lang/Object;')\r\n def apply(self, t):\r\n return self.function(t)\r\n```\r\n\r\nThen anything operating on a Java `Function` can accept a Python `function` with appropriate conversion. For example:\r\n\r\n```python\r\njlist = ij.py.to_java([5, 4, 3, 2, 1])\r\nfibList = jlist.stream().map(jfib).toArray()\r\nprint(f'{type(fibList)}')\r\nprint(fibList)\r\n```\r\nPrints:\r\n```\r\n\u003cclass 'list'\u003e\r\n[8, 5, 3, 2, 1]\r\n```\r\n\r\n😎 ","author":{"url":"https://github.com/ctrueden","@type":"Person","name":"ctrueden"},"datePublished":"2020-06-18T18:10:15.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/17/scyjava/issues/17"}
route-pattern /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) route-controller voltron_issues_fragments route-action issue_layout fetch-nonce v2:bb4572a8-f1a7-fd58-a86a-0f2fbb8b3cf0 current-catalog-service-hash 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 request-id B0AE:166D49:300BBC:43807A:696A6751 html-safe-nonce d55f9b2cb5ce2e7c917afa5b9c4adc2cefbb320d6173fc7ee7f5a884fc89ccf5 visitor-payload eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMEFFOjE2NkQ0OTozMDBCQkM6NDM4MDdBOjY5NkE2NzUxIiwidmlzaXRvcl9pZCI6IjIwNTU1Mjc3OTAwNzU4NjQ5MTMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== visitor-hmac 33a441307a1e8e700c34d712b34b7b83dee739ce093e97b50e898592ec4fff4c hovercard-subject-tag issue:641451680 github-keyboard-shortcuts repository,issues,copilot google-site-verification Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I octolytics-url https://collector.github.com/github/collect analytics-location / fb:app_id 1401488693436528 apple-itunes-app app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/scijava/scyjava/17/issue_layout twitter:image https://opengraph.githubassets.com/a5a0e4278e2b249a31aaf649d4ebcc690627f3aeffd91cf31e64986674864eba/scijava/scyjava/issues/17 twitter:card summary_large_image og:image https://opengraph.githubassets.com/a5a0e4278e2b249a31aaf649d4ebcc690627f3aeffd91cf31e64986674864eba/scijava/scyjava/issues/17 og:image:alt It would be nice to support something like this: >>> def fib(n): ... if n == 0 or n == 1: ... return 1; ... return fib(n - 1) + fib(n - 2) ... >>> import scyjava >>> jfib = scyjava.convert.to_java(... og:image:width 1200 og:image:height 600 og:site_name GitHub og:type object og:author:username ctrueden hostname github.com expected-hostname github.com None 6fea32d5b7276b841b7a803796d9715bc6cfb31ed549fdf9de2948ac25d12ba6 turbo-cache-control no-preview go-import github.com/scijava/scyjava git https://github.com/scijava/scyjava.git octolytics-dimension-user_id 1262770 octolytics-dimension-user_login scijava octolytics-dimension-repository_id 113442144 octolytics-dimension-repository_nwo scijava/scyjava octolytics-dimension-repository_public true octolytics-dimension-repository_is_fork false octolytics-dimension-repository_network_root_id 113442144 octolytics-dimension-repository_network_root_nwo scijava/scyjava turbo-body-classes logged-out env-production page-responsive disable-turbo false browser-stats-url https://api.github.com/_private/browser/stats browser-errors-url https://api.github.com/_private/browser/errors release f2d9f6432a5a115ec709295ae70623f33bb80aee ui-target full theme-color #1e2327 color-scheme light dark
URLs of crawlers that visited me.