小编Seb*_*ien的帖子

Clojure:动态导入java类

假设我定义了这样的clojure函数:

(defn print-this [this] (println "print this: " this))
Run Code Online (Sandbox Code Playgroud)

如果我在repl中使用该函数:

(print-this that)
Run Code Online (Sandbox Code Playgroud)

我最终会:

print this: that
nil
Run Code Online (Sandbox Code Playgroud)

作为输出.

现在,如果我做出这样的定义:

(defn import-by-name [name] (import (some.package.value name)))
Run Code Online (Sandbox Code Playgroud)

并使用repl中的函数:

(import-by-name "SomeClassName")
Run Code Online (Sandbox Code Playgroud)

我明白了

java.lang.ClassNotFoundException: some.package.value.name (NO_SOURCE_FILE:0)
Run Code Online (Sandbox Code Playgroud)

我希望将"name"替换为"SomeClassName".如果我输入:

(import (some.package.value SomeClassName))
Run Code Online (Sandbox Code Playgroud)

一切都按预期工作.

为什么在上面的name-by-name函数中没有解释[name]?是否可以从变量值动态导入java类?如果是这样的话?谢谢!

java clojure

5
推荐指数
1
解决办法
1054
查看次数

如何在谷歌工作表的google-api-python-client中使用ValueRenderOption

这是一段代码:

import ast
from oauth2client import file, client, tools
from oauth2client.service_account import ServiceAccountCredentials
from httplib2 import Http
from apiclient.discovery import build
from apiclient import discovery

SCOPE = 'https://www.googleapis.com/auth/spreadsheets'
CREDJSON = "some-cred-file-downloaded-from-dev-console.json"

def google_credentials(jsoncred=CREDJSON, scope=SCOPE):
    return ServiceAccountCredentials.from_json_keyfile_name(jsoncred, scope)


def csv_arrays(creds, key):

    (SHEETS, sheets) = sheets_fetch(creds, key)

    wks = sheets
    def create_filename(arg):
        filename = key.prefix + "_" + arg.get("properties, {}).get("title","Sheet1")
        filename = filename.replace(" ", "_")
        print (filename)
        return filename
    return [(create_filename(ws), ast.literal_eval(repr(SHEETS.spreadsheets().values().get(spreadsheetId=key.key, range=(ws.get("properties", {}).get("title", "Sheet1"))).execute().get('values',[])))) for ws in wks] #.decode("utf-8")

def sheets_fetch(creds, …
Run Code Online (Sandbox Code Playgroud)

google-api-python-client google-sheets-api

1
推荐指数
1
解决办法
1003
查看次数